diff --git a/daemon/.gitignore b/daemon/.gitignore index 12e0d84bf27ecfd9fe19b1707bbf99218491658a..cb3a5fafd18b665edff6629659113f073f2af5bb 100644 --- a/daemon/.gitignore +++ b/daemon/.gitignore @@ -48,15 +48,15 @@ libs/dbus-c++/tools/.libs/ libs/dbus-c++/tools/dbusxx-introspect libs/dbus-c++/tools/dbusxx-xml2cpp -libs/pjproject-2.1.0/pjlib-util/build/os-auto.mak -libs/pjproject-2.1.0/pjlib/build/os-auto.mak -libs/pjproject-2.1.0/pjlib/include/pj/compat/m_auto.h -libs/pjproject-2.1.0/pjlib/include/pj/compat/os_auto.h -libs/pjproject-2.1.0/pjlib/include/pj/config_site.h -libs/pjproject-2.1.0/pjmedia/build/os-auto.mak -libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/config_auto.h -libs/pjproject-2.1.0/pjmedia/include/pjmedia/config_auto.h -libs/pjproject-2.1.0/pjsip/build/os-auto.mak -libs/pjproject-2.1.0/pjsip/include/pjsip/sip_autoconf.h -libs/pjproject-2.1.0/third_party/build/os-auto.mak -libs/pjproject-2.1.0/third_party/build/portaudio/os-auto.mak +libs/pjproject-2.2.1/pjlib-util/build/os-auto.mak +libs/pjproject-2.2.1/pjlib/build/os-auto.mak +libs/pjproject-2.2.1/pjlib/include/pj/compat/m_auto.h +libs/pjproject-2.2.1/pjlib/include/pj/compat/os_auto.h +libs/pjproject-2.2.1/pjlib/include/pj/config_site.h +libs/pjproject-2.2.1/pjmedia/build/os-auto.mak +libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/config_auto.h +libs/pjproject-2.2.1/pjmedia/include/pjmedia/config_auto.h +libs/pjproject-2.2.1/pjsip/build/os-auto.mak +libs/pjproject-2.2.1/pjsip/include/pjsip/sip_autoconf.h +libs/pjproject-2.2.1/third_party/build/os-auto.mak +libs/pjproject-2.2.1/third_party/build/portaudio/os-auto.mak diff --git a/daemon/configure.ac b/daemon/configure.ac index 81e90af5d1ebb639d6abb660f98aa960183cdd84..b617268a2a46dd82143c60142a11808720ac9d49 100644 --- a/daemon/configure.ac +++ b/daemon/configure.ac @@ -425,5 +425,5 @@ AC_CONFIG_FILES([Makefile \ # Go! AC_OUTPUT -AC_CONFIG_SUBDIRS([libs/pjproject-2.1.0]) -AC_MSG_NOTICE([[Configuration done! Please make sure that pjsip library (libs/pjproject-2.1.0) has already been compiled. Run `make' to build the software.]]) +AC_CONFIG_SUBDIRS([libs/pjproject-2.2.1]) +AC_MSG_NOTICE([[Configuration done! Please make sure that pjsip library (libs/pjproject-2.2.1) has already been compiled. Run `make' to build the software.]]) diff --git a/daemon/doc/doxygen/core-doc.cfg.in b/daemon/doc/doxygen/core-doc.cfg.in index 42850012d0b482098338d4cbeae6bdf28512c674..ed0964c10298dc7eb29d4e24681235080ee23621 100644 --- a/daemon/doc/doxygen/core-doc.cfg.in +++ b/daemon/doc/doxygen/core-doc.cfg.in @@ -640,7 +640,7 @@ RECURSIVE = YES # 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 = libs/pjproject-2.1.0 +EXCLUDE = libs/pjproject-2.2.1 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded diff --git a/daemon/globals.mak b/daemon/globals.mak index ecb2cc5918d011c2ecfbb227e3c9bb8721337593..dc0c1a381aad60da193da9ac086c1aad76339d05 100644 --- a/daemon/globals.mak +++ b/daemon/globals.mak @@ -7,7 +7,7 @@ sflplugindir=$(sfllibdir)/plugins ASTYLERC="$(top_srcdir)/../astylerc" indent="/usr/bin/astyle" -PJPROJECT_DIR=pjproject-2.1.0 +PJPROJECT_DIR=pjproject-2.2.1 # for pjsip include $(src)/libs/$(PJPROJECT_DIR)/build.mak diff --git a/daemon/libs/Makefile.am b/daemon/libs/Makefile.am index c3b9dc7f89969582e3a01ab629ec977b37c667aa..1c801a8667ef0866d7864d08d0751d253d7430b1 100644 --- a/daemon/libs/Makefile.am +++ b/daemon/libs/Makefile.am @@ -2,4 +2,4 @@ if USE_IAX SUBDIRS = iax2 endif -EXTRA_DIST=pjproject-2.1.0 +EXTRA_DIST=pjproject-2.2.1 diff --git a/daemon/libs/compile_pjsip.sh b/daemon/libs/compile_pjsip.sh index 62e01e0c659479d05a1b2dc8073d3cf9b6192f90..994e304602eeb8c816f2e80f853da67486eee1d6 100755 --- a/daemon/libs/compile_pjsip.sh +++ b/daemon/libs/compile_pjsip.sh @@ -15,5 +15,5 @@ OPTIONS="--disable-oss --disable-ffmpeg --disable-v4l2" # TODO: autotools should be doing this -cd "`dirname $BASH_SOURCE`"/pjproject-2.1.0 +cd "`dirname $BASH_SOURCE`"/pjproject-2.2.1 CFLAGS=-g ./configure $OPTIONS && make dep && make -j1 && echo "pjsip successfully compiled" diff --git a/daemon/libs/pjproject-2.1.0/COPYING b/daemon/libs/pjproject-2.1.0/COPYING deleted file mode 100644 index 2cf699059db9119e4eb3de718c9dbf2ba82a57f5..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/COPYING +++ /dev/null @@ -1,352 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -Preamble -======== - -The licenses for most software are designed to take away your freedom -to share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not price. -Our General Public Licenses are designed to make sure that you have -the freedom to distribute copies of free software (and charge for this -service if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone -to deny you these rights or to ask you to surrender the rights. These -restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis -or for a fee, you must give the recipients all the rights that you -have. You must make sure that they, too, receive or can get the source -code. And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - -Finally, any free program is threatened constantly by software patents. -We wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program -proprietary. To prevent this, we have made it clear that any patent -must be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 0. This License applies to any program or other work which contains a - notice placed by the copyright holder saying it may be distributed - under the terms of this General Public License. The "Program", - below, refers to any such program or work, and a "work based on - the Program" means either the Program or any derivative work under - copyright law: that is to say, a work containing the Program or a - portion of it, either verbatim or with modifications and/or - translated into another language. (Hereinafter, translation is - included without limitation in the term "modification".) Each - licensee is addressed as "you". - - Activities other than copying, distribution and modification are - not covered by this License; they are outside its scope. The act - of running the Program is not restricted, and the output from the - Program is covered only if its contents constitute a work based on - the Program (independent of having been made by running the - Program). Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's - source code as you receive it, in any medium, provided that you - conspicuously and appropriately publish on each copy an appropriate - copyright notice and disclaimer of warranty; keep intact all the - notices that refer to this License and to the absence of any - warranty; and give any other recipients of the Program a copy of - this License along with the Program. - - You may charge a fee for the physical act of transferring a copy, - and you may at your option offer warranty protection in exchange - for a fee. - - 2. You may modify your copy or copies of the Program or any portion - of it, thus forming a work based on the Program, and copy and - distribute such modifications or work under the terms of Section 1 - above, provided that you also meet all of these conditions: - - a. You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b. You must cause any work that you distribute or publish, that - in whole or in part contains or is derived from the Program - or any part thereof, to be licensed as a whole at no charge - to all third parties under the terms of this License. - - c. If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display - an announcement including an appropriate copyright notice and - a notice that there is no warranty (or else, saying that you - provide a warranty) and that users may redistribute the - program under these conditions, and telling the user how to - view a copy of this License. (Exception: if the Program - itself is interactive but does not normally print such an - announcement, your work based on the Program is not required - to print an announcement.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the - Program, and can be reasonably considered independent and separate - works in themselves, then this License, and its terms, do not - apply to those sections when you distribute them as separate - works. But when you distribute the same sections as part of a - whole which is a work based on the Program, the distribution of - the whole must be on the terms of this License, whose permissions - for other licensees extend to the entire whole, and thus to each - and every part regardless of who wrote it. - - Thus, it is not the intent of this section to claim rights or - contest your rights to work written entirely by you; rather, the - intent is to exercise the right to control the distribution of - derivative or collective works based on the Program. - - In addition, mere aggregation of another work not based on the - Program with the Program (or with a work based on the Program) on - a volume of a storage or distribution medium does not bring the - other work under the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, - under Section 2) in object code or executable form under the terms - of Sections 1 and 2 above provided that you also do one of the - following: - - a. Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of - Sections 1 and 2 above on a medium customarily used for - software interchange; or, - - b. Accompany it with a written offer, valid for at least three - years, to give any third-party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a - medium customarily used for software interchange; or, - - c. Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with - such an offer, in accord with Subsection b above.) - - The source code for a work means the preferred form of the work for - making modifications to it. For an executable work, complete - source code means all the source code for all modules it contains, - plus any associated interface definition files, plus the scripts - used to control compilation and installation of the executable. - However, as a special exception, the source code distributed need - not include anything that is normally distributed (in either - source or binary form) with the major components (compiler, - kernel, and so on) of the operating system on which the executable - runs, unless that component itself accompanies the executable. - - If distribution of executable or object code is made by offering - access to copy from a designated place, then offering equivalent - access to copy the source code from the same place counts as - distribution of the source code, even though third parties are not - compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense or distribute the Program is - void, and will automatically terminate your rights under this - License. However, parties who have received copies, or rights, - from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 5. You are not required to accept this License, since you have not - signed it. However, nothing else grants you permission to modify - or distribute the Program or its derivative works. These actions - are prohibited by law if you do not accept this License. - Therefore, by modifying or distributing the Program (or any work - based on the Program), you indicate your acceptance of this - License to do so, and all its terms and conditions for copying, - distributing or modifying the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the - Program), the recipient automatically receives a license from the - original licensor to copy, distribute or modify the Program - subject to these terms and conditions. You may not impose any - further restrictions on the recipients' exercise of the rights - granted herein. You are not responsible for enforcing compliance - by third parties to this License. - - 7. If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent - issues), conditions are imposed on you (whether by court order, - agreement or otherwise) that contradict the conditions of this - License, they do not excuse you from the conditions of this - License. If you cannot distribute so as to satisfy simultaneously - your obligations under this License and any other pertinent - obligations, then as a consequence you may not distribute the - Program at all. For example, if a patent license would not permit - royalty-free redistribution of the Program by all those who - receive copies directly or indirectly through you, then the only - way you could satisfy both it and this License would be to refrain - entirely from distribution of the Program. - - If any portion of this section is held invalid or unenforceable - under any particular circumstance, the balance of the section is - intended to apply and the section as a whole is intended to apply - in other circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of - any such claims; this section has the sole purpose of protecting - the integrity of the free software distribution system, which is - implemented by public license practices. Many people have made - generous contributions to the wide range of software distributed - through that system in reliance on consistent application of that - system; it is up to the author/donor to decide if he or she is - willing to distribute software through any other system and a - licensee cannot impose that choice. - - This section is intended to make thoroughly clear what is believed - to be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in - certain countries either by patents or by copyrighted interfaces, - the original copyright holder who places the Program under this - License may add an explicit geographical distribution limitation - excluding those countries, so that distribution is permitted only - in or among countries not thus excluded. In such case, this - License incorporates the limitation as if written in the body of - this License. - - 9. The Free Software Foundation may publish revised and/or new - versions of the General Public License from time to time. Such - new versions will be similar in spirit to the present version, but - may differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the - Program specifies a version number of this License which applies - to it and "any later version", you have the option of following - the terms and conditions either of that version or of any later - version published by the Free Software Foundation. If the Program - does not specify a version number of this License, you may choose - any version ever published by the Free Software Foundation. - - 10. If you wish to incorporate parts of the Program into other free - programs whose distribution conditions are different, write to the - author to ask for permission. For software which is copyrighted - by the Free Software Foundation, write to the Free Software - Foundation; we sometimes make exceptions for this. Our decision - will be guided by the two goals of preserving the free status of - all derivatives of our free software and of promoting the sharing - and reuse of software generally. - - NO WARRANTY - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO - WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE - LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT - HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT - NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE - QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE - PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY - SERVICING, REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY - MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE - LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, - INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR - INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF - DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU - OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY - OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS -How to Apply These Terms to Your New Programs -============================================= - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - -To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively convey -the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES. - Copyright (C) YYYY NAME OF AUTHOR - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the -appropriate parts of the General Public License. Of course, the -commands you use may be called something other than `show w' and `show -c'; they could even be mouse-clicks or menu items--whatever suits your -program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - SIGNATURE OF TY COON, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, -you may consider it more useful to permit linking proprietary -applications with the library. If this is what you want to do, use the -GNU Library General Public License instead of this License. - diff --git a/daemon/libs/pjproject-2.1.0/build.mak.in b/daemon/libs/pjproject-2.1.0/build.mak.in deleted file mode 100644 index 5ea6e79d6a875415b6a2fdb1cb32a37bae1ae99a..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/build.mak.in +++ /dev/null @@ -1,169 +0,0 @@ -export PJDIR := @ac_pjdir@ -include $(PJDIR)/version.mak -export PJ_DIR := $(PJDIR) - -# @configure_input@ -export MACHINE_NAME := auto -export OS_NAME := auto -export HOST_NAME := unix -export CC_NAME := gcc -export TARGET_NAME := @target@ -export CROSS_COMPILE := @ac_cross_compile@ -export LINUX_POLL := @ac_linux_poll@ -export SHLIB_SUFFIX := @ac_shlib_suffix@ - -export ac_prefix := @prefix@ - -LIB_SUFFIX = $(TARGET_NAME).a - -# Determine which party libraries to use -export APP_THIRD_PARTY_LIBS := -lmilenage-$(TARGET_NAME) -lsrtp-$(TARGET_NAME) -export APP_THIRD_PARTY_EXT := -export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libmilenage-$(LIB_SUFFIX) $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX) - -ifeq (@ac_resample_dll@,1) -export PJ_RESAMPLE_DLL := 1 -export APP_THIRD_PARTY_LIBS := -lresample $(APP_THIRD_PARTY_LIBS) -export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX) $(APP_THIRD_PARTY_LIB_FILES) -else -export APP_THIRD_PARTY_LIBS := -lresample-$(TARGET_NAME) $(APP_THIRD_PARTY_LIBS) -export APP_THIRD_PARTY_LIB_FILES := $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX) $(APP_THIRD_PARTY_LIB_FILES) -endif - -ifneq (@ac_no_gsm_codec@,1) -ifeq (@ac_external_gsm@,1) -# External GSM library -APP_THIRD_PARTY_EXT += -lgsm -else -APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME) -APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX) -endif -endif - -ifneq (@ac_no_speex_codec@,1) -ifeq (@ac_external_speex@,1) -APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp -else -APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME) -APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX) -endif -endif - -ifneq (@ac_no_ilbc_codec@,1) -APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME) -APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX) -endif - -ifneq (@ac_no_g7221_codec@,1) -APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME) -APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX) -endif - -ifneq ($(findstring pa,@ac_pjmedia_snd@),) -ifeq (@ac_external_pa@,1) -# External PA -APP_THIRD_PARTY_EXT += -lportaudio -else -APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME) -APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX) -endif -endif - -# Additional flags -@ac_build_mak_vars@ - -# -# Video -# Note: there are duplicated macros in pjmedia/os-auto.mak.in (and that's not -# good! - -# SDL flags -SDL_CFLAGS = @ac_sdl_cflags@ -SDL_LDFLAGS = @ac_sdl_ldflags@ - -# FFMPEG dlags -FFMPEG_CFLAGS = @ac_ffmpeg_cflags@ -FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@ - -# Video4Linux2 -V4L2_CFLAGS = @ac_v4l2_cflags@ -V4L2_LDFLAGS = @ac_v4l2_ldflags@ - -# QT -AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@ -QT_CFLAGS = @ac_qt_cflags@ - -# iOS -IOS_CFLAGS = @ac_ios_cflags@ - -# PJMEDIA features exclusion -PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \ - $(IOS_CFLAGS) -PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) - - -# CFLAGS, LDFLAGS, and LIBS to be used by applications -export APP_CC := @CC@ -export APP_CXX := @CXX@ -export APP_CFLAGS := -DPJ_AUTOCONF=1\ - @CFLAGS@\ - $(PJ_VIDEO_CFLAGS) \ - -I$(PJDIR)/pjlib/include\ - -I$(PJDIR)/pjlib-util/include\ - -I$(PJDIR)/pjnath/include\ - -I$(PJDIR)/pjmedia/include\ - -I$(PJDIR)/pjsip/include -export APP_CXXFLAGS := $(APP_CFLAGS) -export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\ - -L$(PJDIR)/pjlib-util/lib\ - -L$(PJDIR)/pjnath/lib\ - -L$(PJDIR)/pjmedia/lib\ - -L$(PJDIR)/pjsip/lib\ - -L$(PJDIR)/third_party/lib\ - $(PJ_VIDEO_LDFLAGS) \ - @LDFLAGS@ -export APP_LDLIBS := -lpjsua-$(TARGET_NAME)\ - -lpjsip-ua-$(TARGET_NAME)\ - -lpjsip-simple-$(TARGET_NAME)\ - -lpjsip-$(TARGET_NAME)\ - -lpjmedia-codec-$(TARGET_NAME)\ - -lpjmedia-videodev-$(TARGET_NAME)\ - -lpjmedia-$(TARGET_NAME)\ - -lpjmedia-audiodev-$(TARGET_NAME)\ - -lpjnath-$(TARGET_NAME)\ - -lpjlib-util-$(TARGET_NAME)\ - $(APP_THIRD_PARTY_LIBS)\ - $(APP_THIRD_PARTY_EXT)\ - -lpj-$(TARGET_NAME)\ - @LIBS@ -export APP_LIB_FILES = $(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \ - $(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \ - $(PJ_DIR)/pjsip/lib/libpjsip-simple-$(LIB_SUFFIX) \ - $(PJ_DIR)/pjsip/lib/libpjsip-$(LIB_SUFFIX) \ - $(PJ_DIR)/pjmedia/lib/libpjmedia-codec-$(LIB_SUFFIX) \ - $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev-$(LIB_SUFFIX) \ - $(PJ_DIR)/pjmedia/lib/libpjmedia-$(LIB_SUFFIX) \ - $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev-$(LIB_SUFFIX) \ - $(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \ - $(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \ - $(APP_THIRD_PARTY_LIB_FILES) \ - $(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX) - -# Here are the variabels to use if application is using the library -# from within the source distribution -export PJ_CC := $(APP_CC) -export PJ_CXX := $(APP_CXX) -export PJ_CFLAGS := $(APP_CFLAGS) -export PJ_CXXFLAGS := $(APP_CXXFLAGS) -export PJ_LDFLAGS := $(APP_LDFLAGS) -export PJ_LDLIBS := $(APP_LDLIBS) -export PJ_LIB_FILES := $(APP_LIB_FILES) - -# And here are the variables to use if application is using the -# library from the install location (i.e. --prefix) -export PJ_INSTALL_DIR := @prefix@ -export PJ_INSTALL_INC_DIR := $(PJ_INSTALL_DIR)/include -export PJ_INSTALL_LIB_DIR := $(PJ_INSTALL_DIR)/lib -export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @CFLAGS@ -export PJ_INSTALL_CXXFLAGS := $(PJ_INSTALL_CFLAGS) -export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS) diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua.mmp b/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua.mmp deleted file mode 100644 index af85b710bbe559c8c4f30f9c8a8f20bbe420059e..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua.mmp +++ /dev/null @@ -1,84 +0,0 @@ -// These part may be overwritten by automated test -// =BEGIN -#define SND_HAS_APS 0 -#define SND_HAS_VAS 0 -#define SND_HAS_MDA 1 -// =END - -TARGET symbian_ua.exe -TARGETTYPE exe -//UID 0x0 0x200235D3 -UID 0x0 0xA000000D - -SOURCEPATH ..\pjsip-apps\src\symbian_ua - -OPTION ARMCC --gnu - -MACRO PJ_M_I386=1 -MACRO PJ_SYMBIAN=1 - -// Source files - -SOURCE ua.cpp -SOURCE main_symbian.cpp - -DOCUMENT ua.h - -START RESOURCE symbian_ua_reg.rss - TARGETPATH \private\10003a3f\apps -END - -SYSTEMINCLUDE ..\pjlib\include -SYSTEMINCLUDE ..\pjlib-util\include -SYSTEMINCLUDE ..\pjnath\include -SYSTEMINCLUDE ..\pjmedia\include -SYSTEMINCLUDE ..\pjsip\include - -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE \epoc32\include\libc - -// Ordering static libs based on dependencies, most to least dependent, -// this could be necessary for some SDKs, e.g: S60 3rd MR -STATICLIBRARY pjsua_lib.lib -STATICLIBRARY pjsip_ua.lib pjsip_simple.lib pjsip.lib -STATICLIBRARY libgsmcodec.lib libspeexcodec.lib -STATICLIBRARY libg7221codec.lib libpassthroughcodec.lib -STATICLIBRARY pjmedia.lib -STATICLIBRARY pjmedia_audiodev.lib -STATICLIBRARY pjsdp.lib -STATICLIBRARY pjnath.lib -STATICLIBRARY pjlib_util.lib pjlib.lib -STATICLIBRARY libsrtp.lib -STATICLIBRARY libresample.lib - -#if SND_HAS_APS - LIBRARY APSSession2.lib -#endif - -#if SND_HAS_VAS - LIBRARY VoIPAudioIntfc.lib -#endif - -#if SND_HAS_MDA - LIBRARY mediaclientaudiostream.lib - LIBRARY mediaclientaudioinputstream.lib -#endif - -#if SND_HAS_APS || SND_HAS_VAS - CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD -#else - CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment -#endif - -#ifdef WINSCW - STATICLIBRARY eexe.lib ecrt0.lib -#endif - -LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib commdb.lib apengine.lib -LIBRARY securesocket.lib x509.lib crypto.lib x500.lib -LIBRARY hal.lib efsrv.lib - -// The default 8KB seems to be insufficient with all bells and -// whistles turned on -EPOCSTACKSIZE 12288 - diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua.pkg b/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua.pkg deleted file mode 100644 index 32894c38215a5ccb588701e748a7211e7b298b35..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua.pkg +++ /dev/null @@ -1,19 +0,0 @@ -; symbian_ua.pkg - -; Languages -&EN - -; Header -;#{"symbian_ua"},(0x200235D3), 0, 1, 1 -#{"symbian_ua"},(0xA000000D), 0, 1, 1 - -; Platform compatibility -[0x101F7961], *, *, *,{"Series60ProductID"} - -; vendor -%{"PJSIP"} -:"PJSIP" - -; Target -"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\symbian_ua.exe"-"!:\sys\bin\symbian_ua.exe" -"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\symbian_ua_reg.rSC"-"!:\private\10003a3f\import\apps\symbian_ua_reg.rSC" diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua_udeb.pkg b/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua_udeb.pkg deleted file mode 100644 index 5c255bf00646311f3aa33058ccc37cd96f730442..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua_udeb.pkg +++ /dev/null @@ -1,21 +0,0 @@ -; symbian_ua_udeb.pkg - -; for Carbide development, please use symbian_ua.pkg for comfortness -; (epoc32 path, platform, and target are set automatically using env vars) - -; Languages -&EN - -; Header -#{"symbian_ua"},(0x200235D3), 0, 1, 1 - -; Platform compatibility -[0x101F7961], *, *, *,{"Series60ProductID"} - -; vendor -%{"PJSIP"} -:"PJSIP" - -; Target -"C:\Symbian\9.2\S60_3rd_FP1\epoc32\release\gcce\UDEB\symbian_ua.exe"-"!:\sys\bin\symbian_ua.exe" -"C:\Symbian\9.2\S60_3rd_FP1\epoc32\data\z\private\10003a3f\apps\symbian_ua_reg.rSC"-"!:\private\10003a3f\import\apps\symbian_ua_reg.rSC" diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua_urel.pkg b/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua_urel.pkg deleted file mode 100644 index 3bd609829e3b687149df21ee135adc1f98806d73..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_ua_urel.pkg +++ /dev/null @@ -1,21 +0,0 @@ -; symbian_ua.pkg - -; for Carbide development, please use symbian_ua.pkg for comfortness -; (epoc32 path, platform, and target are set automatically using env vars) - -; Languages -&EN - -; Header -#{"symbian_ua"},(0x200235D3), 0, 1, 1 - -; Platform compatibility -[0x101F7961], *, *, *,{"Series60ProductID"} - -; vendor -%{"PJSIP"} -:"PJSIP" - -; Target -"C:\Symbian\9.1\S60_3rd_MR\epoc32\release\gcce\UREL\symbian_ua.exe"-"!:\sys\bin\symbian_ua.exe" -"C:\Symbian\9.1\S60_3rd_MR\epoc32\data\z\private\10003a3f\apps\symbian_ua_reg.rSC"-"!:\private\10003a3f\import\apps\symbian_ua_reg.rSC" diff --git a/daemon/libs/pjproject-2.1.0/configure-bb10 b/daemon/libs/pjproject-2.1.0/configure-bb10 deleted file mode 100755 index e29f52f4a79f1625492f27a84a48ad0070399b26..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/configure-bb10 +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -# - -F="configure-bb10" - -if test "$*" = "--help" -o "$*" = "-h"; then - echo "$F [--simulator] [OPTIONS]" - echo "" - echo "where:" - echo " --simulator Optional parameter to specify that the compilation" - echo " target is a simulator." - echo " OPTIONS Other options that will be passed directly to" - echo " ./aconfigure script. Run ./aconfigure --help" - echo " for more info." - exit 0 -fi - -if test "$1" = "--simulator"; then - shift - TARGET_ARCH="x86" - TARGET_ARCHEND=${TARGET_ARCH} - LIBDIR=${TARGET_ARCH} - TARGET_HOST="i486-pc-nto-qnx8.0.0" -else - TARGET_ARCH="armv7" - TARGET_ARCHEND="${TARGET_ARCH}le" - LIBDIR="armle-v7" - TARGET_HOST="arm-unknown-nto-qnx8.0.0eabi" -fi - -RANLIB="${QNX_HOST}/usr/bin/nto${TARGET_ARCH}-ranlib " -CPP="${QNX_HOST}/usr/bin/qcc -V4.6.3,gcc_nto${TARGET_ARCHEND}_cpp -E " -CC="${QNX_HOST}/usr/bin/qcc -V4.6.3,gcc_nto${TARGET_ARCHEND}_cpp " -LD="${QNX_HOST}/usr/bin/nto${TARGET_ARCH}-ld " -export LDFLAGS=" -L${QNX_TARGET}/${LIBDIR}/usr/lib -L${QNX_TARGET}/${LIBDIR}/lib -L${QNX_HOST}/usr/lib/gcc/${TARGET_HOST}/4.6.3 -lgcc -lasound -laudio_manager" -export CFLAGS=" -g -fPIC -DPJMEDIA_AUDIO_DEV_HAS_BB10=1 " - -./configure --host=${TARGET_HOST} --disable-oss $* diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/Samples.mak b/daemon/libs/pjproject-2.1.0/pjsip-apps/build/Samples.mak deleted file mode 100644 index e4aca9297dd356b0d9196b73665d3fd7091729d8..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/Samples.mak +++ /dev/null @@ -1,78 +0,0 @@ - -include ../../build/common.mak - - -############################################################################### -# Gather all flags. -# -export _CFLAGS := $(PJ_CFLAGS) $(CFLAGS) -export _CXXFLAGS:= $(PJ_CXXFLAGS) -export _LDFLAGS := $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS) - -SRCDIR := ../src/samples -OBJDIR := ./output/samples-$(TARGET_NAME) -BINDIR := ../bin/samples/$(TARGET_NAME) - -SAMPLES := auddemo \ - aviplay \ - aectest \ - aviplay \ - confsample \ - encdec \ - httpdemo \ - icedemo \ - jbsim \ - latency \ - level \ - mix \ - pjsip-perf \ - pcaputil \ - playfile \ - playsine \ - recfile \ - resampleplay \ - simpleua \ - simple_pjsua \ - sipecho \ - siprtp \ - sipstateless \ - stateful_proxy \ - stateless_proxy \ - stereotest \ - streamutil \ - strerror \ - tonegen \ - vid_streamutil - -EXES := $(foreach file, $(SAMPLES), $(BINDIR)/$(file)$(HOST_EXE)) - -all: $(BINDIR) $(OBJDIR) $(EXES) - -$(BINDIR)/%$(HOST_EXE): $(OBJDIR)/%$(OBJEXT) $(PJ_LIB_FILES) - $(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$@) \ - $(subst /,$(HOST_PSEP),$<) \ - $(_LDFLAGS) - -$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.c - $(CC) $(_CFLAGS) \ - $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \ - $(subst /,$(HOST_PSEP),$<) - -$(OBJDIR): - $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) - -$(BINDIR): - $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) - -depend: - -clean: - $(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)/*),$(HOST_RMR)) - $(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)),$(HOST_RMDIR)) - $(subst @@,$(EXES),$(HOST_RM)) - rm -rf $(BINDIR) - -distclean realclean: clean -# $(subst @@,$(subst /,$(HOST_PSEP),$(EXES)) $(subst /,$(HOST_PSEP),$(EXES)),$(HOST_RM)) -# $(subst @@,$(DEP_FILE),$(HOST_RM)) - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ConfigViewController.m b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ConfigViewController.m deleted file mode 100644 index 686ad44ba56a91523c08608216e293561de12e31..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ConfigViewController.m +++ /dev/null @@ -1,158 +0,0 @@ -/* $Id: ConfigViewController.m 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#import "ConfigViewController.h" -#import "ipjsuaAppDelegate.h" - - -@implementation ConfigViewController -@synthesize textView; -@synthesize button1; -@synthesize button2; - -bool kshow = false; - -/* - // The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { - // Custom initialization - } - return self; -} -*/ - -/* -// Implement loadView to create a view hierarchy programmatically, without using a nib. -- (void)loadView { -} -*/ - -- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event -{ - // Dismiss the keyboard when the view outside the text view is touched. - [textView resignFirstResponder]; - [super touchesBegan:touches withEvent:event]; -} - -// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. -- (void)viewDidLoad { - [super viewDidLoad]; - - [textView setFont:[UIFont fontWithName:@"Courier" size:10]]; - ipjsuaAppDelegate *appd = (ipjsuaAppDelegate *)[[UIApplication sharedApplication] delegate]; - appd.cfgView = self; - - /* Load config file and display it in the text view */ - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); - NSString *cfgPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"/config.cfg"]; - textView.text = [NSMutableString stringWithContentsOfFile:cfgPath encoding:NSASCIIStringEncoding error:NULL]; - - /* Add keyboard show/hide notifications so that we can resize the text view */ - kshow = false; - NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; - [nc addObserver:self selector:@selector(keyboardWillShow:) name: UIKeyboardWillShowNotification object:nil]; - [nc addObserver:self selector:@selector(keyboardWillHide:) name: UIKeyboardWillHideNotification object:nil]; - - /* Add button press event-handlers */ - [self.button1 addTarget:self action:@selector(button1Pressed:) forControlEvents:(UIControlEvents)UIControlEventTouchDown]; - [self.button2 addTarget:self action:@selector(button2Pressed:) forControlEvents:(UIControlEvents)UIControlEventTouchDown]; -} - --(void) keyboardWillShow:(NSNotification *) note -{ - if (kshow) return; - - /* Shrink the text view area when the keyboard appears */ - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationDuration:0.3]; - CGRect r = self.textView.frame, t; - [[note.userInfo valueForKey:UIKeyboardBoundsUserInfoKey] getValue: &t]; - r.size.height -= t.size.height - 51; - self.textView.frame = r; - [UIView commitAnimations]; - kshow = true; - - [self.button1 setEnabled:true]; - [self.button1.titleLabel setEnabled:true]; - [self.button2 setEnabled:true]; - [self.button2.titleLabel setEnabled:true]; -} - --(void) keyboardWillHide:(NSNotification *) note -{ - CGRect r = self.textView.frame, t; - [[note.userInfo valueForKey:UIKeyboardBoundsUserInfoKey] getValue: &t]; - r.size.height += t.size.height - 51; - self.textView.frame = r; - kshow = false; -} - -- (void)button1Pressed:(id)sender { - /* Save the config file */ - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); - NSString *cfgPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"/config.cfg"]; - [self.textView.text writeToFile:cfgPath atomically:NO encoding:NSASCIIStringEncoding error:NULL]; - - [self.textView resignFirstResponder]; - [self.button1 setEnabled:false]; - [self.button1.titleLabel setEnabled:false]; - [self.button2 setEnabled:false]; - [self.button2.titleLabel setEnabled:false]; -} - -- (void)button2Pressed:(id)sender { - /* Reload the config file */ - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); - NSString *cfgPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"/config.cfg"]; - self.textView.text = [NSMutableString stringWithContentsOfFile:cfgPath encoding:NSASCIIStringEncoding error:NULL]; - - [self.textView resignFirstResponder]; - [self.button1 setEnabled:false]; - [self.button1.titleLabel setEnabled:false]; - [self.button2 setEnabled:false]; - [self.button2.titleLabel setEnabled:false]; -} - -/* -// Override to allow orientations other than the default portrait orientation. -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - // Return YES for supported orientations - return (interfaceOrientation == UIInterfaceOrientationPortrait); -} -*/ - -- (void)didReceiveMemoryWarning { - // Releases the view if it doesn't have a superview. - [super didReceiveMemoryWarning]; - - // Release any cached data, images, etc that aren't in use. -} - -- (void)viewDidUnload { - // Release any retained subviews of the main view. - // e.g. self.myOutlet = nil; -} - - -- (void)dealloc { - [super dealloc]; -} - - -@end diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/FirstViewController.m b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/FirstViewController.m deleted file mode 100644 index 8edbb05f74b6cf1ab186a58c36c23fa6b9230880..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/FirstViewController.m +++ /dev/null @@ -1,107 +0,0 @@ -/* $Id: FirstViewController.m 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#import "FirstViewController.h" -#import "ipjsuaAppDelegate.h" - - -@implementation FirstViewController -@synthesize textField; -@synthesize textView; -@synthesize button1; -@synthesize text; -@synthesize hasInput; - -- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { - // When the user presses return, take focus away from the text field so that the keyboard is dismissed. - if (theTextField == textField) { - [self.textField resignFirstResponder]; - self.hasInput = true; - self.text = [textField.text stringByAppendingString:@"\n"]; - textField.text = @""; - } - return YES; -} - - -- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event -{ - // Dismiss the keyboard when the view outside the text field is touched. - [textField resignFirstResponder]; - [super touchesBegan:touches withEvent:event]; -} - -/* -// The designated initializer. Override to perform setup that is required before the view is loaded. -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { - // Custom initialization - } - return self; -} -*/ - -/* -// Implement loadView to create a view hierarchy programmatically, without using a nib. -- (void)loadView { -} -*/ - -// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. -- (void)viewDidLoad { - [super viewDidLoad]; - - [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; - - ipjsuaAppDelegate *appd = (ipjsuaAppDelegate *)[[UIApplication sharedApplication] delegate]; - appd.mainView = self; - textField.delegate = self; - [self.textView setFont:[UIFont fontWithName:@"Courier New" size:8.9]]; - [self.textField setEnabled: false]; - [button1 addTarget:self action:@selector(button1Pressed:) forControlEvents:(UIControlEvents)UIControlEventTouchDown]; -} - -- (void)button1Pressed:(id)sender { - /* Clear the text view */ - self.textView.text = @""; -} - -// Override to allow orientations other than the default portrait orientation. -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - // Return YES for supported orientations - return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); -} - -- (void)didReceiveMemoryWarning { - // Releases the view if it doesn't have a superview. - [super didReceiveMemoryWarning]; - - // Release any cached data, images, etc that aren't in use. -} - -- (void)viewDidUnload { - // Release any retained subviews of the main view. - // e.g. self.myOutlet = nil; -} - - -- (void)dealloc { - [super dealloc]; -} - -@end diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.h deleted file mode 100644 index caf2f5df6688c7b7956d2a0087cffb18a4049acb..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.h +++ /dev/null @@ -1,37 +0,0 @@ -/* $Id: ipjsuaAppDelegate.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#import <UIKit/UIKit.h> -#import "ConfigViewController.h" -#import "FirstViewController.h" -#import "TabBarController.h" - -@interface ipjsuaAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> { - UIWindow *window; - ConfigViewController *cfgView; - FirstViewController *mainView; - TabBarController *tabBarController; -} - -@property (nonatomic, retain) IBOutlet UIWindow *window; -@property (nonatomic, retain) IBOutlet TabBarController *tabBarController; -@property (nonatomic, retain) IBOutlet ConfigViewController *cfgView; -@property (nonatomic, retain) FirstViewController *mainView; - - -@end diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.m b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.m deleted file mode 100644 index c60084db22c38be50d63094d1079ff8299a66a95..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ipjsuaAppDelegate.m +++ /dev/null @@ -1,252 +0,0 @@ -/* $Id: ipjsuaAppDelegate.m 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#import <pjlib.h> -#import <pjsua.h> -#import "ipjsuaAppDelegate.h" - -extern pj_log_func *log_cb; - -@implementation ipjsuaAppDelegate -@synthesize window; -@synthesize tabBarController; -@synthesize mainView; -@synthesize cfgView; - -/* Sleep interval duration */ -#define SLEEP_INTERVAL 0.5 -/* Determine whether we should print the messages in the debugger - * console as well - */ -#define DEBUGGER_PRINT 1 -/* Whether we should show pj log messages in the text area */ -#define SHOW_LOG 1 -#define PATH_LENGTH PJ_MAXPATH -#define KEEP_ALIVE_INTERVAL 600 - -extern pj_bool_t app_restart; - -char argv_buf[PATH_LENGTH]; -char *argv[] = {"", "--config-file", argv_buf}; - -ipjsuaAppDelegate *app; - -bool app_running; -bool thread_quit; -NSMutableString *mstr; -pj_thread_desc a_thread_desc; -pj_thread_t *a_thread; -pjsua_call_id ccall_id; - -pj_status_t app_init(int argc, char *argv[]); -pj_status_t app_main(void); -pj_status_t app_destroy(void); -void keepAliveFunction(int timeout); - -void showMsg(const char *format, ...) -{ - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - va_list arg; - - va_start(arg, format); - NSString *str = [[NSString alloc] initWithFormat:[NSString stringWithFormat:@"%s", format] arguments: arg]; -#if DEBUGGER_PRINT - NSLog(@"%@", str); -#endif - va_end(arg); - - [mstr appendString:str]; - [pool release]; -} - -char * getInput(char *s, int n, FILE *stream) -{ - if (stream != stdin) { - return fgets(s, n, stream); - } - - app.mainView.hasInput = false; - [app.mainView.textField setEnabled: true]; - [app performSelectorOnMainThread:@selector(displayMsg:) withObject:mstr waitUntilDone:YES]; - [mstr setString:@""]; - - while (!thread_quit && !app.mainView.hasInput) { - int ctr = 0; - [NSThread sleepForTimeInterval:SLEEP_INTERVAL]; - if (ctr == 4) { - [app performSelectorOnMainThread:@selector(displayMsg:) withObject:mstr waitUntilDone:YES]; - [mstr setString:@""]; - ctr = 0; - } - ctr++; - } - - [app.mainView.text getCString:s maxLength:n encoding:NSASCIIStringEncoding]; - [app.mainView.textField setEnabled: false]; - [app performSelectorOnMainThread:@selector(displayMsg:) withObject:app.mainView.text waitUntilDone:NO]; - - return s; -} - -void showLog(int level, const char *data, int len) -{ - showMsg("%s", data); -} - -pj_bool_t showNotification(pjsua_call_id call_id) -{ -#ifdef __IPHONE_4_0 - ccall_id = call_id; - - // Create a new notification - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - UILocalNotification* alert = [[[UILocalNotification alloc] init] autorelease]; - if (alert) - { - alert.repeatInterval = 0; - alert.alertBody = @"Incoming call received..."; - alert.alertAction = @"Answer"; - - [[UIApplication sharedApplication] presentLocalNotificationNow:alert]; - } - - [pool release]; - - return PJ_FALSE; -#else - return PJ_TRUE; -#endif -} - -- (void)answer_call { - if (!pj_thread_is_registered()) - { - pj_thread_register("ipjsua", a_thread_desc, &a_thread); - } - pjsua_call_answer(ccall_id, 200, NULL, NULL); -} - -#ifdef __IPHONE_4_0 -- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { - [app performSelectorOnMainThread:@selector(answer_call) withObject:nil waitUntilDone:YES]; -} - -- (void)keepAlive { - if (!pj_thread_is_registered()) - { - pj_thread_register("ipjsua", a_thread_desc, &a_thread); - } - keepAliveFunction(KEEP_ALIVE_INTERVAL); -} - -- (void)applicationDidEnterBackground:(UIApplication *)application -{ - [app performSelectorOnMainThread:@selector(keepAlive) withObject:nil waitUntilDone:YES]; - [application setKeepAliveTimeout:KEEP_ALIVE_INTERVAL handler: ^{ - [app performSelectorOnMainThread:@selector(keepAlive) withObject:nil waitUntilDone:YES]; - }]; -} - -#endif - -- (void)start_app { - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - /* Wait until the view is ready */ - while (self.mainView == nil) { - [NSThread sleepForTimeInterval:SLEEP_INTERVAL]; - } - - [NSThread setThreadPriority:1.0]; - mstr = [NSMutableString stringWithCapacity:4196]; -#if SHOW_LOG - pj_log_set_log_func(&showLog); - log_cb = &showLog; -#endif - - do { - app_restart = PJ_FALSE; - if (app_init(3, argv) != PJ_SUCCESS) { - NSString *str = @"Failed to initialize pjsua\n"; - [app performSelectorOnMainThread:@selector(displayMsg:) withObject:str waitUntilDone:YES]; - } else { - app_running = true; - app_main(); - - app_destroy(); - /* This is on purpose */ - app_destroy(); - } - - [app performSelectorOnMainThread:@selector(displayMsg:) withObject:mstr waitUntilDone:YES]; - [mstr setString:@""]; - } while (app_restart); - - [pool release]; -} - -- (void)displayMsg:(NSString *)str { - self.mainView.textView.text = [self.mainView.textView.text stringByAppendingString:str]; - [self.mainView.textView scrollRangeToVisible:NSMakeRange([self.mainView.textView.text length] - 1, 1)]; -} - -- (void)applicationDidFinishLaunching:(UIApplication *)application { - /* If there is no config file in the document dir, copy the default config file into the directory */ - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); - NSString *cfgPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"/config.cfg"]; - if (![[NSFileManager defaultManager] fileExistsAtPath:cfgPath]) { - NSString *resPath = [[NSBundle mainBundle] pathForResource:@"config" ofType:@"cfg"]; - NSString *cfg = [NSString stringWithContentsOfFile:resPath encoding:NSASCIIStringEncoding error:NULL]; - [cfg writeToFile:cfgPath atomically:NO encoding:NSASCIIStringEncoding error:NULL]; - } - [cfgPath getCString:argv[2] maxLength:PATH_LENGTH encoding:NSASCIIStringEncoding]; - - // Add the tab bar controller's current view as a subview of the window - [window addSubview:tabBarController.view]; - [window makeKeyAndVisible]; - - app = self; - app_running = false; - thread_quit = false; - /* Start pjsua thread */ - [NSThread detachNewThreadSelector:@selector(start_app) toTarget:self withObject:nil]; -} - -/* -// Optional UITabBarControllerDelegate method -- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { -} -*/ - -/* -// Optional UITabBarControllerDelegate method -- (void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed { -} -*/ - - -- (void)dealloc { - thread_quit = true; - [NSThread sleepForTimeInterval:SLEEP_INTERVAL]; - - [tabBarController release]; - [window release]; - [super dealloc]; -} - -@end - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/MainWindow.xib b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/MainWindow.xib deleted file mode 100644 index dfdc90fa7ddd36be9f59f6d6d2d8f44327f86e25..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/MainWindow.xib +++ /dev/null @@ -1,780 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10"> - <data> - <int key="IBDocument.SystemTarget">784</int> - <string key="IBDocument.SystemVersion">10C540</string> - <string key="IBDocument.InterfaceBuilderVersion">740</string> - <string key="IBDocument.AppKitVersion">1038.25</string> - <string key="IBDocument.HIToolboxVersion">458.00</string> - <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> - <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string key="NS.object.0">62</string> - </object> - <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> - <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="106"/> - </object> - <object class="NSArray" key="IBDocument.PluginDependencies"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - </object> - <object class="NSMutableDictionary" key="IBDocument.Metadata"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys" id="0"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBProxyObject" id="841351856"> - <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> - </object> - <object class="IBProxyObject" id="532797962"> - <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> - </object> - <object class="IBUICustomObject" id="664661524"/> - <object class="IBUIWindow" id="380026005"> - <nil key="NSNextResponder"/> - <int key="NSvFlags">1316</int> - <object class="NSPSMatrix" key="NSFrameMatrix"/> - <string key="NSFrameSize">{320, 480}</string> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MSAxIDEAA</bytes> - </object> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> - <bool key="IBUIVisibleAtLaunch">YES</bool> - </object> - <object class="IBUITabBarController" id="1034742383"> - <object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/> - <object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics"> - <int key="IBUIBarStyle">2</int> - <bool key="IBUIPrompted">NO</bool> - </object> - <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"> - <int key="IBUIStatusBarStyle">2</int> - </object> - <bool key="IBUIHorizontal">YES</bool> - <object class="IBUIViewController" key="IBUISelectedViewController" id="1024858337"> - <object class="IBUIView" key="IBUIView" id="434903890"> - <reference key="NSNextResponder"/> - <int key="NSvFlags">274</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBUITextView" id="876077251"> - <reference key="NSNextResponder" ref="434903890"/> - <int key="NSvFlags">306</int> - <string key="NSFrame">{{0, 34}, {480, 217}}</string> - <reference key="NSSuperview" ref="434903890"/> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC45ODE5Mjc3MTA4IDAuOTYzODU1NDIxNyAxIDAAA</bytes> - </object> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClipsSubviews">YES</bool> - <bool key="IBUIMultipleTouchEnabled">YES</bool> - <bool key="IBUIDelaysContentTouches">NO</bool> - <bool key="IBUICanCancelContentTouches">NO</bool> - <float key="IBUIMinimumZoomScale">0.0</float> - <float key="IBUIMaximumZoomScale">0.0</float> - <bool key="IBUIBouncesZoom">NO</bool> - <bool key="IBUIEditable">NO</bool> - <string key="IBUIText"/> - <object class="IBUITextInputTraits" key="IBUITextInputTraits"/> - </object> - <object class="IBUITextField" id="625972407"> - <reference key="NSNextResponder" ref="434903890"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{7, 0}, {323, 31}}</string> - <reference key="NSSuperview" ref="434903890"/> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <int key="IBUIContentVerticalAlignment">0</int> - <string key="IBUIText"/> - <int key="IBUIBorderStyle">3</int> - <string key="IBUIPlaceholder">Insert command here</string> - <object class="NSColor" key="IBUITextColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MAA</bytes> - <object class="NSColorSpace" key="NSCustomColorSpace"> - <int key="NSID">2</int> - </object> - </object> - <bool key="IBUIAdjustsFontSizeToFit">YES</bool> - <float key="IBUIMinimumFontSize">17</float> - <object class="IBUITextInputTraits" key="IBUITextInputTraits"> - <int key="IBUIAutocorrectionType">1</int> - <int key="IBUIKeyboardType">1</int> - <int key="IBUIReturnKeyType">1</int> - </object> - <int key="IBUIClearButtonMode">1</int> - </object> - <object class="IBUIButton" id="808516100"> - <reference key="NSNextResponder" ref="434903890"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{351, 0}, {90, 32}}</string> - <reference key="NSSuperview" ref="434903890"/> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <int key="IBUIContentHorizontalAlignment">0</int> - <int key="IBUIContentVerticalAlignment">0</int> - <object class="NSFont" key="IBUIFont"> - <string key="NSName">Helvetica-Bold</string> - <double key="NSSize">15</double> - <int key="NSfFlags">16</int> - </object> - <int key="IBUIButtonType">1</int> - <string key="IBUINormalTitle">Clear view</string> - <object class="NSColor" key="IBUIHighlightedTitleColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MQA</bytes> - </object> - <object class="NSColor" key="IBUINormalTitleColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> - </object> - <object class="NSColor" key="IBUINormalTitleShadowColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC41AA</bytes> - </object> - </object> - </object> - <string key="NSFrameSize">{480, 251}</string> - <reference key="NSSuperview"/> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC42NDQxOTgyNzA4IDAuNzgwNDMyODUxOSAwLjg2NDEzMDQzNDgAA</bytes> - </object> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - </object> - <object class="IBUITabBarItem" key="IBUITabBarItem" id="765670903"> - <string key="IBUITitle">ipjsua</string> - <reference key="IBUITabBar"/> - </object> - <reference key="IBUIParentViewController" ref="1034742383"/> - </object> - <object class="NSMutableArray" key="IBUIViewControllers"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="1024858337"/> - <object class="IBUIViewController" id="268481961"> - <object class="IBUITabBarItem" key="IBUITabBarItem" id="807309489"> - <string key="IBUITitle">Config</string> - <reference key="IBUITabBar"/> - </object> - <reference key="IBUIParentViewController" ref="1034742383"/> - <string key="IBUINibName">SecondView</string> - </object> - </object> - <object class="IBUITabBar" key="IBUITabBar" id="795333663"> - <nil key="NSNextResponder"/> - <int key="NSvFlags">266</int> - <string key="NSFrame">{{129, 330}, {163, 49}}</string> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MCAwAA</bytes> - </object> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - </object> - </object> - </object> - <object class="IBObjectContainer" key="IBDocument.Objects"> - <object class="NSMutableArray" key="connectionRecords"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">window</string> - <reference key="source" ref="664661524"/> - <reference key="destination" ref="380026005"/> - </object> - <int key="connectionID">9</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">delegate</string> - <reference key="source" ref="841351856"/> - <reference key="destination" ref="664661524"/> - </object> - <int key="connectionID">99</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">tabBarController</string> - <reference key="source" ref="664661524"/> - <reference key="destination" ref="1034742383"/> - </object> - <int key="connectionID">113</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">textField</string> - <reference key="source" ref="1024858337"/> - <reference key="destination" ref="625972407"/> - </object> - <int key="connectionID">129</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">textView</string> - <reference key="source" ref="1024858337"/> - <reference key="destination" ref="876077251"/> - </object> - <int key="connectionID">135</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">delegate</string> - <reference key="source" ref="1034742383"/> - <reference key="destination" ref="664661524"/> - </object> - <int key="connectionID">136</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">button1</string> - <reference key="source" ref="1024858337"/> - <reference key="destination" ref="808516100"/> - </object> - <int key="connectionID">140</int> - </object> - </object> - <object class="IBMutableOrderedSet" key="objectRecords"> - <object class="NSArray" key="orderedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBObjectRecord"> - <int key="objectID">0</int> - <reference key="object" ref="0"/> - <reference key="children" ref="1000"/> - <nil key="parent"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">2</int> - <reference key="object" ref="380026005"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-1</int> - <reference key="object" ref="841351856"/> - <reference key="parent" ref="0"/> - <string key="objectName">File's Owner</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">3</int> - <reference key="object" ref="664661524"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">106</int> - <reference key="object" ref="1034742383"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="795333663"/> - <reference ref="1024858337"/> - <reference ref="268481961"/> - </object> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">107</int> - <reference key="object" ref="795333663"/> - <reference key="parent" ref="1034742383"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">108</int> - <reference key="object" ref="1024858337"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="765670903"/> - <reference ref="434903890"/> - </object> - <reference key="parent" ref="1034742383"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">109</int> - <reference key="object" ref="268481961"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="807309489"/> - </object> - <reference key="parent" ref="1034742383"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">110</int> - <reference key="object" ref="807309489"/> - <reference key="parent" ref="268481961"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">111</int> - <reference key="object" ref="765670903"/> - <reference key="parent" ref="1024858337"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-2</int> - <reference key="object" ref="532797962"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">119</int> - <reference key="object" ref="434903890"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="625972407"/> - <reference ref="876077251"/> - <reference ref="808516100"/> - </object> - <reference key="parent" ref="1024858337"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">123</int> - <reference key="object" ref="876077251"/> - <reference key="parent" ref="434903890"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">126</int> - <reference key="object" ref="625972407"/> - <reference key="parent" ref="434903890"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">139</int> - <reference key="object" ref="808516100"/> - <reference key="parent" ref="434903890"/> - </object> - </object> - </object> - <object class="NSMutableDictionary" key="flattenedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>-1.CustomClassName</string> - <string>-2.CustomClassName</string> - <string>106.CustomClassName</string> - <string>106.IBEditorWindowLastContentRect</string> - <string>106.IBPluginDependency</string> - <string>107.IBPluginDependency</string> - <string>108.CustomClassName</string> - <string>108.IBPluginDependency</string> - <string>109.CustomClassName</string> - <string>109.IBPluginDependency</string> - <string>110.IBPluginDependency</string> - <string>111.IBPluginDependency</string> - <string>119.IBPluginDependency</string> - <string>123.IBPluginDependency</string> - <string>126.IBPluginDependency</string> - <string>139.IBPluginDependency</string> - <string>2.IBAttributePlaceholdersKey</string> - <string>2.IBEditorWindowLastContentRect</string> - <string>2.IBPluginDependency</string> - <string>3.CustomClassName</string> - <string>3.IBPluginDependency</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>UIApplication</string> - <string>UIResponder</string> - <string>TabBarController</string> - <string>{{702, 231}, {480, 320}}</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>FirstViewController</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>ConfigViewController</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <object class="NSMutableDictionary"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <string>{{229, 373}, {320, 480}}</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>ipjsuaAppDelegate</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - </object> - </object> - <object class="NSMutableDictionary" key="unlocalizedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="activeLocalization"/> - <object class="NSMutableDictionary" key="localizations"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="sourceID"/> - <int key="maxID">140</int> - </object> - <object class="IBClassDescriber" key="IBDocument.Classes"> - <object class="NSMutableArray" key="referencedPartialClassDescriptions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">ConfigViewController</string> - <string key="superclassName">UIViewController</string> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>button1</string> - <string>button2</string> - <string>textView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>UIButton</string> - <string>UIButton</string> - <string>UITextView</string> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/ConfigViewController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">FirstViewController</string> - <string key="superclassName">UIViewController</string> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>button1</string> - <string>textField</string> - <string>textView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>UIButton</string> - <string>UITextField</string> - <string>UITextView</string> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/FirstViewController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">TabBarController</string> - <string key="superclassName">UITabBarController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/TabBarController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">ipjsuaAppDelegate</string> - <string key="superclassName">NSObject</string> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>cfgView</string> - <string>tabBarController</string> - <string>window</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>ConfigViewController</string> - <string>TabBarController</string> - <string>UIWindow</string> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/ipjsuaAppDelegate.h</string> - </object> - </object> - </object> - <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSError.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSPort.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSStream.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="539560514"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIApplication</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIApplication.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIBarItem</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIButton</string> - <string key="superclassName">UIControl</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIButton.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIControl</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIControl.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIResponder</string> - <string key="superclassName">NSObject</string> - <reference key="sourceIdentifier" ref="539560514"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIScrollView</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UISearchBar</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UISearchDisplayController</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITabBar</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITabBar.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITabBarController</string> - <string key="superclassName">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="53818940"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITabBarItem</string> - <string key="superclassName">UIBarItem</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITabBarItem.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITextField</string> - <string key="superclassName">UIControl</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1015289008"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITextField.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITextView</string> - <string key="superclassName">UIScrollView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITextView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIView</string> - <reference key="sourceIdentifier" ref="1015289008"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIView</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <reference key="sourceIdentifier" ref="53818940"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIWindow</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIWindow.h</string> - </object> - </object> - </object> - </object> - <int key="IBDocument.localizationMode">0</int> - <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> - <integer value="3100" key="NS.object.0"/> - </object> - <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> - <string key="IBDocument.LastKnownRelativeProjectPath">ipjsua.xcodeproj</string> - <int key="IBDocument.defaultPropertyAccessControl">3</int> - <string key="IBCocoaTouchPluginVersion">3.1</string> - </data> -</archive> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Resources-iPad/MainWindow-iPad.xib b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Resources-iPad/MainWindow-iPad.xib deleted file mode 100644 index ca7f70a78fb415d0e8d7cd941ba77aa1389102c8..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Resources-iPad/MainWindow-iPad.xib +++ /dev/null @@ -1,913 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10"> - <data> - <int key="IBDocument.SystemTarget">800</int> - <string key="IBDocument.SystemVersion">10C540</string> - <string key="IBDocument.InterfaceBuilderVersion">788</string> - <string key="IBDocument.AppKitVersion">1038.25</string> - <string key="IBDocument.HIToolboxVersion">458.00</string> - <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> - <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string key="NS.object.0">117</string> - </object> - <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> - <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="109"/> - </object> - <object class="NSArray" key="IBDocument.PluginDependencies"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - </object> - <object class="NSMutableDictionary" key="IBDocument.Metadata"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys" id="0"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBProxyObject" id="841351856"> - <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - </object> - <object class="IBProxyObject" id="532797962"> - <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - </object> - <object class="IBUICustomObject" id="664661524"> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - </object> - <object class="IBUIWindow" id="380026005"> - <nil key="NSNextResponder"/> - <int key="NSvFlags">1316</int> - <object class="NSPSMatrix" key="NSFrameMatrix"/> - <string key="NSFrameSize">{768, 1024}</string> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MSAxIDEAA</bytes> - </object> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"> - <int key="IBUIStatusBarStyle">2</int> - </object> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <bool key="IBUIVisibleAtLaunch">YES</bool> - <bool key="IBUIResizesToFullScreen">YES</bool> - </object> - <object class="IBUITabBarController" id="1034742383"> - <object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/> - <object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics"> - <int key="IBUIBarStyle">2</int> - <bool key="IBUIPrompted">NO</bool> - </object> - <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"> - <int key="IBUIStatusBarStyle">2</int> - </object> - <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics"> - <int key="interfaceOrientation">3</int> - </object> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <bool key="IBUIHorizontal">YES</bool> - <object class="IBUIViewController" key="IBUISelectedViewController" id="268481961"> - <object class="IBUITabBarItem" key="IBUITabBarItem" id="807309489"> - <string key="IBUITitle">Config</string> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <reference key="IBUITabBar"/> - </object> - <reference key="IBUIParentViewController" ref="1034742383"/> - <string key="IBUINibName">SecondView-iPad</string> - <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics"> - <int key="interfaceOrientation">1</int> - </object> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <bool key="IBUIHorizontal">NO</bool> - </object> - <object class="NSMutableArray" key="IBUIViewControllers"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBUIViewController" id="1024858337"> - <object class="IBUIView" key="IBUIView" id="434903890"> - <nil key="NSNextResponder"/> - <int key="NSvFlags">274</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBUITextView" id="876077251"> - <reference key="NSNextResponder" ref="434903890"/> - <int key="NSvFlags">306</int> - <string key="NSFrame">{{8, 57}, {1001, 622}}</string> - <reference key="NSSuperview" ref="434903890"/> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC45ODE5Mjc3MTA4IDAuOTYzODU1NDIxNyAxIDAAA</bytes> - </object> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClipsSubviews">YES</bool> - <bool key="IBUIMultipleTouchEnabled">YES</bool> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <bool key="IBUIDelaysContentTouches">NO</bool> - <bool key="IBUICanCancelContentTouches">NO</bool> - <float key="IBUIMinimumZoomScale">0.0</float> - <float key="IBUIMaximumZoomScale">0.0</float> - <bool key="IBUIBouncesZoom">NO</bool> - <bool key="IBUIEditable">NO</bool> - <string key="IBUIText"/> - <object class="IBUITextInputTraits" key="IBUITextInputTraits"> - <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> - </object> - </object> - <object class="IBUITextField" id="625972407"> - <reference key="NSNextResponder" ref="434903890"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{8, 8}, {844, 31}}</string> - <reference key="NSSuperview" ref="434903890"/> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <int key="IBUIContentVerticalAlignment">0</int> - <string key="IBUIText"/> - <int key="IBUIBorderStyle">3</int> - <string key="IBUIPlaceholder">Insert command here</string> - <object class="NSColor" key="IBUITextColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MAA</bytes> - <object class="NSColorSpace" key="NSCustomColorSpace"> - <int key="NSID">2</int> - </object> - </object> - <bool key="IBUIAdjustsFontSizeToFit">YES</bool> - <float key="IBUIMinimumFontSize">17</float> - <object class="IBUITextInputTraits" key="IBUITextInputTraits"> - <int key="IBUIAutocorrectionType">1</int> - <int key="IBUIKeyboardType">1</int> - <int key="IBUIReturnKeyType">1</int> - <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> - </object> - <int key="IBUIClearButtonMode">1</int> - </object> - <object class="IBUIButton" id="808516100"> - <reference key="NSNextResponder" ref="434903890"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{882, 7}, {127, 32}}</string> - <reference key="NSSuperview" ref="434903890"/> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <int key="IBUIContentHorizontalAlignment">0</int> - <int key="IBUIContentVerticalAlignment">0</int> - <object class="NSFont" key="IBUIFont"> - <string key="NSName">Helvetica-Bold</string> - <double key="NSSize">15</double> - <int key="NSfFlags">16</int> - </object> - <int key="IBUIButtonType">1</int> - <string key="IBUINormalTitle">Clear view</string> - <object class="NSColor" key="IBUIHighlightedTitleColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MQA</bytes> - </object> - <object class="NSColor" key="IBUINormalTitleColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> - </object> - <object class="NSColor" key="IBUINormalTitleShadowColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC41AA</bytes> - </object> - </object> - </object> - <string key="NSFrameSize">{1024, 699}</string> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC42NDQxOTgyNzA4IDAuNzgwNDMyODUxOSAwLjg2NDEzMDQzNDgAA</bytes> - </object> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - </object> - <object class="IBUITabBarItem" key="IBUITabBarItem" id="765670903"> - <string key="IBUITitle">ipjsua</string> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <reference key="IBUITabBar"/> - </object> - <reference key="IBUIParentViewController" ref="1034742383"/> - <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics"> - <int key="interfaceOrientation">1</int> - </object> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <bool key="IBUIHorizontal">NO</bool> - </object> - <reference ref="268481961"/> - </object> - <object class="IBUITabBar" key="IBUITabBar" id="795333663"> - <nil key="NSNextResponder"/> - <int key="NSvFlags">266</int> - <string key="NSFrame">{{129, 330}, {163, 49}}</string> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MCAwAA</bytes> - </object> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <string key="IBUIContentStretch">{{1.38778e-17, 0}, {1, 1}}</string> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - </object> - </object> - </object> - <object class="IBObjectContainer" key="IBDocument.Objects"> - <object class="NSMutableArray" key="connectionRecords"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">window</string> - <reference key="source" ref="664661524"/> - <reference key="destination" ref="380026005"/> - </object> - <int key="connectionID">9</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">delegate</string> - <reference key="source" ref="841351856"/> - <reference key="destination" ref="664661524"/> - </object> - <int key="connectionID">99</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">tabBarController</string> - <reference key="source" ref="664661524"/> - <reference key="destination" ref="1034742383"/> - </object> - <int key="connectionID">113</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">textView</string> - <reference key="source" ref="1024858337"/> - <reference key="destination" ref="876077251"/> - </object> - <int key="connectionID">135</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">delegate</string> - <reference key="source" ref="1034742383"/> - <reference key="destination" ref="664661524"/> - </object> - <int key="connectionID">136</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">button1</string> - <reference key="source" ref="1024858337"/> - <reference key="destination" ref="808516100"/> - </object> - <int key="connectionID">141</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">textField</string> - <reference key="source" ref="1024858337"/> - <reference key="destination" ref="625972407"/> - </object> - <int key="connectionID">142</int> - </object> - </object> - <object class="IBMutableOrderedSet" key="objectRecords"> - <object class="NSArray" key="orderedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBObjectRecord"> - <int key="objectID">0</int> - <reference key="object" ref="0"/> - <reference key="children" ref="1000"/> - <nil key="parent"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">2</int> - <reference key="object" ref="380026005"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-1</int> - <reference key="object" ref="841351856"/> - <reference key="parent" ref="0"/> - <string key="objectName">File's Owner</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">3</int> - <reference key="object" ref="664661524"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">106</int> - <reference key="object" ref="1034742383"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="795333663"/> - <reference ref="268481961"/> - <reference ref="1024858337"/> - </object> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">107</int> - <reference key="object" ref="795333663"/> - <reference key="parent" ref="1034742383"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">108</int> - <reference key="object" ref="1024858337"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="765670903"/> - <reference ref="434903890"/> - </object> - <reference key="parent" ref="1034742383"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">109</int> - <reference key="object" ref="268481961"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="807309489"/> - </object> - <reference key="parent" ref="1034742383"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">110</int> - <reference key="object" ref="807309489"/> - <reference key="parent" ref="268481961"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">111</int> - <reference key="object" ref="765670903"/> - <reference key="parent" ref="1024858337"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-2</int> - <reference key="object" ref="532797962"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">119</int> - <reference key="object" ref="434903890"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="876077251"/> - <reference ref="808516100"/> - <reference ref="625972407"/> - </object> - <reference key="parent" ref="1024858337"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">123</int> - <reference key="object" ref="876077251"/> - <reference key="parent" ref="434903890"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">126</int> - <reference key="object" ref="625972407"/> - <reference key="parent" ref="434903890"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">139</int> - <reference key="object" ref="808516100"/> - <reference key="parent" ref="434903890"/> - </object> - </object> - </object> - <object class="NSMutableDictionary" key="flattenedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>-1.CustomClassName</string> - <string>-2.CustomClassName</string> - <string>106.CustomClassName</string> - <string>106.IBEditorWindowLastContentRect</string> - <string>106.IBLastUsedUIStatusBarStylesToTargetRuntimesMap</string> - <string>106.IBPluginDependency</string> - <string>107.IBPluginDependency</string> - <string>108.CustomClassName</string> - <string>108.IBPluginDependency</string> - <string>109.CustomClassName</string> - <string>109.IBPluginDependency</string> - <string>110.IBPluginDependency</string> - <string>111.IBPluginDependency</string> - <string>119.IBPluginDependency</string> - <string>123.IBPluginDependency</string> - <string>126.IBPluginDependency</string> - <string>139.IBPluginDependency</string> - <string>2.IBAttributePlaceholdersKey</string> - <string>2.IBEditorWindowLastContentRect</string> - <string>2.IBLastUsedUIStatusBarStylesToTargetRuntimesMap</string> - <string>2.IBPluginDependency</string> - <string>3.CustomClassName</string> - <string>3.IBPluginDependency</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>UIApplication</string> - <string>UIResponder</string> - <string>TabBarController</string> - <string>{{197, 109}, {1039, 747}}</string> - <object class="NSMutableDictionary"> - <string key="NS.key.0">IBCocoaTouchFramework</string> - <integer value="2" key="NS.object.0"/> - </object> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>FirstViewController</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>ConfigViewController</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <object class="NSMutableDictionary"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <string>{{528, 373}, {320, 480}}</string> - <object class="NSMutableDictionary"> - <string key="NS.key.0">IBCocoaTouchFramework</string> - <integer value="0" key="NS.object.0"/> - </object> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>ipjsuaAppDelegate</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - </object> - </object> - <object class="NSMutableDictionary" key="unlocalizedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="activeLocalization"/> - <object class="NSMutableDictionary" key="localizations"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="sourceID"/> - <int key="maxID">142</int> - </object> - <object class="IBClassDescriber" key="IBDocument.Classes"> - <object class="NSMutableArray" key="referencedPartialClassDescriptions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">ConfigViewController</string> - <string key="superclassName">UIViewController</string> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>button1</string> - <string>button2</string> - <string>textView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>UIButton</string> - <string>UIButton</string> - <string>UITextView</string> - </object> - </object> - <object class="NSMutableDictionary" key="toOneOutletInfosByName"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>button1</string> - <string>button2</string> - <string>textView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBToOneOutletInfo"> - <string key="name">button1</string> - <string key="candidateClassName">UIButton</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">button2</string> - <string key="candidateClassName">UIButton</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">textView</string> - <string key="candidateClassName">UITextView</string> - </object> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/ConfigViewController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">FirstViewController</string> - <string key="superclassName">UIViewController</string> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>button1</string> - <string>textField</string> - <string>textView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>UIButton</string> - <string>UITextField</string> - <string>UITextView</string> - </object> - </object> - <object class="NSMutableDictionary" key="toOneOutletInfosByName"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>button1</string> - <string>textField</string> - <string>textView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBToOneOutletInfo"> - <string key="name">button1</string> - <string key="candidateClassName">UIButton</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">textField</string> - <string key="candidateClassName">UITextField</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">textView</string> - <string key="candidateClassName">UITextView</string> - </object> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/FirstViewController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">TabBarController</string> - <string key="superclassName">UITabBarController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/TabBarController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">ipjsuaAppDelegate</string> - <string key="superclassName">NSObject</string> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>cfgView</string> - <string>tabBarController</string> - <string>window</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>ConfigViewController</string> - <string>TabBarController</string> - <string>UIWindow</string> - </object> - </object> - <object class="NSMutableDictionary" key="toOneOutletInfosByName"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>cfgView</string> - <string>tabBarController</string> - <string>window</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBToOneOutletInfo"> - <string key="name">cfgView</string> - <string key="candidateClassName">ConfigViewController</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">tabBarController</string> - <string key="candidateClassName">TabBarController</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">window</string> - <string key="candidateClassName">UIWindow</string> - </object> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/ipjsuaAppDelegate.h</string> - </object> - </object> - </object> - <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSError.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSPort.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSStream.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="539560514"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIApplication</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIApplication.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIBarItem</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIBarItem.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIButton</string> - <string key="superclassName">UIControl</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIButton.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIControl</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIControl.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIResponder</string> - <string key="superclassName">NSObject</string> - <reference key="sourceIdentifier" ref="539560514"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIScrollView</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UISearchBar</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UISearchDisplayController</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITabBar</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITabBar.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITabBarController</string> - <string key="superclassName">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="53818940"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITabBarItem</string> - <string key="superclassName">UIBarItem</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITabBarItem.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITextField</string> - <string key="superclassName">UIControl</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1015289008"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITextField.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITextView</string> - <string key="superclassName">UIScrollView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITextView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIView</string> - <reference key="sourceIdentifier" ref="1015289008"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIView</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <reference key="sourceIdentifier" ref="53818940"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIWindow</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIWindow.h</string> - </object> - </object> - </object> - </object> - <int key="IBDocument.localizationMode">0</int> - <string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string> - <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string> - <integer value="800" key="NS.object.0"/> - </object> - <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> - <integer value="3100" key="NS.object.0"/> - </object> - <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> - <string key="IBDocument.LastKnownRelativeProjectPath">../ipjsua.xcodeproj</string> - <int key="IBDocument.defaultPropertyAccessControl">3</int> - <string key="IBCocoaTouchPluginVersion">117</string> - </data> -</archive> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Resources-iPad/SecondView-iPad.xib b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Resources-iPad/SecondView-iPad.xib deleted file mode 100644 index 9b59476d91d6ae4fcad89756585ae993676a645e..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Resources-iPad/SecondView-iPad.xib +++ /dev/null @@ -1,561 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10"> - <data> - <int key="IBDocument.SystemTarget">800</int> - <string key="IBDocument.SystemVersion">10C540</string> - <string key="IBDocument.InterfaceBuilderVersion">788</string> - <string key="IBDocument.AppKitVersion">1038.25</string> - <string key="IBDocument.HIToolboxVersion">458.00</string> - <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> - <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string key="NS.object.0">117</string> - </object> - <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> - <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="1"/> - </object> - <object class="NSArray" key="IBDocument.PluginDependencies"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - </object> - <object class="NSMutableDictionary" key="IBDocument.Metadata"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys" id="0"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBProxyObject" id="372490531"> - <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - </object> - <object class="IBProxyObject" id="263589821"> - <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - </object> - <object class="IBUIView" id="191373211"> - <reference key="NSNextResponder"/> - <int key="NSvFlags">274</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBUITextView" id="255779567"> - <reference key="NSNextResponder" ref="191373211"/> - <int key="NSvFlags">306</int> - <string key="NSFrame">{{20, 15}, {825, 664}}</string> - <reference key="NSSuperview" ref="191373211"/> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MSAwLjkzNzA0OTE0MTggMC45NDg5MTUzMDc3AA</bytes> - </object> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClipsSubviews">YES</bool> - <bool key="IBUIMultipleTouchEnabled">YES</bool> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <bool key="IBUIShowsHorizontalScrollIndicator">NO</bool> - <bool key="IBUIDelaysContentTouches">NO</bool> - <bool key="IBUICanCancelContentTouches">NO</bool> - <float key="IBUIMinimumZoomScale">0.0</float> - <float key="IBUIMaximumZoomScale">0.0</float> - <bool key="IBUIBouncesZoom">NO</bool> - <string key="IBUIText">Config</string> - <object class="IBUITextInputTraits" key="IBUITextInputTraits"> - <int key="IBUIAutocorrectionType">1</int> - <int key="IBUIKeyboardType">1</int> - <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> - </object> - </object> - <object class="IBUIButton" id="11217163"> - <reference key="NSNextResponder" ref="191373211"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{853, 15}, {151, 37}}</string> - <reference key="NSSuperview" ref="191373211"/> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <int key="IBUIContentHorizontalAlignment">0</int> - <int key="IBUIContentVerticalAlignment">0</int> - <object class="NSFont" key="IBUIFont" id="1008892202"> - <string key="NSName">Helvetica-Bold</string> - <double key="NSSize">15</double> - <int key="NSfFlags">16</int> - </object> - <int key="IBUIButtonType">1</int> - <string key="IBUINormalTitle">Save</string> - <object class="NSColor" key="IBUIHighlightedTitleColor" id="700997684"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MQA</bytes> - </object> - <object class="NSColor" key="IBUINormalTitleColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> - </object> - <object class="NSColor" key="IBUINormalTitleShadowColor" id="201718988"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC41AA</bytes> - </object> - </object> - <object class="IBUIButton" id="944403502"> - <reference key="NSNextResponder" ref="191373211"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{853, 75}, {151, 37}}</string> - <reference key="NSSuperview" ref="191373211"/> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - <int key="IBUIContentHorizontalAlignment">0</int> - <int key="IBUIContentVerticalAlignment">0</int> - <reference key="IBUIFont" ref="1008892202"/> - <int key="IBUIButtonType">1</int> - <string key="IBUINormalTitle">Revert</string> - <reference key="IBUIHighlightedTitleColor" ref="700997684"/> - <object class="NSColor" key="IBUINormalTitleColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> - </object> - <reference key="IBUINormalTitleShadowColor" ref="201718988"/> - </object> - </object> - <string key="NSFrameSize">{1024, 699}</string> - <reference key="NSSuperview"/> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC41NjQxMjQ1MDA4IDAuNzUyMzk5ODQ5NyAwLjg1NzE0Mjg1NzEAA</bytes> - </object> - <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"> - <int key="IBUIStatusBarStyle">2</int> - </object> - <object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/> - <object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics"> - <int key="interfaceOrientation">3</int> - </object> - <string key="targetRuntimeIdentifier">IBIPadFramework</string> - </object> - </object> - <object class="IBObjectContainer" key="IBDocument.Objects"> - <object class="NSMutableArray" key="connectionRecords"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">view</string> - <reference key="source" ref="372490531"/> - <reference key="destination" ref="191373211"/> - </object> - <int key="connectionID">3</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">textView</string> - <reference key="source" ref="372490531"/> - <reference key="destination" ref="255779567"/> - </object> - <int key="connectionID">8</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">button1</string> - <reference key="source" ref="372490531"/> - <reference key="destination" ref="11217163"/> - </object> - <int key="connectionID">11</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">button2</string> - <reference key="source" ref="372490531"/> - <reference key="destination" ref="944403502"/> - </object> - <int key="connectionID">12</int> - </object> - </object> - <object class="IBMutableOrderedSet" key="objectRecords"> - <object class="NSArray" key="orderedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBObjectRecord"> - <int key="objectID">0</int> - <reference key="object" ref="0"/> - <reference key="children" ref="1000"/> - <nil key="parent"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">1</int> - <reference key="object" ref="191373211"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="255779567"/> - <reference ref="944403502"/> - <reference ref="11217163"/> - </object> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-1</int> - <reference key="object" ref="372490531"/> - <reference key="parent" ref="0"/> - <string key="objectName">File's Owner</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-2</int> - <reference key="object" ref="263589821"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">7</int> - <reference key="object" ref="255779567"/> - <reference key="parent" ref="191373211"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">9</int> - <reference key="object" ref="11217163"/> - <reference key="parent" ref="191373211"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">10</int> - <reference key="object" ref="944403502"/> - <reference key="parent" ref="191373211"/> - </object> - </object> - </object> - <object class="NSMutableDictionary" key="flattenedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>-1.CustomClassName</string> - <string>-2.CustomClassName</string> - <string>1.IBEditorWindowLastContentRect</string> - <string>1.IBLastUsedUIStatusBarStylesToTargetRuntimesMap</string> - <string>1.IBPluginDependency</string> - <string>10.IBPluginDependency</string> - <string>7.IBPluginDependency</string> - <string>9.IBPluginDependency</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>ConfigViewController</string> - <string>UIResponder</string> - <string>{{41, 113}, {1116, 709}}</string> - <object class="NSMutableDictionary"> - <string key="NS.key.0">IBCocoaTouchFramework</string> - <integer value="0" key="NS.object.0"/> - </object> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - </object> - </object> - <object class="NSMutableDictionary" key="unlocalizedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="activeLocalization"/> - <object class="NSMutableDictionary" key="localizations"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="sourceID"/> - <int key="maxID">12</int> - </object> - <object class="IBClassDescriber" key="IBDocument.Classes"> - <object class="NSMutableArray" key="referencedPartialClassDescriptions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">ConfigViewController</string> - <string key="superclassName">UIViewController</string> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>button1</string> - <string>button2</string> - <string>textView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>UIButton</string> - <string>UIButton</string> - <string>UITextView</string> - </object> - </object> - <object class="NSMutableDictionary" key="toOneOutletInfosByName"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>button1</string> - <string>button2</string> - <string>textView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBToOneOutletInfo"> - <string key="name">button1</string> - <string key="candidateClassName">UIButton</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">button2</string> - <string key="candidateClassName">UIButton</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">textView</string> - <string key="candidateClassName">UITextView</string> - </object> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/ConfigViewController.h</string> - </object> - </object> - </object> - <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSError.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSPort.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSStream.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="518071601"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIButton</string> - <string key="superclassName">UIControl</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIButton.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIControl</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIControl.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIResponder</string> - <string key="superclassName">NSObject</string> - <reference key="sourceIdentifier" ref="518071601"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIScrollView</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UISearchBar</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UISearchDisplayController</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITextView</string> - <string key="superclassName">UIScrollView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITextView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITextField.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIView</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string> - </object> - </object> - </object> - </object> - <int key="IBDocument.localizationMode">0</int> - <string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string> - <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string> - <integer value="800" key="NS.object.0"/> - </object> - <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> - <integer value="3100" key="NS.object.0"/> - </object> - <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> - <string key="IBDocument.LastKnownRelativeProjectPath">ipjsua.xcodeproj</string> - <int key="IBDocument.defaultPropertyAccessControl">3</int> - <string key="IBCocoaTouchPluginVersion">117</string> - </data> -</archive> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/SecondView.xib b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/SecondView.xib deleted file mode 100644 index dc43b74a432429477f3493bd4d2b92484657eb82..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/SecondView.xib +++ /dev/null @@ -1,501 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10"> - <data> - <int key="IBDocument.SystemTarget">784</int> - <string key="IBDocument.SystemVersion">10C540</string> - <string key="IBDocument.InterfaceBuilderVersion">740</string> - <string key="IBDocument.AppKitVersion">1038.25</string> - <string key="IBDocument.HIToolboxVersion">458.00</string> - <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> - <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string key="NS.object.0">62</string> - </object> - <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> - <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="1"/> - </object> - <object class="NSArray" key="IBDocument.PluginDependencies"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - </object> - <object class="NSMutableDictionary" key="IBDocument.Metadata"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys" id="0"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBProxyObject" id="372490531"> - <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> - </object> - <object class="IBProxyObject" id="263589821"> - <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> - </object> - <object class="IBUIView" id="191373211"> - <reference key="NSNextResponder"/> - <int key="NSvFlags">274</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBUITextView" id="255779567"> - <reference key="NSNextResponder" ref="191373211"/> - <int key="NSvFlags">306</int> - <string key="NSFrameSize">{375, 251}</string> - <reference key="NSSuperview" ref="191373211"/> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MSAwLjkzNzA0OTE0MTggMC45NDg5MTUzMDc3AA</bytes> - </object> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClipsSubviews">YES</bool> - <bool key="IBUIMultipleTouchEnabled">YES</bool> - <bool key="IBUIShowsHorizontalScrollIndicator">NO</bool> - <bool key="IBUIDelaysContentTouches">NO</bool> - <bool key="IBUICanCancelContentTouches">NO</bool> - <float key="IBUIMinimumZoomScale">0.0</float> - <float key="IBUIMaximumZoomScale">0.0</float> - <bool key="IBUIBouncesZoom">NO</bool> - <string key="IBUIText">Config</string> - <object class="IBUITextInputTraits" key="IBUITextInputTraits"> - <int key="IBUIAutocorrectionType">1</int> - <int key="IBUIKeyboardType">1</int> - </object> - </object> - <object class="IBUIButton" id="11217163"> - <reference key="NSNextResponder" ref="191373211"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{376, 6}, {104, 37}}</string> - <reference key="NSSuperview" ref="191373211"/> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <int key="IBUIContentHorizontalAlignment">0</int> - <int key="IBUIContentVerticalAlignment">0</int> - <object class="NSFont" key="IBUIFont" id="1008892202"> - <string key="NSName">Helvetica-Bold</string> - <double key="NSSize">15</double> - <int key="NSfFlags">16</int> - </object> - <int key="IBUIButtonType">1</int> - <string key="IBUINormalTitle">Save</string> - <object class="NSColor" key="IBUIHighlightedTitleColor" id="700997684"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MQA</bytes> - </object> - <object class="NSColor" key="IBUINormalTitleColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> - </object> - <object class="NSColor" key="IBUINormalTitleShadowColor" id="201718988"> - <int key="NSColorSpace">3</int> - <bytes key="NSWhite">MC41AA</bytes> - </object> - </object> - <object class="IBUIButton" id="944403502"> - <reference key="NSNextResponder" ref="191373211"/> - <int key="NSvFlags">292</int> - <string key="NSFrame">{{376, 51}, {104, 37}}</string> - <reference key="NSSuperview" ref="191373211"/> - <bool key="IBUIOpaque">NO</bool> - <bool key="IBUIClearsContextBeforeDrawing">NO</bool> - <int key="IBUIContentHorizontalAlignment">0</int> - <int key="IBUIContentVerticalAlignment">0</int> - <reference key="IBUIFont" ref="1008892202"/> - <int key="IBUIButtonType">1</int> - <string key="IBUINormalTitle">Revert</string> - <reference key="IBUIHighlightedTitleColor" ref="700997684"/> - <object class="NSColor" key="IBUINormalTitleColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes> - </object> - <reference key="IBUINormalTitleShadowColor" ref="201718988"/> - </object> - </object> - <string key="NSFrameSize">{480, 251}</string> - <reference key="NSSuperview"/> - <object class="NSColor" key="IBUIBackgroundColor"> - <int key="NSColorSpace">1</int> - <bytes key="NSRGB">MC41NjQxMjQ1MDA4IDAuNzUyMzk5ODQ5NyAwLjg1NzE0Mjg1NzEAA</bytes> - </object> - <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> - <object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/> - </object> - </object> - <object class="IBObjectContainer" key="IBDocument.Objects"> - <object class="NSMutableArray" key="connectionRecords"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">view</string> - <reference key="source" ref="372490531"/> - <reference key="destination" ref="191373211"/> - </object> - <int key="connectionID">3</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">textView</string> - <reference key="source" ref="372490531"/> - <reference key="destination" ref="255779567"/> - </object> - <int key="connectionID">8</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">button1</string> - <reference key="source" ref="372490531"/> - <reference key="destination" ref="11217163"/> - </object> - <int key="connectionID">11</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBCocoaTouchOutletConnection" key="connection"> - <string key="label">button2</string> - <reference key="source" ref="372490531"/> - <reference key="destination" ref="944403502"/> - </object> - <int key="connectionID">12</int> - </object> - </object> - <object class="IBMutableOrderedSet" key="objectRecords"> - <object class="NSArray" key="orderedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBObjectRecord"> - <int key="objectID">0</int> - <reference key="object" ref="0"/> - <reference key="children" ref="1000"/> - <nil key="parent"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">1</int> - <reference key="object" ref="191373211"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="255779567"/> - <reference ref="944403502"/> - <reference ref="11217163"/> - </object> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-1</int> - <reference key="object" ref="372490531"/> - <reference key="parent" ref="0"/> - <string key="objectName">File's Owner</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-2</int> - <reference key="object" ref="263589821"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">7</int> - <reference key="object" ref="255779567"/> - <reference key="parent" ref="191373211"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">9</int> - <reference key="object" ref="11217163"/> - <reference key="parent" ref="191373211"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">10</int> - <reference key="object" ref="944403502"/> - <reference key="parent" ref="191373211"/> - </object> - </object> - </object> - <object class="NSMutableDictionary" key="flattenedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>-1.CustomClassName</string> - <string>-2.CustomClassName</string> - <string>1.IBEditorWindowLastContentRect</string> - <string>1.IBPluginDependency</string> - <string>10.IBPluginDependency</string> - <string>7.IBPluginDependency</string> - <string>9.IBPluginDependency</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>ConfigViewController</string> - <string>UIResponder</string> - <string>{{530, 459}, {480, 320}}</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> - </object> - </object> - <object class="NSMutableDictionary" key="unlocalizedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="activeLocalization"/> - <object class="NSMutableDictionary" key="localizations"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="sourceID"/> - <int key="maxID">12</int> - </object> - <object class="IBClassDescriber" key="IBDocument.Classes"> - <object class="NSMutableArray" key="referencedPartialClassDescriptions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">ConfigViewController</string> - <string key="superclassName">UIViewController</string> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>button1</string> - <string>button2</string> - <string>textView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>UIButton</string> - <string>UIButton</string> - <string>UITextView</string> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">Classes/ConfigViewController.h</string> - </object> - </object> - </object> - <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSError.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSPort.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSStream.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="518071601"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIResponder.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIButton</string> - <string key="superclassName">UIControl</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIButton.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIControl</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIControl.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIResponder</string> - <string key="superclassName">NSObject</string> - <reference key="sourceIdentifier" ref="518071601"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIScrollView</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIScrollView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UISearchBar</string> - <string key="superclassName">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UISearchDisplayController</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UITextView</string> - <string key="superclassName">UIScrollView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITextView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITextField.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIView</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UITabBarController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">UIViewController</string> - <string key="superclassName">UIResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">UIKit.framework/Headers/UIViewController.h</string> - </object> - </object> - </object> - </object> - <int key="IBDocument.localizationMode">0</int> - <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string> - <integer value="3100" key="NS.object.0"/> - </object> - <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> - <string key="IBDocument.LastKnownRelativeProjectPath">ipjsua.xcodeproj</string> - <int key="IBDocument.defaultPropertyAccessControl">3</int> - <string key="IBCocoaTouchPluginVersion">3.1</string> - </data> -</archive> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/config.cfg b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/config.cfg deleted file mode 100644 index 776fb035b76d60c5e9fdd5c47cd78f7734ac8843..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/config.cfg +++ /dev/null @@ -1,2 +0,0 @@ ---auto-answer=200 ---clock-rate=8000 diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/ipjsua.xcodeproj/project.pbxproj b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/ipjsua.xcodeproj/project.pbxproj deleted file mode 100644 index fe5e11b702155c0e82a17d8dfc17d966513d97a8..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/ipjsua.xcodeproj/project.pbxproj +++ /dev/null @@ -1,492 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 45; - objects = { - -/* Begin PBXBuildFile section */ - 1D3623260D0F684500981E51 /* ipjsuaAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* ipjsuaAppDelegate.m */; }; - 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; - 28216C970DB411BC00E5133A /* FirstViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28216C960DB411BC00E5133A /* FirstViewController.m */; }; - 282CCBFE0DB6C98000C4EA27 /* SecondView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 282CCBFD0DB6C98000C4EA27 /* SecondView.xib */; }; - 288765080DF74369002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765070DF74369002DB57D /* CoreGraphics.framework */; }; - 28AD73880D9D96C1002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD73870D9D96C1002E5188 /* MainWindow.xib */; }; - 3A0D789F121E324E009D5030 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A0D789E121E324E009D5030 /* CFNetwork.framework */; }; - 3A0D7ECD123DD46C009D5030 /* MainWindow-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3A0D7ECC123DD46C009D5030 /* MainWindow-iPad.xib */; }; - 3A0D7F20123F2254009D5030 /* SecondView-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3A0D7F1F123F2254009D5030 /* SecondView-iPad.xib */; }; - 3AE06674138E6C25008EE71A /* libpjmedia-videodev-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE06673138E6C25008EE71A /* libpjmedia-videodev-arm-apple-darwin9.a */; }; - 3AE06681138E6F88008EE71A /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE06680138E6F88008EE71A /* AVFoundation.framework */; }; - 3AE06693138E7056008EE71A /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE06692138E7056008EE71A /* OpenGLES.framework */; }; - 3AE06695138E70B9008EE71A /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE06694138E70B9008EE71A /* libz.dylib */; }; - 3AE06699138E70F0008EE71A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE06696138E70F0008EE71A /* CoreGraphics.framework */; }; - 3AE0669A138E70F0008EE71A /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE06697138E70F0008EE71A /* CoreMedia.framework */; }; - 3AE0669B138E70F0008EE71A /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE06698138E70F0008EE71A /* CoreVideo.framework */; }; - 3AE0669D138E710C008EE71A /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE0669C138E710C008EE71A /* QuartzCore.framework */; }; - 3AE9099D11587BB900FAEAA5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE9099C11587BB900FAEAA5 /* AudioToolbox.framework */; }; - 3AE90A2D1158B52500FAEAA5 /* pjsua_app.c in Sources */ = {isa = PBXBuildFile; fileRef = 3AE90A2C1158B52500FAEAA5 /* pjsua_app.c */; }; - 3AE90A6A1158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A691158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a */; }; - 3AE90A6C1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A6B1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a */; }; - 3AE90A6E1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A6D1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a */; }; - 3AE90A701158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A6F1158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a */; }; - 3AE90A721158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A711158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a */; }; - 3AE90A741158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A731158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a */; }; - 3AE90A761158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A751158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a */; }; - 3AE90A781158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A771158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a */; }; - 3AE90A7A1158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A791158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a */; }; - 3AE90A7C1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A7B1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a */; }; - 3AE90A7E1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A7D1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a */; }; - 3AE90A801158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90A7F1158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a */; }; - 3AE90AC01158F0C400FAEAA5 /* config.cfg in Resources */ = {isa = PBXBuildFile; fileRef = 3AE90ABF1158F0C400FAEAA5 /* config.cfg */; }; - 3AE90C51115A35BB00FAEAA5 /* TabBarController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AE90C50115A35BB00FAEAA5 /* TabBarController.m */; }; - 3AE90DAD115BB1CF00FAEAA5 /* ConfigViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AE90DAC115BB1CF00FAEAA5 /* ConfigViewController.m */; }; - 3AE90EB7115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB1115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a */; }; - 3AE90EB8115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB2115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a */; }; - 3AE90EB9115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB3115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a */; }; - 3AE90EBA115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB4115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a */; }; - 3AE90EBB115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB5115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a */; }; - 3AE90EBC115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90EB6115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D3623240D0F684500981E51 /* ipjsuaAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipjsuaAppDelegate.h; sourceTree = "<group>"; }; - 1D3623250D0F684500981E51 /* ipjsuaAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ipjsuaAppDelegate.m; sourceTree = "<group>"; }; - 1D6058910D05DD3D006BFB54 /* ipjsua.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ipjsua.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 28216C950DB411BC00E5133A /* FirstViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstViewController.h; sourceTree = "<group>"; }; - 28216C960DB411BC00E5133A /* FirstViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirstViewController.m; sourceTree = "<group>"; }; - 282CCBFD0DB6C98000C4EA27 /* SecondView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = SecondView.xib; sourceTree = "<group>"; }; - 288765070DF74369002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 28A0AB4B0D9B1048005BE974 /* ipjsua_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipjsua_Prefix.pch; sourceTree = "<group>"; }; - 28AD73870D9D96C1002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; }; - 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; - 3A0D789E121E324E009D5030 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; - 3A0D7ECC123DD46C009D5030 /* MainWindow-iPad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "MainWindow-iPad.xib"; path = "Resources-iPad/MainWindow-iPad.xib"; sourceTree = "<group>"; }; - 3A0D7F1F123F2254009D5030 /* SecondView-iPad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "SecondView-iPad.xib"; path = "Resources-iPad/SecondView-iPad.xib"; sourceTree = "<group>"; }; - 3AE06673138E6C25008EE71A /* libpjmedia-videodev-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-videodev-arm-apple-darwin9.a"; path = "../../../pjmedia/lib/libpjmedia-videodev-arm-apple-darwin9.a"; sourceTree = "<group>"; }; - 3AE06680138E6F88008EE71A /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - 3AE06692138E7056008EE71A /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - 3AE06694138E70B9008EE71A /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; - 3AE06696138E70F0008EE71A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 3AE06697138E70F0008EE71A /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; - 3AE06698138E70F0008EE71A /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; - 3AE0669C138E710C008EE71A /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 3AE9099C11587BB900FAEAA5 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - 3AE90A2C1158B52500FAEAA5 /* pjsua_app.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app.c; path = ../pjsua/pjsua_app.c; sourceTree = SOURCE_ROOT; }; - 3AE90A691158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgsmcodec-arm-apple-darwin9.a"; path = "../../../third_party/lib/libgsmcodec-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A6B1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpj-arm-apple-darwin9.a"; path = "../../../pjlib/lib/libpj-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A6D1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjlib-util-arm-apple-darwin9.a"; path = "../../../pjlib-util/lib/libpjlib-util-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A6F1158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-arm-apple-darwin9.a"; path = "../../../pjmedia/lib/libpjmedia-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A711158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-audiodev-arm-apple-darwin9.a"; path = "../../../pjmedia/lib/libpjmedia-audiodev-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A731158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-codec-arm-apple-darwin9.a"; path = "../../../pjmedia/lib/libpjmedia-codec-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A751158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjnath-arm-apple-darwin9.a"; path = "../../../pjnath/lib/libpjnath-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A771158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-arm-apple-darwin9.a"; path = "../../../pjsip/lib/libpjsip-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A791158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-simple-arm-apple-darwin9.a"; path = "../../../pjsip/lib/libpjsip-simple-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A7B1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-ua-arm-apple-darwin9.a"; path = "../../../pjsip/lib/libpjsip-ua-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A7D1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsua-arm-apple-darwin9.a"; path = "../../../pjsip/lib/libpjsua-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90A7F1158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libresample-arm-apple-darwin9.a"; path = "../../../third_party/lib/libresample-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90ABF1158F0C400FAEAA5 /* config.cfg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = config.cfg; sourceTree = "<group>"; }; - 3AE90B131159D38400FAEAA5 /* gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gui.h; path = ../pjsua/gui.h; sourceTree = SOURCE_ROOT; }; - 3AE90C4F115A35BB00FAEAA5 /* TabBarController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TabBarController.h; sourceTree = "<group>"; }; - 3AE90C50115A35BB00FAEAA5 /* TabBarController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TabBarController.m; sourceTree = "<group>"; }; - 3AE90DAB115BB1CF00FAEAA5 /* ConfigViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigViewController.h; sourceTree = "<group>"; }; - 3AE90DAC115BB1CF00FAEAA5 /* ConfigViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfigViewController.m; sourceTree = "<group>"; }; - 3AE90EB1115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libg7221codec-arm-apple-darwin9.a"; path = "../../../third_party/lib/libg7221codec-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90EB2115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libilbccodec-arm-apple-darwin9.a"; path = "../../../third_party/lib/libilbccodec-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90EB3115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libmilenage-arm-apple-darwin9.a"; path = "../../../third_party/lib/libmilenage-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90EB4115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsdp-arm-apple-darwin9.a"; path = "../../../pjmedia/lib/libpjsdp-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90EB5115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libspeex-arm-apple-darwin9.a"; path = "../../../third_party/lib/libspeex-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 3AE90EB6115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libsrtp-arm-apple-darwin9.a"; path = "../../../third_party/lib/libsrtp-arm-apple-darwin9.a"; sourceTree = SOURCE_ROOT; }; - 8D1107310486CEB800E47090 /* ipjsua-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ipjsua-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, - 288765080DF74369002DB57D /* CoreGraphics.framework in Frameworks */, - 3AE9099D11587BB900FAEAA5 /* AudioToolbox.framework in Frameworks */, - 3AE90A6A1158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */, - 3AE90A6C1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a in Frameworks */, - 3AE90A6E1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */, - 3AE90A701158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a in Frameworks */, - 3AE90A721158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */, - 3AE90A741158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */, - 3AE90A761158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a in Frameworks */, - 3AE90A781158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a in Frameworks */, - 3AE90A7A1158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */, - 3AE90A7C1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */, - 3AE90A7E1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a in Frameworks */, - 3AE90A801158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a in Frameworks */, - 3AE90EB7115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a in Frameworks */, - 3AE90EB8115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a in Frameworks */, - 3AE90EB9115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a in Frameworks */, - 3AE90EBA115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a in Frameworks */, - 3AE90EBB115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a in Frameworks */, - 3AE90EBC115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a in Frameworks */, - 3A0D789F121E324E009D5030 /* CFNetwork.framework in Frameworks */, - 3AE06674138E6C25008EE71A /* libpjmedia-videodev-arm-apple-darwin9.a in Frameworks */, - 3AE06681138E6F88008EE71A /* AVFoundation.framework in Frameworks */, - 3AE06693138E7056008EE71A /* OpenGLES.framework in Frameworks */, - 3AE06695138E70B9008EE71A /* libz.dylib in Frameworks */, - 3AE06699138E70F0008EE71A /* CoreGraphics.framework in Frameworks */, - 3AE0669A138E70F0008EE71A /* CoreMedia.framework in Frameworks */, - 3AE0669B138E70F0008EE71A /* CoreVideo.framework in Frameworks */, - 3AE0669D138E710C008EE71A /* QuartzCore.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 080E96DDFE201D6D7F000001 /* Classes */ = { - isa = PBXGroup; - children = ( - 3AE90DAB115BB1CF00FAEAA5 /* ConfigViewController.h */, - 3AE90DAC115BB1CF00FAEAA5 /* ConfigViewController.m */, - 28216C950DB411BC00E5133A /* FirstViewController.h */, - 28216C960DB411BC00E5133A /* FirstViewController.m */, - 3AE90C4F115A35BB00FAEAA5 /* TabBarController.h */, - 3AE90C50115A35BB00FAEAA5 /* TabBarController.m */, - 1D3623240D0F684500981E51 /* ipjsuaAppDelegate.h */, - 1D3623250D0F684500981E51 /* ipjsuaAppDelegate.m */, - ); - path = Classes; - sourceTree = "<group>"; - }; - 19C28FACFE9D520D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 1D6058910D05DD3D006BFB54 /* ipjsua.app */, - ); - name = Products; - sourceTree = "<group>"; - }; - 29B97314FDCFA39411CA2CEA /* ipjsua */ = { - isa = PBXGroup; - children = ( - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, - 3A0D7ECB123DD46C009D5030 /* Resources-iPad */, - 29B97323FDCFA39411CA2CEA /* Frameworks */, - 3AE909B211587D2700FAEAA5 /* Libraries */, - 19C28FACFE9D520D11CA2CBB /* Products */, - ); - name = ipjsua; - sourceTree = "<group>"; - }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 3AE90B131159D38400FAEAA5 /* gui.h */, - 3AE90ABF1158F0C400FAEAA5 /* config.cfg */, - 3AE90A2C1158B52500FAEAA5 /* pjsua_app.c */, - 28A0AB4B0D9B1048005BE974 /* ipjsua_Prefix.pch */, - 29B97316FDCFA39411CA2CEA /* main.m */, - ); - name = "Other Sources"; - sourceTree = "<group>"; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 282CCBFD0DB6C98000C4EA27 /* SecondView.xib */, - 28AD73870D9D96C1002E5188 /* MainWindow.xib */, - 8D1107310486CEB800E47090 /* ipjsua-Info.plist */, - ); - name = Resources; - sourceTree = "<group>"; - }; - 29B97323FDCFA39411CA2CEA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 3AE06694138E70B9008EE71A /* libz.dylib */, - 3AE0669C138E710C008EE71A /* QuartzCore.framework */, - 3AE06696138E70F0008EE71A /* CoreGraphics.framework */, - 3AE06697138E70F0008EE71A /* CoreMedia.framework */, - 3AE06698138E70F0008EE71A /* CoreVideo.framework */, - 3AE06692138E7056008EE71A /* OpenGLES.framework */, - 3AE06680138E6F88008EE71A /* AVFoundation.framework */, - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, - 1D30AB110D05D00D00671497 /* Foundation.framework */, - 288765070DF74369002DB57D /* CoreGraphics.framework */, - 3AE9099C11587BB900FAEAA5 /* AudioToolbox.framework */, - 3A0D789E121E324E009D5030 /* CFNetwork.framework */, - ); - name = Frameworks; - sourceTree = "<group>"; - }; - 3A0D7ECB123DD46C009D5030 /* Resources-iPad */ = { - isa = PBXGroup; - children = ( - 3A0D7F1F123F2254009D5030 /* SecondView-iPad.xib */, - 3A0D7ECC123DD46C009D5030 /* MainWindow-iPad.xib */, - ); - name = "Resources-iPad"; - sourceTree = "<group>"; - }; - 3AE909B211587D2700FAEAA5 /* Libraries */ = { - isa = PBXGroup; - children = ( - 3AE90EB1115F7BCE00FAEAA5 /* libg7221codec-arm-apple-darwin9.a */, - 3AE90EB2115F7BCE00FAEAA5 /* libilbccodec-arm-apple-darwin9.a */, - 3AE90EB3115F7BCE00FAEAA5 /* libmilenage-arm-apple-darwin9.a */, - 3AE90EB4115F7BCE00FAEAA5 /* libpjsdp-arm-apple-darwin9.a */, - 3AE90EB5115F7BCE00FAEAA5 /* libspeex-arm-apple-darwin9.a */, - 3AE90EB6115F7BCE00FAEAA5 /* libsrtp-arm-apple-darwin9.a */, - 3AE90A691158C6B400FAEAA5 /* libgsmcodec-arm-apple-darwin9.a */, - 3AE90A6B1158C6B400FAEAA5 /* libpj-arm-apple-darwin9.a */, - 3AE90A6D1158C6B400FAEAA5 /* libpjlib-util-arm-apple-darwin9.a */, - 3AE90A6F1158C6B400FAEAA5 /* libpjmedia-arm-apple-darwin9.a */, - 3AE90A711158C6B400FAEAA5 /* libpjmedia-audiodev-arm-apple-darwin9.a */, - 3AE90A731158C6B400FAEAA5 /* libpjmedia-codec-arm-apple-darwin9.a */, - 3AE06673138E6C25008EE71A /* libpjmedia-videodev-arm-apple-darwin9.a */, - 3AE90A751158C6B400FAEAA5 /* libpjnath-arm-apple-darwin9.a */, - 3AE90A771158C6B400FAEAA5 /* libpjsip-arm-apple-darwin9.a */, - 3AE90A791158C6B400FAEAA5 /* libpjsip-simple-arm-apple-darwin9.a */, - 3AE90A7B1158C6B400FAEAA5 /* libpjsip-ua-arm-apple-darwin9.a */, - 3AE90A7D1158C6B400FAEAA5 /* libpjsua-arm-apple-darwin9.a */, - 3AE90A7F1158C6B400FAEAA5 /* libresample-arm-apple-darwin9.a */, - ); - name = Libraries; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 1D6058900D05DD3D006BFB54 /* ipjsua */ = { - isa = PBXNativeTarget; - buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "ipjsua" */; - buildPhases = ( - 1D60588D0D05DD3D006BFB54 /* Resources */, - 1D60588E0D05DD3D006BFB54 /* Sources */, - 1D60588F0D05DD3D006BFB54 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ipjsua; - productName = ipjsua; - productReference = 1D6058910D05DD3D006BFB54 /* ipjsua.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 29B97313FDCFA39411CA2CEA /* Project object */ = { - isa = PBXProject; - attributes = { - ORGANIZATIONNAME = "Teluu Inc. (http://www.teluu.com)"; - }; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ipjsua" */; - compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - en, - ); - mainGroup = 29B97314FDCFA39411CA2CEA /* ipjsua */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 1D6058900D05DD3D006BFB54 /* ipjsua */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 1D60588D0D05DD3D006BFB54 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 28AD73880D9D96C1002E5188 /* MainWindow.xib in Resources */, - 282CCBFE0DB6C98000C4EA27 /* SecondView.xib in Resources */, - 3AE90AC01158F0C400FAEAA5 /* config.cfg in Resources */, - 3A0D7ECD123DD46C009D5030 /* MainWindow-iPad.xib in Resources */, - 3A0D7F20123F2254009D5030 /* SecondView-iPad.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 1D60588E0D05DD3D006BFB54 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 1D60589B0D05DD56006BFB54 /* main.m in Sources */, - 1D3623260D0F684500981E51 /* ipjsuaAppDelegate.m in Sources */, - 28216C970DB411BC00E5133A /* FirstViewController.m in Sources */, - 3AE90A2D1158B52500FAEAA5 /* pjsua_app.c in Sources */, - 3AE90C51115A35BB00FAEAA5 /* TabBarController.m in Sources */, - 3AE90DAD115BB1CF00FAEAA5 /* ConfigViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 1D6058940D05DD3E006BFB54 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = ipjsua_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = ( - "PJ_AUTOCONF=1", - USE_GUI, - ); - INFOPLIST_FILE = "ipjsua-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.2; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../third_party/lib\"", - "\"$(SRCROOT)/../../../pjlib/lib\"", - "\"$(SRCROOT)/../../../pjlib-util/lib\"", - "\"$(SRCROOT)/../../../pjmedia/lib\"", - "\"$(SRCROOT)/../../../pjnath/lib\"", - "\"$(SRCROOT)/../../../pjsip/lib\"", - "\"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/AVFoundation.framework\"", - "\"$(SRCROOT)/../../../../../Library/Developer/Xcode/DerivedData/SDLiPhoneOS-fyjdxvchuwlpnghehmebkvasdrke/Build/Products/Debug-iphoneos\"", - "\"$(SRCROOT)/../../../../video/ffmpeg-iphone/lib\"", - ); - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = ipjsua; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 1D6058950D05DD3E006BFB54 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - COPY_PHASE_STRIP = YES; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = ipjsua_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = ( - "PJ_AUTOCONF=1", - USE_GUI, - ); - INFOPLIST_FILE = "ipjsua-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.2; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../../third_party/lib\"", - "\"$(SRCROOT)/../../../pjlib/lib\"", - "\"$(SRCROOT)/../../../pjlib-util/lib\"", - "\"$(SRCROOT)/../../../pjmedia/lib\"", - "\"$(SRCROOT)/../../../pjnath/lib\"", - "\"$(SRCROOT)/../../../pjsip/lib\"", - "\"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks/AVFoundation.framework\"", - "\"$(SRCROOT)/../../../../../Library/Developer/Xcode/DerivedData/SDLiPhoneOS-fyjdxvchuwlpnghehmebkvasdrke/Build/Products/Debug-iphoneos\"", - "\"$(SRCROOT)/../../../../video/ffmpeg-iphone/lib\"", - ); - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = ipjsua; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - C01FCF4F08A954540054247B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_PREPROCESSOR_DEFINITIONS = USE_GUI; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - ../../../pjsip/include, - ../../../pjlib/include, - "../../../pjlib-util/include", - ../../../pjnath/include, - ../../../pjmedia/include, - ); - LIBRARY_SEARCH_PATHS = ( - ../../../pjlib/lib, - "../../../pjlib-util/lib", - ../../../pjnath/lib, - ../../../pjmedia/lib, - ../../../pjsip/lib, - ../../../third_party/lib, - ); - ONLY_ACTIVE_ARCH = NO; - OTHER_CFLAGS = ""; - PREBINDING = NO; - SDKROOT = iphoneos; - }; - name = Debug; - }; - C01FCF5008A954540054247B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - GCC_C_LANGUAGE_STANDARD = c99; - GCC_PREPROCESSOR_DEFINITIONS = USE_GUI; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - ../../../pjsip/include, - ../../../pjlib/include, - "../../../pjlib-util/include", - ../../../pjnath/include, - ../../../pjmedia/include, - ); - LIBRARY_SEARCH_PATHS = ( - ../../../pjlib/lib, - "../../../pjlib-util/lib", - ../../../pjnath/lib, - ../../../pjmedia/lib, - ../../../pjsip/lib, - ../../../third_party/lib, - ); - ONLY_ACTIVE_ARCH = NO; - OTHER_CFLAGS = ""; - PREBINDING = NO; - SDKROOT = iphoneos; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "ipjsua" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1D6058940D05DD3E006BFB54 /* Debug */, - 1D6058950D05DD3E006BFB54 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ipjsua" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C01FCF4F08A954540054247B /* Debug */, - C01FCF5008A954540054247B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; -} diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/pjsua_app.c b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/pjsua_app.c deleted file mode 100644 index c7264c9de0e888aacdb01f3af36b8ad6977b9e9c..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/pjsua_app.c +++ /dev/null @@ -1,6307 +0,0 @@ -/* $Id: pjsua_app.c 4358 2013-02-20 21:00:42Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include <pjsua-lib/pjsua.h> -#include "gui.h" - - -#define THIS_FILE "pjsua_app.c" -#define NO_LIMIT (int)0x7FFFFFFF - -//#define STEREO_DEMO -//#define TRANSPORT_ADAPTER_SAMPLE -//#define HAVE_MULTIPART_TEST - -/* Ringtones US UK */ -#define RINGBACK_FREQ1 440 /* 400 */ -#define RINGBACK_FREQ2 480 /* 450 */ -#define RINGBACK_ON 2000 /* 400 */ -#define RINGBACK_OFF 4000 /* 200 */ -#define RINGBACK_CNT 1 /* 2 */ -#define RINGBACK_INTERVAL 4000 /* 2000 */ - -#define RING_FREQ1 800 -#define RING_FREQ2 640 -#define RING_ON 200 -#define RING_OFF 100 -#define RING_CNT 3 -#define RING_INTERVAL 3000 - -#define MAX_AVI 4 - -/* Call specific data */ -struct call_data -{ - pj_timer_entry timer; - pj_bool_t ringback_on; - pj_bool_t ring_on; -}; - -/* Video settings */ -struct app_vid -{ - unsigned vid_cnt; - int vcapture_dev; - int vrender_dev; - pj_bool_t in_auto_show; - pj_bool_t out_auto_transmit; -}; - -/* Pjsua application data */ -static struct app_config -{ - pjsua_config cfg; - pjsua_logging_config log_cfg; - pjsua_media_config media_cfg; - pj_bool_t no_refersub; - pj_bool_t ipv6; - pj_bool_t enable_qos; - pj_bool_t no_tcp; - pj_bool_t no_udp; - pj_bool_t use_tls; - pjsua_transport_config udp_cfg; - pjsua_transport_config rtp_cfg; - pjsip_redirect_op redir_op; - - unsigned acc_cnt; - pjsua_acc_config acc_cfg[PJSUA_MAX_ACC]; - - unsigned buddy_cnt; - pjsua_buddy_config buddy_cfg[PJSUA_MAX_BUDDIES]; - - struct call_data call_data[PJSUA_MAX_CALLS]; - - pj_pool_t *pool; - /* Compatibility with older pjsua */ - - unsigned codec_cnt; - pj_str_t codec_arg[32]; - unsigned codec_dis_cnt; - pj_str_t codec_dis[32]; - pj_bool_t null_audio; - unsigned wav_count; - pj_str_t wav_files[32]; - unsigned tone_count; - pjmedia_tone_desc tones[32]; - pjsua_conf_port_id tone_slots[32]; - pjsua_player_id wav_id; - pjsua_conf_port_id wav_port; - pj_bool_t auto_play; - pj_bool_t auto_play_hangup; - pj_timer_entry auto_hangup_timer; - pj_bool_t auto_loop; - pj_bool_t auto_conf; - pj_str_t rec_file; - pj_bool_t auto_rec; - pjsua_recorder_id rec_id; - pjsua_conf_port_id rec_port; - unsigned auto_answer; - unsigned duration; - -#ifdef STEREO_DEMO - pjmedia_snd_port *snd; - pjmedia_port *sc, *sc_ch1; - pjsua_conf_port_id sc_ch1_slot; -#endif - - float mic_level, - speaker_level; - - int capture_dev, playback_dev; - unsigned capture_lat, playback_lat; - - pj_bool_t no_tones; - int ringback_slot; - int ringback_cnt; - pjmedia_port *ringback_port; - int ring_slot; - int ring_cnt; - pjmedia_port *ring_port; - - struct app_vid vid; - unsigned aud_cnt; - - /* AVI to play */ - unsigned avi_cnt; - struct { - pj_str_t path; - pjmedia_vid_dev_index dev_id; - pjsua_conf_port_id slot; - } avi[MAX_AVI]; - pj_bool_t avi_auto_play; - int avi_def_idx; - -} app_config; - - -//static pjsua_acc_id current_acc; -#define current_acc pjsua_acc_get_default() -static pjsua_call_id current_call = PJSUA_INVALID_ID; -static pj_bool_t cmd_echo; -static int stdout_refresh = -1; -static const char *stdout_refresh_text = "STDOUT_REFRESH"; -static pj_bool_t stdout_refresh_quit = PJ_FALSE; -static pj_str_t uri_arg; - -#if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) -# define SOME_BUF_SIZE (1024 * 10) -#else -# define SOME_BUF_SIZE (1024 * 3) -#endif - -static char some_buf[SOME_BUF_SIZE]; - -#ifdef STEREO_DEMO -static void stereo_demo(); -#endif -pj_status_t app_destroy(void); - -static void ringback_start(pjsua_call_id call_id); -static void ring_start(pjsua_call_id call_id); -static void ring_stop(pjsua_call_id call_id); - -pj_bool_t app_restart; -pj_log_func *log_cb = NULL; - -/***************************************************************************** - * Configuration manipulation - */ - -#if (defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ - PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0) || \ - defined(__IPHONE_4_0) -void keepAliveFunction(int timeout) -{ - int i; - for (i=0; i<(int)pjsua_acc_get_count(); ++i) { - if (!pjsua_acc_is_valid(i)) - continue; - - if (app_config.acc_cfg[i].reg_timeout < timeout) { - pjsua_acc_get_config(i, &app_config.acc_cfg[i]); - app_config.acc_cfg[i].reg_timeout = timeout; - pjsua_acc_modify(i, &app_config.acc_cfg[i]); - } else { - pjsua_acc_set_registration(i, PJ_TRUE); - } - } -} -#endif - -/* Show usage */ -static void usage(void) -{ - puts ("Usage:"); - puts (" pjsua [options] [SIP URL to call]"); - puts (""); - puts ("General options:"); - puts (" --config-file=file Read the config/arguments from file."); - puts (" --help Display this help screen"); - puts (" --version Display version info"); - puts (""); - puts ("Logging options:"); - puts (" --log-file=fname Log to filename (default stderr)"); - puts (" --log-level=N Set log max level to N (0(none) to 6(trace)) (default=5)"); - puts (" --app-log-level=N Set log max level for stdout display (default=4)"); - puts (" --log-append Append instead of overwrite existing log file.\n"); - puts (" --color Use colorful logging (default yes on Win32)"); - puts (" --no-color Disable colorful logging"); - puts (" --light-bg Use dark colors for light background (default is dark bg)"); - puts (" --no-stderr Disable stderr"); - - puts (""); - puts ("SIP Account options:"); - puts (" --registrar=url Set the URL of registrar server"); - puts (" --id=url Set the URL of local ID (used in From header)"); - puts (" --realm=string Set realm"); - puts (" --username=string Set authentication username"); - puts (" --password=string Set authentication password"); - puts (" --contact=url Optionally override the Contact information"); - puts (" --contact-params=S Append the specified parameters S in Contact header"); - puts (" --contact-uri-params=S Append the specified parameters S in Contact URI"); - puts (" --proxy=url Optional URL of proxy server to visit"); - puts (" May be specified multiple times"); - printf(" --reg-timeout=SEC Optional registration interval (default %d)\n", - PJSUA_REG_INTERVAL); - printf(" --rereg-delay=SEC Optional auto retry registration interval (default %d)\n", - PJSUA_REG_RETRY_INTERVAL); - puts (" --reg-use-proxy=N Control the use of proxy settings in REGISTER."); - puts (" 0=no proxy, 1=outbound only, 2=acc only, 3=all (default)"); - puts (" --publish Send presence PUBLISH for this account"); - puts (" --mwi Subscribe to message summary/waiting indication"); - puts (" --use-ims Enable 3GPP/IMS related settings on this account"); -#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) - puts (" --use-srtp=N Use SRTP? 0:disabled, 1:optional, 2:mandatory,"); - puts (" 3:optional by duplicating media offer (def:0)"); - puts (" --srtp-secure=N SRTP require secure SIP? 0:no, 1:tls, 2:sips (def:1)"); -#endif - puts (" --use-100rel Require reliable provisional response (100rel)"); - puts (" --use-timer=N Use SIP session timers? (default=1)"); - puts (" 0:inactive, 1:optional, 2:mandatory, 3:always"); - printf(" --timer-se=N Session timers expiration period, in secs (def:%d)\n", - PJSIP_SESS_TIMER_DEF_SE); - puts (" --timer-min-se=N Session timers minimum expiration period, in secs (def:90)"); - puts (" --outb-rid=string Set SIP outbound reg-id (default:1)"); - puts (" --auto-update-nat=N Where N is 0 or 1 to enable/disable SIP traversal behind"); - puts (" symmetric NAT (default 1)"); - puts (" --disable-stun Disable STUN for this account"); - puts (" --next-cred Add another credentials"); - puts (""); - puts ("SIP Account Control:"); - puts (" --next-account Add more account"); - puts (""); - puts ("Transport Options:"); -#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6 - puts (" --ipv6 Use IPv6 instead for SIP and media."); -#endif - puts (" --set-qos Enable QoS tagging for SIP and media."); - puts (" --local-port=port Set TCP/UDP port. This implicitly enables both "); - puts (" TCP and UDP transports on the specified port, unless"); - puts (" if TCP or UDP is disabled."); - puts (" --ip-addr=IP Use the specifed address as SIP and RTP addresses."); - puts (" (Hint: the IP may be the public IP of the NAT/router)"); - puts (" --bound-addr=IP Bind transports to this IP interface"); - puts (" --no-tcp Disable TCP transport."); - puts (" --no-udp Disable UDP transport."); - puts (" --nameserver=NS Add the specified nameserver to enable SRV resolution"); - puts (" This option can be specified multiple times."); - puts (" --outbound=url Set the URL of global outbound proxy server"); - puts (" May be specified multiple times"); - puts (" --stun-srv=FORMAT Set STUN server host or domain. This option may be"); - puts (" specified more than once. FORMAT is hostdom[:PORT]"); - -#if defined(PJSIP_HAS_TLS_TRANSPORT) && (PJSIP_HAS_TLS_TRANSPORT != 0) - puts (""); - puts ("TLS Options:"); - puts (" --use-tls Enable TLS transport (default=no)"); - puts (" --tls-ca-file Specify TLS CA file (default=none)"); - puts (" --tls-cert-file Specify TLS certificate file (default=none)"); - puts (" --tls-privkey-file Specify TLS private key file (default=none)"); - puts (" --tls-password Specify TLS password to private key file (default=none)"); - puts (" --tls-verify-server Verify server's certificate (default=no)"); - puts (" --tls-verify-client Verify client's certificate (default=no)"); - puts (" --tls-neg-timeout Specify TLS negotiation timeout (default=no)"); - puts (" --tls-srv-name Specify TLS server name for multihosting server"); - puts (" --tls-cipher Specify prefered TLS cipher (optional)."); - puts (" May be specified multiple times"); -#endif - - puts (""); - puts ("Audio Options:"); - puts (" --add-codec=name Manually add codec (default is to enable all)"); - puts (" --dis-codec=name Disable codec (can be specified multiple times)"); - puts (" --clock-rate=N Override conference bridge clock rate"); - puts (" --snd-clock-rate=N Override sound device clock rate"); - puts (" --stereo Audio device and conference bridge opened in stereo mode"); - puts (" --null-audio Use NULL audio device"); - puts (" --play-file=file Register WAV file in conference bridge."); - puts (" This can be specified multiple times."); - puts (" --play-tone=FORMAT Register tone to the conference bridge."); - puts (" FORMAT is 'F1,F2,ON,OFF', where F1,F2 are"); - puts (" frequencies, and ON,OFF=on/off duration in msec."); - puts (" This can be specified multiple times."); - puts (" --auto-play Automatically play the file (to incoming calls only)"); - puts (" --auto-loop Automatically loop incoming RTP to outgoing RTP"); - puts (" --auto-conf Automatically put calls in conference with others"); - puts (" --rec-file=file Open file recorder (extension can be .wav or .mp3"); - puts (" --auto-rec Automatically record conversation"); - puts (" --quality=N Specify media quality (0-10, default=6)"); - puts (" --ptime=MSEC Override codec ptime to MSEC (default=specific)"); - puts (" --no-vad Disable VAD/silence detector (default=vad enabled)"); - puts (" --ec-tail=MSEC Set echo canceller tail length (default=256)"); - puts (" --ec-opt=OPT Select echo canceller algorithm (0=default, "); - puts (" 1=speex, 2=suppressor)"); - puts (" --ilbc-mode=MODE Set iLBC codec mode (20 or 30, default is 30)"); - puts (" --capture-dev=id Audio capture device ID (default=-1)"); - puts (" --playback-dev=id Audio playback device ID (default=-1)"); - puts (" --capture-lat=N Audio capture latency, in ms (default=100)"); - puts (" --playback-lat=N Audio playback latency, in ms (default=100)"); - puts (" --snd-auto-close=N Auto close audio device when idle for N secs (default=1)"); - puts (" Specify N=-1 to disable this feature."); - puts (" Specify N=0 for instant close when unused."); - puts (" --no-tones Disable audible tones"); - puts (" --jb-max-size Specify jitter buffer maximum size, in frames (default=-1)"); - puts (" --extra-audio Add one more audio stream"); - -#if PJSUA_HAS_VIDEO - puts (""); - puts ("Video Options:"); - puts (" --video Enable video"); - puts (" --vcapture-dev=id Video capture device ID (default=-1)"); - puts (" --vrender-dev=id Video render device ID (default=-2)"); - puts (" --play-avi=FILE Load this AVI as virtual capture device"); - puts (" --auto-play-avi Automatically play the AVI media to call"); -#endif - - puts (""); - puts ("Media Transport Options:"); - puts (" --use-ice Enable ICE (default:no)"); - puts (" --ice-regular Use ICE regular nomination (default: aggressive)"); - puts (" --ice-max-hosts=N Set maximum number of ICE host candidates"); - puts (" --ice-no-rtcp Disable RTCP component in ICE (default: no)"); - puts (" --rtp-port=N Base port to try for RTP (default=4000)"); - puts (" --rx-drop-pct=PCT Drop PCT percent of RX RTP (for pkt lost sim, default: 0)"); - puts (" --tx-drop-pct=PCT Drop PCT percent of TX RTP (for pkt lost sim, default: 0)"); - puts (" --use-turn Enable TURN relay with ICE (default:no)"); - puts (" --turn-srv Domain or host name of TURN server (\"NAME:PORT\" format)"); - puts (" --turn-tcp Use TCP connection to TURN server (default no)"); - puts (" --turn-user TURN username"); - puts (" --turn-passwd TURN password"); - - puts (""); - puts ("Buddy List (can be more than one):"); - puts (" --add-buddy url Add the specified URL to the buddy list."); - puts (""); - puts ("User Agent options:"); - puts (" --auto-answer=code Automatically answer incoming calls with code (e.g. 200)"); - puts (" --max-calls=N Maximum number of concurrent calls (default:4, max:255)"); - puts (" --thread-cnt=N Number of worker threads (default:1)"); - puts (" --duration=SEC Set maximum call duration (default:no limit)"); - puts (" --norefersub Suppress event subscription when transfering calls"); - puts (" --use-compact-form Minimize SIP message size"); - puts (" --no-force-lr Allow strict-route to be used (i.e. do not force lr)"); - puts (" --accept-redirect=N Specify how to handle call redirect (3xx) response."); - puts (" 0: reject, 1: follow automatically,"); - puts (" 2: follow + replace To header (default), 3: ask"); - - puts (""); - puts ("When URL is specified, pjsua will immediately initiate call to that URL"); - puts (""); - - fflush(stdout); -} - - -/* Set default config. */ -static void default_config(struct app_config *cfg) -{ - char tmp[80]; - unsigned i; - - pjsua_config_default(&cfg->cfg); - pj_ansi_sprintf(tmp, "PJSUA v%s %s", pj_get_version(), - pj_get_sys_info()->info.ptr); - pj_strdup2_with_null(app_config.pool, &cfg->cfg.user_agent, tmp); - - pjsua_logging_config_default(&cfg->log_cfg); - pjsua_media_config_default(&cfg->media_cfg); - pjsua_transport_config_default(&cfg->udp_cfg); - cfg->udp_cfg.port = 5060; - pjsua_transport_config_default(&cfg->rtp_cfg); - cfg->rtp_cfg.port = 4000; - cfg->redir_op = PJSIP_REDIRECT_ACCEPT_REPLACE; - cfg->duration = NO_LIMIT; - cfg->wav_id = PJSUA_INVALID_ID; - cfg->rec_id = PJSUA_INVALID_ID; - cfg->wav_port = PJSUA_INVALID_ID; - cfg->rec_port = PJSUA_INVALID_ID; - cfg->mic_level = cfg->speaker_level = 1.0; - cfg->capture_dev = PJSUA_INVALID_ID; - cfg->playback_dev = PJSUA_INVALID_ID; - cfg->capture_lat = PJMEDIA_SND_DEFAULT_REC_LATENCY; - cfg->playback_lat = PJMEDIA_SND_DEFAULT_PLAY_LATENCY; - cfg->ringback_slot = PJSUA_INVALID_ID; - cfg->ring_slot = PJSUA_INVALID_ID; - - for (i=0; i<PJ_ARRAY_SIZE(cfg->acc_cfg); ++i) - pjsua_acc_config_default(&cfg->acc_cfg[i]); - - for (i=0; i<PJ_ARRAY_SIZE(cfg->buddy_cfg); ++i) - pjsua_buddy_config_default(&cfg->buddy_cfg[i]); - - cfg->vid.vcapture_dev = PJMEDIA_VID_DEFAULT_CAPTURE_DEV; - cfg->vid.vrender_dev = PJMEDIA_VID_DEFAULT_RENDER_DEV; - cfg->aud_cnt = 1; - - cfg->avi_def_idx = PJSUA_INVALID_ID; -} - - -/* - * Read command arguments from config file. - */ -static int read_config_file(pj_pool_t *pool, const char *filename, - int *app_argc, char ***app_argv) -{ - int i; - FILE *fhnd; - char line[200]; - int argc = 0; - char **argv; - enum { MAX_ARGS = 128 }; - - /* Allocate MAX_ARGS+1 (argv needs to be terminated with NULL argument) */ - argv = pj_pool_calloc(pool, MAX_ARGS+1, sizeof(char*)); - argv[argc++] = *app_argv[0]; - - /* Open config file. */ - fhnd = fopen(filename, "rt"); - if (!fhnd) { - PJ_LOG(1,(THIS_FILE, "Unable to open config file %s", filename)); - fflush(stdout); - return -1; - } - - /* Scan tokens in the file. */ - while (argc < MAX_ARGS && !feof(fhnd)) { - char *token; - char *p; - const char *whitespace = " \t\r\n"; - char cDelimiter; - int len, token_len; - - if (fgets(line, sizeof(line), fhnd) == NULL) break; - - // Trim ending newlines - len = strlen(line); - if (line[len-1]=='\n') - line[--len] = '\0'; - if (line[len-1]=='\r') - line[--len] = '\0'; - - if (len==0) continue; - - for (p = line; *p != '\0' && argc < MAX_ARGS; p++) { - // first, scan whitespaces - while (*p != '\0' && strchr(whitespace, *p) != NULL) p++; - - if (*p == '\0') // are we done yet? - break; - - if (*p == '"' || *p == '\'') { // is token a quoted string - cDelimiter = *p++; // save quote delimiter - token = p; - - while (*p != '\0' && *p != cDelimiter) p++; - - if (*p == '\0') // found end of the line, but, - cDelimiter = '\0'; // didn't find a matching quote - - } else { // token's not a quoted string - token = p; - - while (*p != '\0' && strchr(whitespace, *p) == NULL) p++; - - cDelimiter = *p; - } - - *p = '\0'; - token_len = p-token; - - if (token_len > 0) { - if (*token == '#') - break; // ignore remainder of line - - argv[argc] = pj_pool_alloc(pool, token_len + 1); - pj_memcpy(argv[argc], token, token_len + 1); - ++argc; - } - - *p = cDelimiter; - } - } - - /* Copy arguments from command line */ - for (i=1; i<*app_argc && argc < MAX_ARGS; ++i) - argv[argc++] = (*app_argv)[i]; - - if (argc == MAX_ARGS && (i!=*app_argc || !feof(fhnd))) { - PJ_LOG(1,(THIS_FILE, - "Too many arguments specified in cmd line/config file")); - fflush(stdout); - fclose(fhnd); - return -1; - } - - fclose(fhnd); - - /* Assign the new command line back to the original command line. */ - *app_argc = argc; - *app_argv = argv; - return 0; - -} - -static int my_atoi(const char *cs) -{ - pj_str_t s; - - pj_cstr(&s, cs); - if (cs[0] == '-') { - s.ptr++, s.slen--; - return 0 - (int)pj_strtoul(&s); - } else if (cs[0] == '+') { - s.ptr++, s.slen--; - return pj_strtoul(&s); - } else { - return pj_strtoul(&s); - } -} - - -/* Parse arguments. */ -static pj_status_t parse_args(int argc, char *argv[], - struct app_config *cfg, - pj_str_t *uri_to_call) -{ - int c; - int option_index; - enum { OPT_CONFIG_FILE=127, OPT_LOG_FILE, OPT_LOG_LEVEL, OPT_APP_LOG_LEVEL, - OPT_LOG_APPEND, OPT_COLOR, OPT_NO_COLOR, OPT_LIGHT_BG, OPT_NO_STDERR, - OPT_HELP, OPT_VERSION, OPT_NULL_AUDIO, OPT_SND_AUTO_CLOSE, - OPT_LOCAL_PORT, OPT_IP_ADDR, OPT_PROXY, OPT_OUTBOUND_PROXY, - OPT_REGISTRAR, OPT_REG_TIMEOUT, OPT_PUBLISH, OPT_ID, OPT_CONTACT, - OPT_BOUND_ADDR, OPT_CONTACT_PARAMS, OPT_CONTACT_URI_PARAMS, - OPT_100REL, OPT_USE_IMS, OPT_REALM, OPT_USERNAME, OPT_PASSWORD, - OPT_REG_RETRY_INTERVAL, OPT_REG_USE_PROXY, - OPT_MWI, OPT_NAMESERVER, OPT_STUN_SRV, OPT_OUTB_RID, - OPT_ADD_BUDDY, OPT_OFFER_X_MS_MSG, OPT_NO_PRESENCE, - OPT_AUTO_ANSWER, OPT_AUTO_PLAY, OPT_AUTO_PLAY_HANGUP, OPT_AUTO_LOOP, - OPT_AUTO_CONF, OPT_CLOCK_RATE, OPT_SND_CLOCK_RATE, OPT_STEREO, - OPT_USE_ICE, OPT_ICE_REGULAR, OPT_USE_SRTP, OPT_SRTP_SECURE, - OPT_USE_TURN, OPT_ICE_MAX_HOSTS, OPT_ICE_NO_RTCP, OPT_TURN_SRV, - OPT_TURN_TCP, OPT_TURN_USER, OPT_TURN_PASSWD, - OPT_PLAY_FILE, OPT_PLAY_TONE, OPT_RTP_PORT, OPT_ADD_CODEC, - OPT_ILBC_MODE, OPT_REC_FILE, OPT_AUTO_REC, - OPT_COMPLEXITY, OPT_QUALITY, OPT_PTIME, OPT_NO_VAD, - OPT_RX_DROP_PCT, OPT_TX_DROP_PCT, OPT_EC_TAIL, OPT_EC_OPT, - OPT_NEXT_ACCOUNT, OPT_NEXT_CRED, OPT_MAX_CALLS, - OPT_DURATION, OPT_NO_TCP, OPT_NO_UDP, OPT_THREAD_CNT, - OPT_NOREFERSUB, OPT_ACCEPT_REDIRECT, - OPT_USE_TLS, OPT_TLS_CA_FILE, OPT_TLS_CERT_FILE, OPT_TLS_PRIV_FILE, - OPT_TLS_PASSWORD, OPT_TLS_VERIFY_SERVER, OPT_TLS_VERIFY_CLIENT, - OPT_TLS_NEG_TIMEOUT, OPT_TLS_CIPHER, - OPT_CAPTURE_DEV, OPT_PLAYBACK_DEV, - OPT_CAPTURE_LAT, OPT_PLAYBACK_LAT, OPT_NO_TONES, OPT_JB_MAX_SIZE, - OPT_STDOUT_REFRESH, OPT_STDOUT_REFRESH_TEXT, OPT_IPV6, OPT_QOS, -#ifdef _IONBF - OPT_STDOUT_NO_BUF, -#endif - OPT_AUTO_UPDATE_NAT,OPT_USE_COMPACT_FORM,OPT_DIS_CODEC, - OPT_DISABLE_STUN, OPT_NO_FORCE_LR, - OPT_TIMER, OPT_TIMER_SE, OPT_TIMER_MIN_SE, - OPT_VIDEO, OPT_EXTRA_AUDIO, - OPT_VCAPTURE_DEV, OPT_VRENDER_DEV, OPT_PLAY_AVI, OPT_AUTO_PLAY_AVI - }; - struct pj_getopt_option long_options[] = { - { "config-file",1, 0, OPT_CONFIG_FILE}, - { "log-file", 1, 0, OPT_LOG_FILE}, - { "log-level", 1, 0, OPT_LOG_LEVEL}, - { "app-log-level",1,0,OPT_APP_LOG_LEVEL}, - { "log-append", 0, 0, OPT_LOG_APPEND}, - { "color", 0, 0, OPT_COLOR}, - { "no-color", 0, 0, OPT_NO_COLOR}, - { "light-bg", 0, 0, OPT_LIGHT_BG}, - { "no-stderr", 0, 0, OPT_NO_STDERR}, - { "help", 0, 0, OPT_HELP}, - { "version", 0, 0, OPT_VERSION}, - { "clock-rate", 1, 0, OPT_CLOCK_RATE}, - { "snd-clock-rate", 1, 0, OPT_SND_CLOCK_RATE}, - { "stereo", 0, 0, OPT_STEREO}, - { "null-audio", 0, 0, OPT_NULL_AUDIO}, - { "local-port", 1, 0, OPT_LOCAL_PORT}, - { "ip-addr", 1, 0, OPT_IP_ADDR}, - { "bound-addr", 1, 0, OPT_BOUND_ADDR}, - { "no-tcp", 0, 0, OPT_NO_TCP}, - { "no-udp", 0, 0, OPT_NO_UDP}, - { "norefersub", 0, 0, OPT_NOREFERSUB}, - { "proxy", 1, 0, OPT_PROXY}, - { "outbound", 1, 0, OPT_OUTBOUND_PROXY}, - { "registrar", 1, 0, OPT_REGISTRAR}, - { "reg-timeout",1, 0, OPT_REG_TIMEOUT}, - { "publish", 0, 0, OPT_PUBLISH}, - { "mwi", 0, 0, OPT_MWI}, - { "use-100rel", 0, 0, OPT_100REL}, - { "use-ims", 0, 0, OPT_USE_IMS}, - { "id", 1, 0, OPT_ID}, - { "contact", 1, 0, OPT_CONTACT}, - { "contact-params",1,0, OPT_CONTACT_PARAMS}, - { "contact-uri-params",1,0, OPT_CONTACT_URI_PARAMS}, - { "auto-update-nat", 1, 0, OPT_AUTO_UPDATE_NAT}, - { "disable-stun",0,0, OPT_DISABLE_STUN}, - { "use-compact-form", 0, 0, OPT_USE_COMPACT_FORM}, - { "accept-redirect", 1, 0, OPT_ACCEPT_REDIRECT}, - { "no-force-lr",0, 0, OPT_NO_FORCE_LR}, - { "realm", 1, 0, OPT_REALM}, - { "username", 1, 0, OPT_USERNAME}, - { "password", 1, 0, OPT_PASSWORD}, - { "rereg-delay",1, 0, OPT_REG_RETRY_INTERVAL}, - { "reg-use-proxy", 1, 0, OPT_REG_USE_PROXY}, - { "nameserver", 1, 0, OPT_NAMESERVER}, - { "stun-srv", 1, 0, OPT_STUN_SRV}, - { "add-buddy", 1, 0, OPT_ADD_BUDDY}, - { "offer-x-ms-msg",0,0,OPT_OFFER_X_MS_MSG}, - { "no-presence", 0, 0, OPT_NO_PRESENCE}, - { "auto-answer",1, 0, OPT_AUTO_ANSWER}, - { "auto-play", 0, 0, OPT_AUTO_PLAY}, - { "auto-play-hangup",0, 0, OPT_AUTO_PLAY_HANGUP}, - { "auto-rec", 0, 0, OPT_AUTO_REC}, - { "auto-loop", 0, 0, OPT_AUTO_LOOP}, - { "auto-conf", 0, 0, OPT_AUTO_CONF}, - { "play-file", 1, 0, OPT_PLAY_FILE}, - { "play-tone", 1, 0, OPT_PLAY_TONE}, - { "rec-file", 1, 0, OPT_REC_FILE}, - { "rtp-port", 1, 0, OPT_RTP_PORT}, - - { "use-ice", 0, 0, OPT_USE_ICE}, - { "ice-regular",0, 0, OPT_ICE_REGULAR}, - { "use-turn", 0, 0, OPT_USE_TURN}, - { "ice-max-hosts",1, 0, OPT_ICE_MAX_HOSTS}, - { "ice-no-rtcp",0, 0, OPT_ICE_NO_RTCP}, - { "turn-srv", 1, 0, OPT_TURN_SRV}, - { "turn-tcp", 0, 0, OPT_TURN_TCP}, - { "turn-user", 1, 0, OPT_TURN_USER}, - { "turn-passwd",1, 0, OPT_TURN_PASSWD}, - -#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) - { "use-srtp", 1, 0, OPT_USE_SRTP}, - { "srtp-secure",1, 0, OPT_SRTP_SECURE}, -#endif - { "add-codec", 1, 0, OPT_ADD_CODEC}, - { "dis-codec", 1, 0, OPT_DIS_CODEC}, - { "complexity", 1, 0, OPT_COMPLEXITY}, - { "quality", 1, 0, OPT_QUALITY}, - { "ptime", 1, 0, OPT_PTIME}, - { "no-vad", 0, 0, OPT_NO_VAD}, - { "ec-tail", 1, 0, OPT_EC_TAIL}, - { "ec-opt", 1, 0, OPT_EC_OPT}, - { "ilbc-mode", 1, 0, OPT_ILBC_MODE}, - { "rx-drop-pct",1, 0, OPT_RX_DROP_PCT}, - { "tx-drop-pct",1, 0, OPT_TX_DROP_PCT}, - { "next-account",0,0, OPT_NEXT_ACCOUNT}, - { "next-cred", 0, 0, OPT_NEXT_CRED}, - { "max-calls", 1, 0, OPT_MAX_CALLS}, - { "duration", 1, 0, OPT_DURATION}, - { "thread-cnt", 1, 0, OPT_THREAD_CNT}, -#if defined(PJSIP_HAS_TLS_TRANSPORT) && (PJSIP_HAS_TLS_TRANSPORT != 0) - { "use-tls", 0, 0, OPT_USE_TLS}, - { "tls-ca-file",1, 0, OPT_TLS_CA_FILE}, - { "tls-cert-file",1,0, OPT_TLS_CERT_FILE}, - { "tls-privkey-file",1,0, OPT_TLS_PRIV_FILE}, - { "tls-password",1,0, OPT_TLS_PASSWORD}, - { "tls-verify-server", 0, 0, OPT_TLS_VERIFY_SERVER}, - { "tls-verify-client", 0, 0, OPT_TLS_VERIFY_CLIENT}, - { "tls-neg-timeout", 1, 0, OPT_TLS_NEG_TIMEOUT}, - { "tls-cipher", 1, 0, OPT_TLS_CIPHER}, -#endif - { "capture-dev", 1, 0, OPT_CAPTURE_DEV}, - { "playback-dev", 1, 0, OPT_PLAYBACK_DEV}, - { "capture-lat", 1, 0, OPT_CAPTURE_LAT}, - { "playback-lat", 1, 0, OPT_PLAYBACK_LAT}, - { "stdout-refresh", 1, 0, OPT_STDOUT_REFRESH}, - { "stdout-refresh-text", 1, 0, OPT_STDOUT_REFRESH_TEXT}, -#ifdef _IONBF - { "stdout-no-buf", 0, 0, OPT_STDOUT_NO_BUF }, -#endif - { "snd-auto-close", 1, 0, OPT_SND_AUTO_CLOSE}, - { "no-tones", 0, 0, OPT_NO_TONES}, - { "jb-max-size", 1, 0, OPT_JB_MAX_SIZE}, -#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6 - { "ipv6", 0, 0, OPT_IPV6}, -#endif - { "set-qos", 0, 0, OPT_QOS}, - { "use-timer", 1, 0, OPT_TIMER}, - { "timer-se", 1, 0, OPT_TIMER_SE}, - { "timer-min-se", 1, 0, OPT_TIMER_MIN_SE}, - { "outb-rid", 1, 0, OPT_OUTB_RID}, - { "video", 0, 0, OPT_VIDEO}, - { "extra-audio",0, 0, OPT_EXTRA_AUDIO}, - { "vcapture-dev", 1, 0, OPT_VCAPTURE_DEV}, - { "vrender-dev", 1, 0, OPT_VRENDER_DEV}, - { "play-avi", 1, 0, OPT_PLAY_AVI}, - { "auto-play-avi", 0, 0, OPT_AUTO_PLAY_AVI}, - { NULL, 0, 0, 0} - }; - pj_status_t status; - pjsua_acc_config *cur_acc; - char *config_file = NULL; - unsigned i; - - /* Run pj_getopt once to see if user specifies config file to read. */ - pj_optind = 0; - while ((c=pj_getopt_long(argc, argv, "", long_options, - &option_index)) != -1) - { - switch (c) { - case OPT_CONFIG_FILE: - config_file = pj_optarg; - break; - } - if (config_file) - break; - } - - if (config_file) { - status = read_config_file(app_config.pool, config_file, &argc, &argv); - if (status != 0) - return status; - } - - cfg->acc_cnt = 0; - cur_acc = &cfg->acc_cfg[0]; - - - /* Reinitialize and re-run pj_getopt again, possibly with new arguments - * read from config file. - */ - pj_optind = 0; - while((c=pj_getopt_long(argc,argv, "", long_options,&option_index))!=-1) { - pj_str_t tmp; - long lval; - - switch (c) { - - case OPT_CONFIG_FILE: - /* Ignore as this has been processed before */ - break; - - case OPT_LOG_FILE: - cfg->log_cfg.log_filename = pj_str(pj_optarg); - break; - - case OPT_LOG_LEVEL: - c = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - if (c < 0 || c > 6) { - PJ_LOG(1,(THIS_FILE, - "Error: expecting integer value 0-6 " - "for --log-level")); - return PJ_EINVAL; - } - cfg->log_cfg.level = c; - pj_log_set_level( c ); - break; - - case OPT_APP_LOG_LEVEL: - cfg->log_cfg.console_level = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - if (cfg->log_cfg.console_level < 0 || cfg->log_cfg.console_level > 6) { - PJ_LOG(1,(THIS_FILE, - "Error: expecting integer value 0-6 " - "for --app-log-level")); - return PJ_EINVAL; - } - break; - - case OPT_LOG_APPEND: - cfg->log_cfg.log_file_flags |= PJ_O_APPEND; - break; - - case OPT_COLOR: - cfg->log_cfg.decor |= PJ_LOG_HAS_COLOR; - break; - - case OPT_NO_COLOR: - cfg->log_cfg.decor &= ~PJ_LOG_HAS_COLOR; - break; - - case OPT_LIGHT_BG: - pj_log_set_color(1, PJ_TERM_COLOR_R); - pj_log_set_color(2, PJ_TERM_COLOR_R | PJ_TERM_COLOR_G); - pj_log_set_color(3, PJ_TERM_COLOR_B | PJ_TERM_COLOR_G); - pj_log_set_color(4, 0); - pj_log_set_color(5, 0); - pj_log_set_color(77, 0); - break; - - case OPT_NO_STDERR: - freopen("/dev/null", "w", stderr); - break; - - case OPT_HELP: - usage(); - return PJ_EINVAL; - - case OPT_VERSION: /* version */ - pj_dump_config(); - return PJ_EINVAL; - - case OPT_NULL_AUDIO: - cfg->null_audio = PJ_TRUE; - break; - - case OPT_CLOCK_RATE: - lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - if (lval < 8000 || lval > 192000) { - PJ_LOG(1,(THIS_FILE, "Error: expecting value between " - "8000-192000 for conference clock rate")); - return PJ_EINVAL; - } - cfg->media_cfg.clock_rate = lval; - break; - - case OPT_SND_CLOCK_RATE: - lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - if (lval < 8000 || lval > 192000) { - PJ_LOG(1,(THIS_FILE, "Error: expecting value between " - "8000-192000 for sound device clock rate")); - return PJ_EINVAL; - } - cfg->media_cfg.snd_clock_rate = lval; - break; - - case OPT_STEREO: - cfg->media_cfg.channel_count = 2; - break; - - case OPT_LOCAL_PORT: /* local-port */ - lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - if (lval < 0 || lval > 65535) { - PJ_LOG(1,(THIS_FILE, - "Error: expecting integer value for " - "--local-port")); - return PJ_EINVAL; - } - cfg->udp_cfg.port = (pj_uint16_t)lval; - break; - - case OPT_IP_ADDR: /* ip-addr */ - cfg->udp_cfg.public_addr = pj_str(pj_optarg); - cfg->rtp_cfg.public_addr = pj_str(pj_optarg); - break; - - case OPT_BOUND_ADDR: /* bound-addr */ - cfg->udp_cfg.bound_addr = pj_str(pj_optarg); - cfg->rtp_cfg.bound_addr = pj_str(pj_optarg); - break; - - case OPT_NO_UDP: /* no-udp */ - if (cfg->no_tcp && !cfg->use_tls) { - PJ_LOG(1,(THIS_FILE,"Error: cannot disable both TCP and UDP")); - return PJ_EINVAL; - } - - cfg->no_udp = PJ_TRUE; - break; - - case OPT_NOREFERSUB: /* norefersub */ - cfg->no_refersub = PJ_TRUE; - break; - - case OPT_NO_TCP: /* no-tcp */ - if (cfg->no_udp && !cfg->use_tls) { - PJ_LOG(1,(THIS_FILE,"Error: cannot disable both TCP and UDP")); - return PJ_EINVAL; - } - - cfg->no_tcp = PJ_TRUE; - break; - - case OPT_PROXY: /* proxy */ - if (pjsua_verify_sip_url(pj_optarg) != 0) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid SIP URL '%s' " - "in proxy argument", pj_optarg)); - return PJ_EINVAL; - } - cur_acc->proxy[cur_acc->proxy_cnt++] = pj_str(pj_optarg); - break; - - case OPT_OUTBOUND_PROXY: /* outbound proxy */ - if (pjsua_verify_sip_url(pj_optarg) != 0) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid SIP URL '%s' " - "in outbound proxy argument", pj_optarg)); - return PJ_EINVAL; - } - cfg->cfg.outbound_proxy[cfg->cfg.outbound_proxy_cnt++] = pj_str(pj_optarg); - break; - - case OPT_REGISTRAR: /* registrar */ - if (pjsua_verify_sip_url(pj_optarg) != 0) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid SIP URL '%s' in " - "registrar argument", pj_optarg)); - return PJ_EINVAL; - } - cur_acc->reg_uri = pj_str(pj_optarg); - break; - - case OPT_REG_TIMEOUT: /* reg-timeout */ - cur_acc->reg_timeout = pj_strtoul(pj_cstr(&tmp,pj_optarg)); - if (cur_acc->reg_timeout < 1 || cur_acc->reg_timeout > 3600) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid value for --reg-timeout " - "(expecting 1-3600)")); - return PJ_EINVAL; - } - break; - - case OPT_PUBLISH: /* publish */ - cur_acc->publish_enabled = PJ_TRUE; - break; - - case OPT_MWI: /* mwi */ - cur_acc->mwi_enabled = PJ_TRUE; - break; - - case OPT_100REL: /** 100rel */ - cur_acc->require_100rel = PJSUA_100REL_MANDATORY; - cfg->cfg.require_100rel = PJSUA_100REL_MANDATORY; - break; - - case OPT_TIMER: /** session timer */ - lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - if (lval < 0 || lval > 3) { - PJ_LOG(1,(THIS_FILE, - "Error: expecting integer value 0-3 for --use-timer")); - return PJ_EINVAL; - } - cur_acc->use_timer = lval; - cfg->cfg.use_timer = lval; - break; - - case OPT_TIMER_SE: /** session timer session expiration */ - cur_acc->timer_setting.sess_expires = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - if (cur_acc->timer_setting.sess_expires < 90) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid value for --timer-se " - "(expecting higher than 90)")); - return PJ_EINVAL; - } - cfg->cfg.timer_setting.sess_expires = cur_acc->timer_setting.sess_expires; - break; - - case OPT_TIMER_MIN_SE: /** session timer minimum session expiration */ - cur_acc->timer_setting.min_se = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - if (cur_acc->timer_setting.min_se < 90) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid value for --timer-min-se " - "(expecting higher than 90)")); - return PJ_EINVAL; - } - cfg->cfg.timer_setting.min_se = cur_acc->timer_setting.min_se; - break; - - case OPT_OUTB_RID: /* Outbound reg-id */ - cur_acc->rfc5626_reg_id = pj_str(pj_optarg); - break; - - case OPT_USE_IMS: /* Activate IMS settings */ - cur_acc->auth_pref.initial_auth = PJ_TRUE; - break; - - case OPT_ID: /* id */ - if (pjsua_verify_url(pj_optarg) != 0) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid SIP URL '%s' " - "in local id argument", pj_optarg)); - return PJ_EINVAL; - } - cur_acc->id = pj_str(pj_optarg); - break; - - case OPT_CONTACT: /* contact */ - if (pjsua_verify_sip_url(pj_optarg) != 0) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid SIP URL '%s' " - "in contact argument", pj_optarg)); - return PJ_EINVAL; - } - cur_acc->force_contact = pj_str(pj_optarg); - break; - - case OPT_CONTACT_PARAMS: - cur_acc->contact_params = pj_str(pj_optarg); - break; - - case OPT_CONTACT_URI_PARAMS: - cur_acc->contact_uri_params = pj_str(pj_optarg); - break; - - case OPT_AUTO_UPDATE_NAT: /* OPT_AUTO_UPDATE_NAT */ - cur_acc->allow_contact_rewrite = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - break; - - case OPT_DISABLE_STUN: - cur_acc->sip_stun_use = PJSUA_STUN_USE_DISABLED; - cur_acc->media_stun_use = PJSUA_STUN_USE_DISABLED; - break; - - case OPT_USE_COMPACT_FORM: - /* enable compact form - from Ticket #342 */ - { - extern pj_bool_t pjsip_use_compact_form; - extern pj_bool_t pjsip_include_allow_hdr_in_dlg; - extern pj_bool_t pjmedia_add_rtpmap_for_static_pt; - - pjsip_use_compact_form = PJ_TRUE; - /* do not transmit Allow header */ - pjsip_include_allow_hdr_in_dlg = PJ_FALSE; - /* Do not include rtpmap for static payload types (<96) */ - pjmedia_add_rtpmap_for_static_pt = PJ_FALSE; - } - break; - - case OPT_ACCEPT_REDIRECT: - cfg->redir_op = my_atoi(pj_optarg); - if (cfg->redir_op<0 || cfg->redir_op>PJSIP_REDIRECT_STOP) { - PJ_LOG(1,(THIS_FILE, - "Error: accept-redirect value '%s' ", pj_optarg)); - return PJ_EINVAL; - } - break; - - case OPT_NO_FORCE_LR: - cfg->cfg.force_lr = PJ_FALSE; - break; - - case OPT_NEXT_ACCOUNT: /* Add more account. */ - cfg->acc_cnt++; - cur_acc = &cfg->acc_cfg[cfg->acc_cnt]; - break; - - case OPT_USERNAME: /* Default authentication user */ - cur_acc->cred_info[cur_acc->cred_count].username = pj_str(pj_optarg); - cur_acc->cred_info[cur_acc->cred_count].scheme = pj_str("Digest"); - break; - - case OPT_REALM: /* Default authentication realm. */ - cur_acc->cred_info[cur_acc->cred_count].realm = pj_str(pj_optarg); - break; - - case OPT_PASSWORD: /* authentication password */ - cur_acc->cred_info[cur_acc->cred_count].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD; - cur_acc->cred_info[cur_acc->cred_count].data = pj_str(pj_optarg); -#if PJSIP_HAS_DIGEST_AKA_AUTH - cur_acc->cred_info[cur_acc->cred_count].data_type |= PJSIP_CRED_DATA_EXT_AKA; - cur_acc->cred_info[cur_acc->cred_count].ext.aka.k = pj_str(pj_optarg); - cur_acc->cred_info[cur_acc->cred_count].ext.aka.cb = &pjsip_auth_create_aka_response; -#endif - break; - - case OPT_REG_RETRY_INTERVAL: - cur_acc->reg_retry_interval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); - break; - - case OPT_REG_USE_PROXY: - cur_acc->reg_use_proxy = (unsigned)pj_strtoul(pj_cstr(&tmp, pj_optarg)); - if (cur_acc->reg_use_proxy > 3) { - PJ_LOG(1,(THIS_FILE, "Error: invalid --reg-use-proxy value '%s'", - pj_optarg)); - return PJ_EINVAL; - } - break; - - case OPT_NEXT_CRED: /* next credential */ - cur_acc->cred_count++; - break; - - case OPT_NAMESERVER: /* nameserver */ - cfg->cfg.nameserver[cfg->cfg.nameserver_count++] = pj_str(pj_optarg); - if (cfg->cfg.nameserver_count > PJ_ARRAY_SIZE(cfg->cfg.nameserver)) { - PJ_LOG(1,(THIS_FILE, "Error: too many nameservers")); - return PJ_ETOOMANY; - } - break; - - case OPT_STUN_SRV: /* STUN server */ - cfg->cfg.stun_host = pj_str(pj_optarg); - if (cfg->cfg.stun_srv_cnt==PJ_ARRAY_SIZE(cfg->cfg.stun_srv)) { - PJ_LOG(1,(THIS_FILE, "Error: too many STUN servers")); - return PJ_ETOOMANY; - } - cfg->cfg.stun_srv[cfg->cfg.stun_srv_cnt++] = pj_str(pj_optarg); - break; - - case OPT_ADD_BUDDY: /* Add to buddy list. */ - if (pjsua_verify_url(pj_optarg) != 0) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid URL '%s' in " - "--add-buddy option", pj_optarg)); - return -1; - } - if (cfg->buddy_cnt == PJ_ARRAY_SIZE(cfg->buddy_cfg)) { - PJ_LOG(1,(THIS_FILE, - "Error: too many buddies in buddy list.")); - return -1; - } - cfg->buddy_cfg[cfg->buddy_cnt].uri = pj_str(pj_optarg); - cfg->buddy_cnt++; - break; - - case OPT_AUTO_PLAY: - cfg->auto_play = 1; - break; - - case OPT_AUTO_PLAY_HANGUP: - cfg->auto_play_hangup = 1; - break; - - case OPT_AUTO_REC: - cfg->auto_rec = 1; - break; - - case OPT_AUTO_LOOP: - cfg->auto_loop = 1; - break; - - case OPT_AUTO_CONF: - cfg->auto_conf = 1; - break; - - case OPT_PLAY_FILE: - cfg->wav_files[cfg->wav_count++] = pj_str(pj_optarg); - break; - - case OPT_PLAY_TONE: - { - int f1, f2, on, off; - int n; - - n = sscanf(pj_optarg, "%d,%d,%d,%d", &f1, &f2, &on, &off); - if (n != 4) { - puts("Expecting f1,f2,on,off in --play-tone"); - return -1; - } - - cfg->tones[cfg->tone_count].freq1 = (short)f1; - cfg->tones[cfg->tone_count].freq2 = (short)f2; - cfg->tones[cfg->tone_count].on_msec = (short)on; - cfg->tones[cfg->tone_count].off_msec = (short)off; - ++cfg->tone_count; - } - break; - - case OPT_REC_FILE: - cfg->rec_file = pj_str(pj_optarg); - break; - - case OPT_USE_ICE: - cfg->media_cfg.enable_ice = - cur_acc->ice_cfg.enable_ice = PJ_TRUE; - break; - - case OPT_ICE_REGULAR: - cfg->media_cfg.ice_opt.aggressive = - cur_acc->ice_cfg.ice_opt.aggressive = PJ_FALSE; - break; - - case OPT_USE_TURN: - cfg->media_cfg.enable_turn = - cur_acc->turn_cfg.enable_turn = PJ_TRUE; - break; - - case OPT_ICE_MAX_HOSTS: - cfg->media_cfg.ice_max_host_cands = - cur_acc->ice_cfg.ice_max_host_cands = my_atoi(pj_optarg); - break; - - case OPT_ICE_NO_RTCP: - cfg->media_cfg.ice_no_rtcp = - cur_acc->ice_cfg.ice_no_rtcp = PJ_TRUE; - break; - - case OPT_TURN_SRV: - cfg->media_cfg.turn_server = - cur_acc->turn_cfg.turn_server = pj_str(pj_optarg); - break; - - case OPT_TURN_TCP: - cfg->media_cfg.turn_conn_type = - cur_acc->turn_cfg.turn_conn_type = PJ_TURN_TP_TCP; - break; - - case OPT_TURN_USER: - cfg->media_cfg.turn_auth_cred.type = - cur_acc->turn_cfg.turn_auth_cred.type = PJ_STUN_AUTH_CRED_STATIC; - cfg->media_cfg.turn_auth_cred.data.static_cred.realm = - cur_acc->turn_cfg.turn_auth_cred.data.static_cred.realm = pj_str("*"); - cfg->media_cfg.turn_auth_cred.data.static_cred.username = - cur_acc->turn_cfg.turn_auth_cred.data.static_cred.username = pj_str(pj_optarg); - break; - - case OPT_TURN_PASSWD: - cfg->media_cfg.turn_auth_cred.data.static_cred.data_type = - cur_acc->turn_cfg.turn_auth_cred.data.static_cred.data_type = PJ_STUN_PASSWD_PLAIN; - cfg->media_cfg.turn_auth_cred.data.static_cred.data = - cur_acc->turn_cfg.turn_auth_cred.data.static_cred.data = pj_str(pj_optarg); - break; - -#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) - case OPT_USE_SRTP: - app_config.cfg.use_srtp = my_atoi(pj_optarg); - if (!pj_isdigit(*pj_optarg) || app_config.cfg.use_srtp > 3) { - PJ_LOG(1,(THIS_FILE, "Invalid value for --use-srtp option")); - return -1; - } - if ((int)app_config.cfg.use_srtp == 3) { - /* SRTP optional mode with duplicated media offer */ - app_config.cfg.use_srtp = PJMEDIA_SRTP_OPTIONAL; - app_config.cfg.srtp_optional_dup_offer = PJ_TRUE; - cur_acc->srtp_optional_dup_offer = PJ_TRUE; - } - cur_acc->use_srtp = app_config.cfg.use_srtp; - break; - case OPT_SRTP_SECURE: - app_config.cfg.srtp_secure_signaling = my_atoi(pj_optarg); - if (!pj_isdigit(*pj_optarg) || - app_config.cfg.srtp_secure_signaling > 2) - { - PJ_LOG(1,(THIS_FILE, "Invalid value for --srtp-secure option")); - return -1; - } - cur_acc->srtp_secure_signaling = app_config.cfg.srtp_secure_signaling; - break; -#endif - - case OPT_RTP_PORT: - cfg->rtp_cfg.port = my_atoi(pj_optarg); - if (cfg->rtp_cfg.port == 0) { - enum { START_PORT=4000 }; - unsigned range; - - range = (65535-START_PORT-PJSUA_MAX_CALLS*2); - cfg->rtp_cfg.port = START_PORT + - ((pj_rand() % range) & 0xFFFE); - } - - if (cfg->rtp_cfg.port < 1 || cfg->rtp_cfg.port > 65535) { - PJ_LOG(1,(THIS_FILE, - "Error: rtp-port argument value " - "(expecting 1-65535")); - return -1; - } - break; - - case OPT_DIS_CODEC: - cfg->codec_dis[cfg->codec_dis_cnt++] = pj_str(pj_optarg); - break; - - case OPT_ADD_CODEC: - cfg->codec_arg[cfg->codec_cnt++] = pj_str(pj_optarg); - break; - - /* These options were no longer valid after new pjsua */ - /* - case OPT_COMPLEXITY: - cfg->complexity = my_atoi(pj_optarg); - if (cfg->complexity < 0 || cfg->complexity > 10) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid --complexity (expecting 0-10")); - return -1; - } - break; - */ - - case OPT_DURATION: - cfg->duration = my_atoi(pj_optarg); - break; - - case OPT_THREAD_CNT: - cfg->cfg.thread_cnt = my_atoi(pj_optarg); - if (cfg->cfg.thread_cnt > 128) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid --thread-cnt option")); - return -1; - } - break; - - case OPT_PTIME: - cfg->media_cfg.ptime = my_atoi(pj_optarg); - if (cfg->media_cfg.ptime < 10 || cfg->media_cfg.ptime > 1000) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid --ptime option")); - return -1; - } - break; - - case OPT_NO_VAD: - cfg->media_cfg.no_vad = PJ_TRUE; - break; - - case OPT_EC_TAIL: - cfg->media_cfg.ec_tail_len = my_atoi(pj_optarg); - if (cfg->media_cfg.ec_tail_len > 1000) { - PJ_LOG(1,(THIS_FILE, "I think the ec-tail length setting " - "is too big")); - return -1; - } - break; - - case OPT_EC_OPT: - cfg->media_cfg.ec_options = my_atoi(pj_optarg); - break; - - case OPT_QUALITY: - cfg->media_cfg.quality = my_atoi(pj_optarg); - if (cfg->media_cfg.quality < 0 || cfg->media_cfg.quality > 10) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid --quality (expecting 0-10")); - return -1; - } - break; - - case OPT_ILBC_MODE: - cfg->media_cfg.ilbc_mode = my_atoi(pj_optarg); - if (cfg->media_cfg.ilbc_mode!=20 && cfg->media_cfg.ilbc_mode!=30) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid --ilbc-mode (expecting 20 or 30")); - return -1; - } - break; - - case OPT_RX_DROP_PCT: - cfg->media_cfg.rx_drop_pct = my_atoi(pj_optarg); - if (cfg->media_cfg.rx_drop_pct > 100) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid --rx-drop-pct (expecting <= 100")); - return -1; - } - break; - - case OPT_TX_DROP_PCT: - cfg->media_cfg.tx_drop_pct = my_atoi(pj_optarg); - if (cfg->media_cfg.tx_drop_pct > 100) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid --tx-drop-pct (expecting <= 100")); - return -1; - } - break; - - case OPT_AUTO_ANSWER: - cfg->auto_answer = my_atoi(pj_optarg); - if (cfg->auto_answer < 100 || cfg->auto_answer > 699) { - PJ_LOG(1,(THIS_FILE, - "Error: invalid code in --auto-answer " - "(expecting 100-699")); - return -1; - } - break; - - case OPT_MAX_CALLS: - cfg->cfg.max_calls = my_atoi(pj_optarg); - if (cfg->cfg.max_calls < 1 || cfg->cfg.max_calls > PJSUA_MAX_CALLS) { - PJ_LOG(1,(THIS_FILE,"Error: maximum call setting exceeds " - "compile time limit (PJSUA_MAX_CALLS=%d)", - PJSUA_MAX_CALLS)); - return -1; - } - break; - -#if defined(PJSIP_HAS_TLS_TRANSPORT) && (PJSIP_HAS_TLS_TRANSPORT != 0) - case OPT_USE_TLS: - cfg->use_tls = PJ_TRUE; - break; - - case OPT_TLS_CA_FILE: - cfg->udp_cfg.tls_setting.ca_list_file = pj_str(pj_optarg); - break; - - case OPT_TLS_CERT_FILE: - cfg->udp_cfg.tls_setting.cert_file = pj_str(pj_optarg); - break; - - case OPT_TLS_PRIV_FILE: - cfg->udp_cfg.tls_setting.privkey_file = pj_str(pj_optarg); - break; - - case OPT_TLS_PASSWORD: - cfg->udp_cfg.tls_setting.password = pj_str(pj_optarg); - break; - - case OPT_TLS_VERIFY_SERVER: - cfg->udp_cfg.tls_setting.verify_server = PJ_TRUE; - break; - - case OPT_TLS_VERIFY_CLIENT: - cfg->udp_cfg.tls_setting.verify_client = PJ_TRUE; - cfg->udp_cfg.tls_setting.require_client_cert = PJ_TRUE; - break; - - case OPT_TLS_NEG_TIMEOUT: - cfg->udp_cfg.tls_setting.timeout.sec = atoi(pj_optarg); - break; - - case OPT_TLS_CIPHER: - { - pj_ssl_cipher cipher; - - if (pj_ansi_strnicmp(pj_optarg, "0x", 2) == 0) { - pj_str_t cipher_st = pj_str(pj_optarg + 2); - cipher = pj_strtoul2(&cipher_st, NULL, 16); - } else { - cipher = atoi(pj_optarg); - } - - if (pj_ssl_cipher_is_supported(cipher)) { - static pj_ssl_cipher tls_ciphers[128]; - - tls_ciphers[cfg->udp_cfg.tls_setting.ciphers_num++] = cipher; - cfg->udp_cfg.tls_setting.ciphers = tls_ciphers; - } else { - pj_ssl_cipher ciphers[128]; - unsigned j, ciphers_cnt; - - ciphers_cnt = PJ_ARRAY_SIZE(ciphers); - pj_ssl_cipher_get_availables(ciphers, &ciphers_cnt); - - PJ_LOG(1,(THIS_FILE, "Cipher \"%s\" is not supported by " - "TLS/SSL backend.", pj_optarg)); - printf("Available TLS/SSL ciphers (%d):\n", ciphers_cnt); - for (j=0; j<ciphers_cnt; ++j) - printf("- 0x%06X: %s\n", ciphers[j], pj_ssl_cipher_name(ciphers[j])); - return -1; - } - } - break; -#endif /* PJSIP_HAS_TLS_TRANSPORT */ - - case OPT_CAPTURE_DEV: - cfg->capture_dev = atoi(pj_optarg); - break; - - case OPT_PLAYBACK_DEV: - cfg->playback_dev = atoi(pj_optarg); - break; - - case OPT_STDOUT_REFRESH: - stdout_refresh = atoi(pj_optarg); - break; - - case OPT_STDOUT_REFRESH_TEXT: - stdout_refresh_text = pj_optarg; - break; - -#ifdef _IONBF - case OPT_STDOUT_NO_BUF: - setvbuf(stdout, NULL, _IONBF, 0); - break; -#endif - - case OPT_CAPTURE_LAT: - cfg->capture_lat = atoi(pj_optarg); - break; - - case OPT_PLAYBACK_LAT: - cfg->playback_lat = atoi(pj_optarg); - break; - - case OPT_SND_AUTO_CLOSE: - cfg->media_cfg.snd_auto_close_time = atoi(pj_optarg); - break; - - case OPT_NO_TONES: - cfg->no_tones = PJ_TRUE; - break; - - case OPT_JB_MAX_SIZE: - cfg->media_cfg.jb_max = atoi(pj_optarg); - break; - -#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6 - case OPT_IPV6: - cfg->ipv6 = PJ_TRUE; - break; -#endif - case OPT_QOS: - cfg->enable_qos = PJ_TRUE; - /* Set RTP traffic type to Voice */ - cfg->rtp_cfg.qos_type = PJ_QOS_TYPE_VOICE; - /* Directly apply DSCP value to SIP traffic. Say lets - * set it to CS3 (DSCP 011000). Note that this will not - * work on all platforms. - */ - cfg->udp_cfg.qos_params.flags = PJ_QOS_PARAM_HAS_DSCP; - cfg->udp_cfg.qos_params.dscp_val = 0x18; - break; - case OPT_VIDEO: - cfg->vid.vid_cnt = 1; - cfg->vid.in_auto_show = PJ_TRUE; - cfg->vid.out_auto_transmit = PJ_TRUE; - break; - case OPT_EXTRA_AUDIO: - cfg->aud_cnt++; - break; - - case OPT_VCAPTURE_DEV: - cfg->vid.vcapture_dev = atoi(pj_optarg); - cur_acc->vid_cap_dev = cfg->vid.vcapture_dev; - break; - - case OPT_VRENDER_DEV: - cfg->vid.vrender_dev = atoi(pj_optarg); - cur_acc->vid_rend_dev = cfg->vid.vrender_dev; - break; - - case OPT_PLAY_AVI: - if (app_config.avi_cnt >= MAX_AVI) { - PJ_LOG(1,(THIS_FILE, "Too many AVIs")); - return -1; - } - app_config.avi[app_config.avi_cnt++].path = pj_str(pj_optarg); - break; - - case OPT_AUTO_PLAY_AVI: - app_config.avi_auto_play = PJ_TRUE; - break; - - default: - PJ_LOG(1,(THIS_FILE, - "Argument \"%s\" is not valid. Use --help to see help", - argv[pj_optind-1])); - return -1; - } - } - - if (pj_optind != argc) { - pj_str_t uri_arg; - - if (pjsua_verify_url(argv[pj_optind]) != PJ_SUCCESS) { - PJ_LOG(1,(THIS_FILE, "Invalid SIP URI %s", argv[pj_optind])); - return -1; - } - uri_arg = pj_str(argv[pj_optind]); - if (uri_to_call) - *uri_to_call = uri_arg; - pj_optind++; - - /* Add URI to call to buddy list if it's not already there */ - for (i=0; i<cfg->buddy_cnt; ++i) { - if (pj_stricmp(&cfg->buddy_cfg[i].uri, &uri_arg)==0) - break; - } - if (i == cfg->buddy_cnt && cfg->buddy_cnt < PJSUA_MAX_BUDDIES) { - cfg->buddy_cfg[cfg->buddy_cnt++].uri = uri_arg; - } - - } else { - if (uri_to_call) - uri_to_call->slen = 0; - } - - if (pj_optind != argc) { - PJ_LOG(1,(THIS_FILE, "Error: unknown options %s", argv[pj_optind])); - return PJ_EINVAL; - } - - if (cfg->acc_cfg[cfg->acc_cnt].id.slen) - cfg->acc_cnt++; - - for (i=0; i<cfg->acc_cnt; ++i) { - pjsua_acc_config *acfg = &cfg->acc_cfg[i]; - - if (acfg->cred_info[acfg->cred_count].username.slen) - { - acfg->cred_count++; - } - - if (acfg->ice_cfg.enable_ice) { - acfg->ice_cfg_use = PJSUA_ICE_CONFIG_USE_CUSTOM; - } - if (acfg->turn_cfg.enable_turn) { - acfg->turn_cfg_use = PJSUA_TURN_CONFIG_USE_CUSTOM; - } - - /* When IMS mode is enabled for the account, verify that settings - * are okay. - */ - /* For now we check if IMS mode is activated by looking if - * initial_auth is set. - */ - if (acfg->auth_pref.initial_auth && acfg->cred_count) { - /* Realm must point to the real domain */ - if (*acfg->cred_info[0].realm.ptr=='*') { - PJ_LOG(1,(THIS_FILE, - "Error: cannot use '*' as realm with IMS")); - return PJ_EINVAL; - } - - /* Username for authentication must be in a@b format */ - if (strchr(acfg->cred_info[0].username.ptr, '@')==0) { - PJ_LOG(1,(THIS_FILE, - "Error: Username for authentication must " - "be in user@domain format with IMS")); - return PJ_EINVAL; - } - } - } - - - return PJ_SUCCESS; -} - - -/* - * Save account settings - */ -static void write_account_settings(int acc_index, pj_str_t *result) -{ - unsigned i; - char line[128]; - pjsua_acc_config *acc_cfg = &app_config.acc_cfg[acc_index]; - - - pj_ansi_sprintf(line, "\n#\n# Account %d:\n#\n", acc_index); - pj_strcat2(result, line); - - - /* Identity */ - if (acc_cfg->id.slen) { - pj_ansi_sprintf(line, "--id %.*s\n", - (int)acc_cfg->id.slen, - acc_cfg->id.ptr); - pj_strcat2(result, line); - } - - /* Registrar server */ - if (acc_cfg->reg_uri.slen) { - pj_ansi_sprintf(line, "--registrar %.*s\n", - (int)acc_cfg->reg_uri.slen, - acc_cfg->reg_uri.ptr); - pj_strcat2(result, line); - - pj_ansi_sprintf(line, "--reg-timeout %u\n", - acc_cfg->reg_timeout); - pj_strcat2(result, line); - } - - /* Contact */ - if (acc_cfg->force_contact.slen) { - pj_ansi_sprintf(line, "--contact %.*s\n", - (int)acc_cfg->force_contact.slen, - acc_cfg->force_contact.ptr); - pj_strcat2(result, line); - } - - /* Contact header parameters */ - if (acc_cfg->contact_params.slen) { - pj_ansi_sprintf(line, "--contact-params %.*s\n", - (int)acc_cfg->contact_params.slen, - acc_cfg->contact_params.ptr); - pj_strcat2(result, line); - } - - /* Contact URI parameters */ - if (acc_cfg->contact_uri_params.slen) { - pj_ansi_sprintf(line, "--contact-uri-params %.*s\n", - (int)acc_cfg->contact_uri_params.slen, - acc_cfg->contact_uri_params.ptr); - pj_strcat2(result, line); - } - - /* */ - if (acc_cfg->allow_contact_rewrite!=1) - { - pj_ansi_sprintf(line, "--auto-update-nat %i\n", - (int)acc_cfg->allow_contact_rewrite); - pj_strcat2(result, line); - } - -#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) - /* SRTP */ - if (acc_cfg->use_srtp) { - int use_srtp = (int)acc_cfg->use_srtp; - if (use_srtp == PJMEDIA_SRTP_OPTIONAL && - acc_cfg->srtp_optional_dup_offer) - { - use_srtp = 3; - } - pj_ansi_sprintf(line, "--use-srtp %i\n", use_srtp); - pj_strcat2(result, line); - } - if (acc_cfg->srtp_secure_signaling != - PJSUA_DEFAULT_SRTP_SECURE_SIGNALING) - { - pj_ansi_sprintf(line, "--srtp-secure %d\n", - acc_cfg->srtp_secure_signaling); - pj_strcat2(result, line); - } -#endif - - /* Proxy */ - for (i=0; i<acc_cfg->proxy_cnt; ++i) { - pj_ansi_sprintf(line, "--proxy %.*s\n", - (int)acc_cfg->proxy[i].slen, - acc_cfg->proxy[i].ptr); - pj_strcat2(result, line); - } - - /* Credentials */ - for (i=0; i<acc_cfg->cred_count; ++i) { - if (acc_cfg->cred_info[i].realm.slen) { - pj_ansi_sprintf(line, "--realm %.*s\n", - (int)acc_cfg->cred_info[i].realm.slen, - acc_cfg->cred_info[i].realm.ptr); - pj_strcat2(result, line); - } - - if (acc_cfg->cred_info[i].username.slen) { - pj_ansi_sprintf(line, "--username %.*s\n", - (int)acc_cfg->cred_info[i].username.slen, - acc_cfg->cred_info[i].username.ptr); - pj_strcat2(result, line); - } - - if (acc_cfg->cred_info[i].data.slen) { - pj_ansi_sprintf(line, "--password %.*s\n", - (int)acc_cfg->cred_info[i].data.slen, - acc_cfg->cred_info[i].data.ptr); - pj_strcat2(result, line); - } - - if (i != acc_cfg->cred_count - 1) - pj_strcat2(result, "--next-cred\n"); - } - - /* reg-use-proxy */ - if (acc_cfg->reg_use_proxy != 3) { - pj_ansi_sprintf(line, "--reg-use-proxy %d\n", - acc_cfg->reg_use_proxy); - pj_strcat2(result, line); - } - - /* rereg-delay */ - if (acc_cfg->reg_retry_interval != PJSUA_REG_RETRY_INTERVAL) { - pj_ansi_sprintf(line, "--rereg-delay %d\n", - acc_cfg->reg_retry_interval); - pj_strcat2(result, line); - } - - /* 100rel extension */ - if (acc_cfg->require_100rel) { - pj_strcat2(result, "--use-100rel\n"); - } - - /* Session Timer extension */ - if (acc_cfg->use_timer) { - pj_ansi_sprintf(line, "--use-timer %d\n", - acc_cfg->use_timer); - pj_strcat2(result, line); - } - if (acc_cfg->timer_setting.min_se != 90) { - pj_ansi_sprintf(line, "--timer-min-se %d\n", - acc_cfg->timer_setting.min_se); - pj_strcat2(result, line); - } - if (acc_cfg->timer_setting.sess_expires != PJSIP_SESS_TIMER_DEF_SE) { - pj_ansi_sprintf(line, "--timer-se %d\n", - acc_cfg->timer_setting.sess_expires); - pj_strcat2(result, line); - } - - /* Publish */ - if (acc_cfg->publish_enabled) - pj_strcat2(result, "--publish\n"); - - /* MWI */ - if (acc_cfg->mwi_enabled) - pj_strcat2(result, "--mwi\n"); - - if (acc_cfg->sip_stun_use != PJSUA_STUN_USE_DEFAULT || - acc_cfg->media_stun_use != PJSUA_STUN_USE_DEFAULT) - { - pj_strcat2(result, "--disable-stun\n"); - } - - /* Media Transport*/ - if (acc_cfg->ice_cfg.enable_ice) - pj_strcat2(result, "--use-ice\n"); - - if (acc_cfg->ice_cfg.ice_opt.aggressive == PJ_FALSE) - pj_strcat2(result, "--ice-regular\n"); - - if (acc_cfg->turn_cfg.enable_turn) - pj_strcat2(result, "--use-turn\n"); - - if (acc_cfg->ice_cfg.ice_max_host_cands >= 0) { - pj_ansi_sprintf(line, "--ice_max_host_cands %d\n", - acc_cfg->ice_cfg.ice_max_host_cands); - pj_strcat2(result, line); - } - - if (acc_cfg->ice_cfg.ice_no_rtcp) - pj_strcat2(result, "--ice-no-rtcp\n"); - - if (acc_cfg->turn_cfg.turn_server.slen) { - pj_ansi_sprintf(line, "--turn-srv %.*s\n", - (int)acc_cfg->turn_cfg.turn_server.slen, - acc_cfg->turn_cfg.turn_server.ptr); - pj_strcat2(result, line); - } - - if (acc_cfg->turn_cfg.turn_conn_type == PJ_TURN_TP_TCP) - pj_strcat2(result, "--turn-tcp\n"); - - if (acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.username.slen) { - pj_ansi_sprintf(line, "--turn-user %.*s\n", - (int)acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.username.slen, - acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.username.ptr); - pj_strcat2(result, line); - } - - if (acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.data.slen) { - pj_ansi_sprintf(line, "--turn-passwd %.*s\n", - (int)acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.data.slen, - acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.data.ptr); - pj_strcat2(result, line); - } -} - - -/* - * Write settings. - */ -static int write_settings(const struct app_config *config, - char *buf, pj_size_t max) -{ - unsigned acc_index; - unsigned i; - pj_str_t cfg; - char line[128]; - extern pj_bool_t pjsip_use_compact_form; - - PJ_UNUSED_ARG(max); - - cfg.ptr = buf; - cfg.slen = 0; - - /* Logging. */ - pj_strcat2(&cfg, "#\n# Logging options:\n#\n"); - pj_ansi_sprintf(line, "--log-level %d\n", - config->log_cfg.level); - pj_strcat2(&cfg, line); - - pj_ansi_sprintf(line, "--app-log-level %d\n", - config->log_cfg.console_level); - pj_strcat2(&cfg, line); - - if (config->log_cfg.log_filename.slen) { - pj_ansi_sprintf(line, "--log-file %.*s\n", - (int)config->log_cfg.log_filename.slen, - config->log_cfg.log_filename.ptr); - pj_strcat2(&cfg, line); - } - - if (config->log_cfg.log_file_flags & PJ_O_APPEND) { - pj_strcat2(&cfg, "--log-append\n"); - } - - /* Save account settings. */ - for (acc_index=0; acc_index < config->acc_cnt; ++acc_index) { - - write_account_settings(acc_index, &cfg); - - if (acc_index < config->acc_cnt-1) - pj_strcat2(&cfg, "--next-account\n"); - } - - - pj_strcat2(&cfg, "\n#\n# Network settings:\n#\n"); - - /* Nameservers */ - for (i=0; i<config->cfg.nameserver_count; ++i) { - pj_ansi_sprintf(line, "--nameserver %.*s\n", - (int)config->cfg.nameserver[i].slen, - config->cfg.nameserver[i].ptr); - pj_strcat2(&cfg, line); - } - - /* Outbound proxy */ - for (i=0; i<config->cfg.outbound_proxy_cnt; ++i) { - pj_ansi_sprintf(line, "--outbound %.*s\n", - (int)config->cfg.outbound_proxy[i].slen, - config->cfg.outbound_proxy[i].ptr); - pj_strcat2(&cfg, line); - } - - /* Transport options */ - if (config->ipv6) { - pj_strcat2(&cfg, "--ipv6\n"); - } - if (config->enable_qos) { - pj_strcat2(&cfg, "--set-qos\n"); - } - - /* UDP Transport. */ - pj_ansi_sprintf(line, "--local-port %d\n", config->udp_cfg.port); - pj_strcat2(&cfg, line); - - /* IP address, if any. */ - if (config->udp_cfg.public_addr.slen) { - pj_ansi_sprintf(line, "--ip-addr %.*s\n", - (int)config->udp_cfg.public_addr.slen, - config->udp_cfg.public_addr.ptr); - pj_strcat2(&cfg, line); - } - - /* Bound IP address, if any. */ - if (config->udp_cfg.bound_addr.slen) { - pj_ansi_sprintf(line, "--bound-addr %.*s\n", - (int)config->udp_cfg.bound_addr.slen, - config->udp_cfg.bound_addr.ptr); - pj_strcat2(&cfg, line); - } - - /* No TCP ? */ - if (config->no_tcp) { - pj_strcat2(&cfg, "--no-tcp\n"); - } - - /* No UDP ? */ - if (config->no_udp) { - pj_strcat2(&cfg, "--no-udp\n"); - } - - /* STUN */ - for (i=0; i<config->cfg.stun_srv_cnt; ++i) { - pj_ansi_sprintf(line, "--stun-srv %.*s\n", - (int)config->cfg.stun_srv[i].slen, - config->cfg.stun_srv[i].ptr); - pj_strcat2(&cfg, line); - } - -#if defined(PJSIP_HAS_TLS_TRANSPORT) && (PJSIP_HAS_TLS_TRANSPORT != 0) - /* TLS */ - if (config->use_tls) - pj_strcat2(&cfg, "--use-tls\n"); - if (config->udp_cfg.tls_setting.ca_list_file.slen) { - pj_ansi_sprintf(line, "--tls-ca-file %.*s\n", - (int)config->udp_cfg.tls_setting.ca_list_file.slen, - config->udp_cfg.tls_setting.ca_list_file.ptr); - pj_strcat2(&cfg, line); - } - if (config->udp_cfg.tls_setting.cert_file.slen) { - pj_ansi_sprintf(line, "--tls-cert-file %.*s\n", - (int)config->udp_cfg.tls_setting.cert_file.slen, - config->udp_cfg.tls_setting.cert_file.ptr); - pj_strcat2(&cfg, line); - } - if (config->udp_cfg.tls_setting.privkey_file.slen) { - pj_ansi_sprintf(line, "--tls-privkey-file %.*s\n", - (int)config->udp_cfg.tls_setting.privkey_file.slen, - config->udp_cfg.tls_setting.privkey_file.ptr); - pj_strcat2(&cfg, line); - } - - if (config->udp_cfg.tls_setting.password.slen) { - pj_ansi_sprintf(line, "--tls-password %.*s\n", - (int)config->udp_cfg.tls_setting.password.slen, - config->udp_cfg.tls_setting.password.ptr); - pj_strcat2(&cfg, line); - } - - if (config->udp_cfg.tls_setting.verify_server) - pj_strcat2(&cfg, "--tls-verify-server\n"); - - if (config->udp_cfg.tls_setting.verify_client) - pj_strcat2(&cfg, "--tls-verify-client\n"); - - if (config->udp_cfg.tls_setting.timeout.sec) { - pj_ansi_sprintf(line, "--tls-neg-timeout %d\n", - (int)config->udp_cfg.tls_setting.timeout.sec); - pj_strcat2(&cfg, line); - } - - for (i=0; i<config->udp_cfg.tls_setting.ciphers_num; ++i) { - pj_ansi_sprintf(line, "--tls-cipher 0x%06X # %s\n", - config->udp_cfg.tls_setting.ciphers[i], - pj_ssl_cipher_name(config->udp_cfg.tls_setting.ciphers[i])); - pj_strcat2(&cfg, line); - } -#endif - - pj_strcat2(&cfg, "\n#\n# Media settings:\n#\n"); - - /* Video & extra audio */ - for (i=0; i<config->vid.vid_cnt; ++i) { - pj_strcat2(&cfg, "--video\n"); - } - for (i=1; i<config->aud_cnt; ++i) { - pj_strcat2(&cfg, "--extra-audio\n"); - } - - /* SRTP */ -#if PJMEDIA_HAS_SRTP - if (app_config.cfg.use_srtp != PJSUA_DEFAULT_USE_SRTP) { - int use_srtp = (int)app_config.cfg.use_srtp; - if (use_srtp == PJMEDIA_SRTP_OPTIONAL && - app_config.cfg.srtp_optional_dup_offer) - { - use_srtp = 3; - } - pj_ansi_sprintf(line, "--use-srtp %d\n", use_srtp); - pj_strcat2(&cfg, line); - } - if (app_config.cfg.srtp_secure_signaling != - PJSUA_DEFAULT_SRTP_SECURE_SIGNALING) - { - pj_ansi_sprintf(line, "--srtp-secure %d\n", - app_config.cfg.srtp_secure_signaling); - pj_strcat2(&cfg, line); - } -#endif - - /* Media */ - if (config->null_audio) - pj_strcat2(&cfg, "--null-audio\n"); - if (config->auto_play) - pj_strcat2(&cfg, "--auto-play\n"); - if (config->auto_loop) - pj_strcat2(&cfg, "--auto-loop\n"); - if (config->auto_conf) - pj_strcat2(&cfg, "--auto-conf\n"); - for (i=0; i<config->wav_count; ++i) { - pj_ansi_sprintf(line, "--play-file %s\n", - config->wav_files[i].ptr); - pj_strcat2(&cfg, line); - } - for (i=0; i<config->tone_count; ++i) { - pj_ansi_sprintf(line, "--play-tone %d,%d,%d,%d\n", - config->tones[i].freq1, config->tones[i].freq2, - config->tones[i].on_msec, config->tones[i].off_msec); - pj_strcat2(&cfg, line); - } - if (config->rec_file.slen) { - pj_ansi_sprintf(line, "--rec-file %s\n", - config->rec_file.ptr); - pj_strcat2(&cfg, line); - } - if (config->auto_rec) - pj_strcat2(&cfg, "--auto-rec\n"); - if (config->capture_dev != PJSUA_INVALID_ID) { - pj_ansi_sprintf(line, "--capture-dev %d\n", config->capture_dev); - pj_strcat2(&cfg, line); - } - if (config->playback_dev != PJSUA_INVALID_ID) { - pj_ansi_sprintf(line, "--playback-dev %d\n", config->playback_dev); - pj_strcat2(&cfg, line); - } - if (config->media_cfg.snd_auto_close_time != -1) { - pj_ansi_sprintf(line, "--snd-auto-close %d\n", - config->media_cfg.snd_auto_close_time); - pj_strcat2(&cfg, line); - } - if (config->no_tones) { - pj_strcat2(&cfg, "--no-tones\n"); - } - if (config->media_cfg.jb_max != -1) { - pj_ansi_sprintf(line, "--jb-max-size %d\n", - config->media_cfg.jb_max); - pj_strcat2(&cfg, line); - } - - /* Sound device latency */ - if (config->capture_lat != PJMEDIA_SND_DEFAULT_REC_LATENCY) { - pj_ansi_sprintf(line, "--capture-lat %d\n", config->capture_lat); - pj_strcat2(&cfg, line); - } - if (config->playback_lat != PJMEDIA_SND_DEFAULT_PLAY_LATENCY) { - pj_ansi_sprintf(line, "--playback-lat %d\n", config->playback_lat); - pj_strcat2(&cfg, line); - } - - /* Media clock rate. */ - if (config->media_cfg.clock_rate != PJSUA_DEFAULT_CLOCK_RATE) { - pj_ansi_sprintf(line, "--clock-rate %d\n", - config->media_cfg.clock_rate); - pj_strcat2(&cfg, line); - } else { - pj_ansi_sprintf(line, "#using default --clock-rate %d\n", - config->media_cfg.clock_rate); - pj_strcat2(&cfg, line); - } - - if (config->media_cfg.snd_clock_rate && - config->media_cfg.snd_clock_rate != config->media_cfg.clock_rate) - { - pj_ansi_sprintf(line, "--snd-clock-rate %d\n", - config->media_cfg.snd_clock_rate); - pj_strcat2(&cfg, line); - } - - /* Stereo mode. */ - if (config->media_cfg.channel_count == 2) { - pj_ansi_sprintf(line, "--stereo\n"); - pj_strcat2(&cfg, line); - } - - /* quality */ - if (config->media_cfg.quality != PJSUA_DEFAULT_CODEC_QUALITY) { - pj_ansi_sprintf(line, "--quality %d\n", - config->media_cfg.quality); - pj_strcat2(&cfg, line); - } else { - pj_ansi_sprintf(line, "#using default --quality %d\n", - config->media_cfg.quality); - pj_strcat2(&cfg, line); - } - - if (config->vid.vcapture_dev != PJMEDIA_VID_DEFAULT_CAPTURE_DEV) { - pj_ansi_sprintf(line, "--vcapture-dev %d\n", config->vid.vcapture_dev); - pj_strcat2(&cfg, line); - } - if (config->vid.vrender_dev != PJMEDIA_VID_DEFAULT_RENDER_DEV) { - pj_ansi_sprintf(line, "--vrender-dev %d\n", config->vid.vrender_dev); - pj_strcat2(&cfg, line); - } - for (i=0; i<config->avi_cnt; ++i) { - pj_ansi_sprintf(line, "--play-avi %s\n", config->avi[i].path.ptr); - pj_strcat2(&cfg, line); - } - if (config->avi_auto_play) { - pj_ansi_sprintf(line, "--auto-play-avi\n"); - pj_strcat2(&cfg, line); - } - - /* ptime */ - if (config->media_cfg.ptime) { - pj_ansi_sprintf(line, "--ptime %d\n", - config->media_cfg.ptime); - pj_strcat2(&cfg, line); - } - - /* no-vad */ - if (config->media_cfg.no_vad) { - pj_strcat2(&cfg, "--no-vad\n"); - } - - /* ec-tail */ - if (config->media_cfg.ec_tail_len != PJSUA_DEFAULT_EC_TAIL_LEN) { - pj_ansi_sprintf(line, "--ec-tail %d\n", - config->media_cfg.ec_tail_len); - pj_strcat2(&cfg, line); - } else { - pj_ansi_sprintf(line, "#using default --ec-tail %d\n", - config->media_cfg.ec_tail_len); - pj_strcat2(&cfg, line); - } - - /* ec-opt */ - if (config->media_cfg.ec_options != 0) { - pj_ansi_sprintf(line, "--ec-opt %d\n", - config->media_cfg.ec_options); - pj_strcat2(&cfg, line); - } - - /* ilbc-mode */ - if (config->media_cfg.ilbc_mode != PJSUA_DEFAULT_ILBC_MODE) { - pj_ansi_sprintf(line, "--ilbc-mode %d\n", - config->media_cfg.ilbc_mode); - pj_strcat2(&cfg, line); - } else { - pj_ansi_sprintf(line, "#using default --ilbc-mode %d\n", - config->media_cfg.ilbc_mode); - pj_strcat2(&cfg, line); - } - - /* RTP drop */ - if (config->media_cfg.tx_drop_pct) { - pj_ansi_sprintf(line, "--tx-drop-pct %d\n", - config->media_cfg.tx_drop_pct); - pj_strcat2(&cfg, line); - - } - if (config->media_cfg.rx_drop_pct) { - pj_ansi_sprintf(line, "--rx-drop-pct %d\n", - config->media_cfg.rx_drop_pct); - pj_strcat2(&cfg, line); - - } - - - /* Start RTP port. */ - pj_ansi_sprintf(line, "--rtp-port %d\n", - config->rtp_cfg.port); - pj_strcat2(&cfg, line); - - /* Disable codec */ - for (i=0; i<config->codec_dis_cnt; ++i) { - pj_ansi_sprintf(line, "--dis-codec %s\n", - config->codec_dis[i].ptr); - pj_strcat2(&cfg, line); - } - /* Add codec. */ - for (i=0; i<config->codec_cnt; ++i) { - pj_ansi_sprintf(line, "--add-codec %s\n", - config->codec_arg[i].ptr); - pj_strcat2(&cfg, line); - } - - pj_strcat2(&cfg, "\n#\n# User agent:\n#\n"); - - /* Auto-answer. */ - if (config->auto_answer != 0) { - pj_ansi_sprintf(line, "--auto-answer %d\n", - config->auto_answer); - pj_strcat2(&cfg, line); - } - - /* accept-redirect */ - if (config->redir_op != PJSIP_REDIRECT_ACCEPT_REPLACE) { - pj_ansi_sprintf(line, "--accept-redirect %d\n", - config->redir_op); - pj_strcat2(&cfg, line); - } - - /* Max calls. */ - pj_ansi_sprintf(line, "--max-calls %d\n", - config->cfg.max_calls); - pj_strcat2(&cfg, line); - - /* Uas-duration. */ - if (config->duration != NO_LIMIT) { - pj_ansi_sprintf(line, "--duration %d\n", - config->duration); - pj_strcat2(&cfg, line); - } - - /* norefersub ? */ - if (config->no_refersub) { - pj_strcat2(&cfg, "--norefersub\n"); - } - - if (pjsip_use_compact_form) - { - pj_strcat2(&cfg, "--use-compact-form\n"); - } - - if (!config->cfg.force_lr) { - pj_strcat2(&cfg, "--no-force-lr\n"); - } - - pj_strcat2(&cfg, "\n#\n# Buddies:\n#\n"); - - /* Add buddies. */ - for (i=0; i<config->buddy_cnt; ++i) { - pj_ansi_sprintf(line, "--add-buddy %.*s\n", - (int)config->buddy_cfg[i].uri.slen, - config->buddy_cfg[i].uri.ptr); - pj_strcat2(&cfg, line); - } - - /* SIP extensions. */ - pj_strcat2(&cfg, "\n#\n# SIP extensions:\n#\n"); - /* 100rel extension */ - if (config->cfg.require_100rel) { - pj_strcat2(&cfg, "--use-100rel\n"); - } - /* Session Timer extension */ - if (config->cfg.use_timer) { - pj_ansi_sprintf(line, "--use-timer %d\n", - config->cfg.use_timer); - pj_strcat2(&cfg, line); - } - if (config->cfg.timer_setting.min_se != 90) { - pj_ansi_sprintf(line, "--timer-min-se %d\n", - config->cfg.timer_setting.min_se); - pj_strcat2(&cfg, line); - } - if (config->cfg.timer_setting.sess_expires != PJSIP_SESS_TIMER_DEF_SE) { - pj_ansi_sprintf(line, "--timer-se %d\n", - config->cfg.timer_setting.sess_expires); - pj_strcat2(&cfg, line); - } - - *(cfg.ptr + cfg.slen) = '\0'; - return cfg.slen; -} - - -/* - * Dump application states. - */ -static void app_dump(pj_bool_t detail) -{ - pjsua_dump(detail); -} - -/* - * Print log of call states. Since call states may be too long for logger, - * printing it is a bit tricky, it should be printed part by part as long - * as the logger can accept. - */ -static void log_call_dump(int call_id) -{ - unsigned call_dump_len; - unsigned part_len; - unsigned part_idx; - unsigned log_decor; - - pjsua_call_dump(call_id, PJ_TRUE, some_buf, - sizeof(some_buf), " "); - call_dump_len = strlen(some_buf); - - log_decor = pj_log_get_decor(); - pj_log_set_decor(log_decor & ~(PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_CR)); - PJ_LOG(3,(THIS_FILE, "\n")); - pj_log_set_decor(0); - - part_idx = 0; - part_len = PJ_LOG_MAX_SIZE-80; - while (part_idx < call_dump_len) { - char p_orig, *p; - - p = &some_buf[part_idx]; - if (part_idx + part_len > call_dump_len) - part_len = call_dump_len - part_idx; - p_orig = p[part_len]; - p[part_len] = '\0'; - PJ_LOG(3,(THIS_FILE, "%s", p)); - p[part_len] = p_orig; - part_idx += part_len; - } - pj_log_set_decor(log_decor); -} - -/***************************************************************************** - * Console application - */ - -static void ringback_start(pjsua_call_id call_id) -{ - if (app_config.no_tones) - return; - - if (app_config.call_data[call_id].ringback_on) - return; - - app_config.call_data[call_id].ringback_on = PJ_TRUE; - - if (++app_config.ringback_cnt==1 && - app_config.ringback_slot!=PJSUA_INVALID_ID) - { - pjsua_conf_connect(app_config.ringback_slot, 0); - } -} - -static void ring_stop(pjsua_call_id call_id) -{ - if (app_config.no_tones) - return; - - if (app_config.call_data[call_id].ringback_on) { - app_config.call_data[call_id].ringback_on = PJ_FALSE; - - pj_assert(app_config.ringback_cnt>0); - if (--app_config.ringback_cnt == 0 && - app_config.ringback_slot!=PJSUA_INVALID_ID) - { - pjsua_conf_disconnect(app_config.ringback_slot, 0); - pjmedia_tonegen_rewind(app_config.ringback_port); - } - } - - if (app_config.call_data[call_id].ring_on) { - app_config.call_data[call_id].ring_on = PJ_FALSE; - - pj_assert(app_config.ring_cnt>0); - if (--app_config.ring_cnt == 0 && - app_config.ring_slot!=PJSUA_INVALID_ID) - { - pjsua_conf_disconnect(app_config.ring_slot, 0); - pjmedia_tonegen_rewind(app_config.ring_port); - } - } -} - -static void ring_start(pjsua_call_id call_id) -{ - if (app_config.no_tones) - return; - - if (app_config.call_data[call_id].ring_on) - return; - - app_config.call_data[call_id].ring_on = PJ_TRUE; - - if (++app_config.ring_cnt==1 && - app_config.ring_slot!=PJSUA_INVALID_ID) - { - pjsua_conf_connect(app_config.ring_slot, 0); - } -} - -#ifdef HAVE_MULTIPART_TEST - /* - * Enable multipart in msg_data and add a dummy body into the - * multipart bodies. - */ - static void add_multipart(pjsua_msg_data *msg_data) - { - static pjsip_multipart_part *alt_part; - - if (!alt_part) { - pj_str_t type, subtype, content; - - alt_part = pjsip_multipart_create_part(app_config.pool); - - type = pj_str("text"); - subtype = pj_str("plain"); - content = pj_str("Sample text body of a multipart bodies"); - alt_part->body = pjsip_msg_body_create(app_config.pool, &type, - &subtype, &content); - } - - msg_data->multipart_ctype.type = pj_str("multipart"); - msg_data->multipart_ctype.subtype = pj_str("mixed"); - pj_list_push_back(&msg_data->multipart_parts, alt_part); - } -# define TEST_MULTIPART(msg_data) add_multipart(msg_data) -#else -# define TEST_MULTIPART(msg_data) -#endif - -/* - * Find next call when current call is disconnected or when user - * press ']' - */ -static pj_bool_t find_next_call(void) -{ - int i, max; - - max = pjsua_call_get_max_count(); - for (i=current_call+1; i<max; ++i) { - if (pjsua_call_is_active(i)) { - current_call = i; - return PJ_TRUE; - } - } - - for (i=0; i<current_call; ++i) { - if (pjsua_call_is_active(i)) { - current_call = i; - return PJ_TRUE; - } - } - - current_call = PJSUA_INVALID_ID; - return PJ_FALSE; -} - - -/* - * Find previous call when user press '[' - */ -static pj_bool_t find_prev_call(void) -{ - int i, max; - - max = pjsua_call_get_max_count(); - for (i=current_call-1; i>=0; --i) { - if (pjsua_call_is_active(i)) { - current_call = i; - return PJ_TRUE; - } - } - - for (i=max-1; i>current_call; --i) { - if (pjsua_call_is_active(i)) { - current_call = i; - return PJ_TRUE; - } - } - - current_call = PJSUA_INVALID_ID; - return PJ_FALSE; -} - - -/* Callback from timer when the maximum call duration has been - * exceeded. - */ -static void call_timeout_callback(pj_timer_heap_t *timer_heap, - struct pj_timer_entry *entry) -{ - pjsua_call_id call_id = entry->id; - pjsua_msg_data msg_data; - pjsip_generic_string_hdr warn; - pj_str_t hname = pj_str("Warning"); - pj_str_t hvalue = pj_str("399 pjsua \"Call duration exceeded\""); - - PJ_UNUSED_ARG(timer_heap); - - if (call_id == PJSUA_INVALID_ID) { - PJ_LOG(1,(THIS_FILE, "Invalid call ID in timer callback")); - return; - } - - /* Add warning header */ - pjsua_msg_data_init(&msg_data); - pjsip_generic_string_hdr_init2(&warn, &hname, &hvalue); - pj_list_push_back(&msg_data.hdr_list, &warn); - - /* Call duration has been exceeded; disconnect the call */ - PJ_LOG(3,(THIS_FILE, "Duration (%d seconds) has been exceeded " - "for call %d, disconnecting the call", - app_config.duration, call_id)); - entry->id = PJSUA_INVALID_ID; - pjsua_call_hangup(call_id, 200, NULL, &msg_data); -} - - -/* - * Handler when invite state has changed. - */ -static void on_call_state(pjsua_call_id call_id, pjsip_event *e) -{ - pjsua_call_info call_info; - - PJ_UNUSED_ARG(e); - - pjsua_call_get_info(call_id, &call_info); - - if (call_info.state == PJSIP_INV_STATE_DISCONNECTED) { - - /* Stop all ringback for this call */ - ring_stop(call_id); - - /* Cancel duration timer, if any */ - if (app_config.call_data[call_id].timer.id != PJSUA_INVALID_ID) { - struct call_data *cd = &app_config.call_data[call_id]; - pjsip_endpoint *endpt = pjsua_get_pjsip_endpt(); - - cd->timer.id = PJSUA_INVALID_ID; - pjsip_endpt_cancel_timer(endpt, &cd->timer); - } - - /* Rewind play file when hangup automatically, - * since file is not looped - */ - if (app_config.auto_play_hangup) - pjsua_player_set_pos(app_config.wav_id, 0); - - - PJ_LOG(3,(THIS_FILE, "Call %d is DISCONNECTED [reason=%d (%s)]", - call_id, - call_info.last_status, - call_info.last_status_text.ptr)); - - if (call_id == current_call) { - find_next_call(); - } - - /* Dump media state upon disconnected */ - if (1) { - PJ_LOG(5,(THIS_FILE, - "Call %d disconnected, dumping media stats..", - call_id)); - log_call_dump(call_id); - } - - } else { - - if (app_config.duration!=NO_LIMIT && - call_info.state == PJSIP_INV_STATE_CONFIRMED) - { - /* Schedule timer to hangup call after the specified duration */ - struct call_data *cd = &app_config.call_data[call_id]; - pjsip_endpoint *endpt = pjsua_get_pjsip_endpt(); - pj_time_val delay; - - cd->timer.id = call_id; - delay.sec = app_config.duration; - delay.msec = 0; - pjsip_endpt_schedule_timer(endpt, &cd->timer, &delay); - } - - if (call_info.state == PJSIP_INV_STATE_EARLY) { - int code; - pj_str_t reason; - pjsip_msg *msg; - - /* This can only occur because of TX or RX message */ - pj_assert(e->type == PJSIP_EVENT_TSX_STATE); - - if (e->body.tsx_state.type == PJSIP_EVENT_RX_MSG) { - msg = e->body.tsx_state.src.rdata->msg_info.msg; - } else { - msg = e->body.tsx_state.src.tdata->msg; - } - - code = msg->line.status.code; - reason = msg->line.status.reason; - - /* Start ringback for 180 for UAC unless there's SDP in 180 */ - if (call_info.role==PJSIP_ROLE_UAC && code==180 && - msg->body == NULL && - call_info.media_status==PJSUA_CALL_MEDIA_NONE) - { - ringback_start(call_id); - } - - PJ_LOG(3,(THIS_FILE, "Call %d state changed to %s (%d %.*s)", - call_id, call_info.state_text.ptr, - code, (int)reason.slen, reason.ptr)); - } else { - PJ_LOG(3,(THIS_FILE, "Call %d state changed to %s", - call_id, - call_info.state_text.ptr)); - } - - if (current_call==PJSUA_INVALID_ID) - current_call = call_id; - - } -} - - -/** - * Handler when there is incoming call. - */ -static void on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, - pjsip_rx_data *rdata) -{ - pjsua_call_info call_info; - - PJ_UNUSED_ARG(acc_id); - PJ_UNUSED_ARG(rdata); - - pjsua_call_get_info(call_id, &call_info); - - if (current_call==PJSUA_INVALID_ID) - current_call = call_id; - -#ifdef USE_GUI - if (!showNotification(call_id)) - return; -#endif - - /* Start ringback */ - ring_start(call_id); - - if (app_config.auto_answer > 0) { - pjsua_call_setting call_opt; - - pjsua_call_setting_default(&call_opt); - call_opt.aud_cnt = app_config.aud_cnt; - call_opt.vid_cnt = app_config.vid.vid_cnt; - - pjsua_call_answer2(call_id, &call_opt, app_config.auto_answer, NULL, NULL); - } - - if (app_config.auto_answer < 200) { - char notif_st[80] = {0}; - -#if PJSUA_HAS_VIDEO - if (call_info.rem_offerer && call_info.rem_vid_cnt) { - snprintf(notif_st, sizeof(notif_st), - "To %s the video, type \"vid %s\" first, " - "before answering the call!\n", - (app_config.vid.vid_cnt? "reject":"accept"), - (app_config.vid.vid_cnt? "disable":"enable")); - } -#endif - - PJ_LOG(3,(THIS_FILE, - "Incoming call for account %d!\n" - "Media count: %d audio & %d video\n" - "%s" - "From: %s\n" - "To: %s\n" - "Press a to answer or h to reject call", - acc_id, - call_info.rem_aud_cnt, - call_info.rem_vid_cnt, - notif_st, - call_info.remote_info.ptr, - call_info.local_info.ptr)); - } -} - - -/* - * Handler when a transaction within a call has changed state. - */ -static void on_call_tsx_state(pjsua_call_id call_id, - pjsip_transaction *tsx, - pjsip_event *e) -{ - const pjsip_method info_method = - { - PJSIP_OTHER_METHOD, - { "INFO", 4 } - }; - - if (pjsip_method_cmp(&tsx->method, &info_method)==0) { - /* - * Handle INFO method. - */ - const pj_str_t STR_APPLICATION = { "application", 11}; - const pj_str_t STR_DTMF_RELAY = { "dtmf-relay", 10 }; - pjsip_msg_body *body = NULL; - pj_bool_t dtmf_info = PJ_FALSE; - - if (tsx->role == PJSIP_ROLE_UAC) { - if (e->body.tsx_state.type == PJSIP_EVENT_TX_MSG) - body = e->body.tsx_state.src.tdata->msg->body; - else - body = e->body.tsx_state.tsx->last_tx->msg->body; - } else { - if (e->body.tsx_state.type == PJSIP_EVENT_RX_MSG) - body = e->body.tsx_state.src.rdata->msg_info.msg->body; - } - - /* Check DTMF content in the INFO message */ - if (body && body->len && - pj_stricmp(&body->content_type.type, &STR_APPLICATION)==0 && - pj_stricmp(&body->content_type.subtype, &STR_DTMF_RELAY)==0) - { - dtmf_info = PJ_TRUE; - } - - if (dtmf_info && tsx->role == PJSIP_ROLE_UAC && - (tsx->state == PJSIP_TSX_STATE_COMPLETED || - (tsx->state == PJSIP_TSX_STATE_TERMINATED && - e->body.tsx_state.prev_state != PJSIP_TSX_STATE_COMPLETED))) - { - /* Status of outgoing INFO request */ - if (tsx->status_code >= 200 && tsx->status_code < 300) { - PJ_LOG(4,(THIS_FILE, - "Call %d: DTMF sent successfully with INFO", - call_id)); - } else if (tsx->status_code >= 300) { - PJ_LOG(4,(THIS_FILE, - "Call %d: Failed to send DTMF with INFO: %d/%.*s", - call_id, - tsx->status_code, - (int)tsx->status_text.slen, - tsx->status_text.ptr)); - } - } else if (dtmf_info && tsx->role == PJSIP_ROLE_UAS && - tsx->state == PJSIP_TSX_STATE_TRYING) - { - /* Answer incoming INFO with 200/OK */ - pjsip_rx_data *rdata; - pjsip_tx_data *tdata; - pj_status_t status; - - rdata = e->body.tsx_state.src.rdata; - - if (rdata->msg_info.msg->body) { - status = pjsip_endpt_create_response(tsx->endpt, rdata, - 200, NULL, &tdata); - if (status == PJ_SUCCESS) - status = pjsip_tsx_send_msg(tsx, tdata); - - PJ_LOG(3,(THIS_FILE, "Call %d: incoming INFO:\n%.*s", - call_id, - (int)rdata->msg_info.msg->body->len, - rdata->msg_info.msg->body->data)); - } else { - status = pjsip_endpt_create_response(tsx->endpt, rdata, - 400, NULL, &tdata); - if (status == PJ_SUCCESS) - status = pjsip_tsx_send_msg(tsx, tdata); - } - } - } -} - -/* General processing for media state. "mi" is the media index */ -static void on_call_generic_media_state(pjsua_call_info *ci, unsigned mi, - pj_bool_t *has_error) -{ - const char *status_name[] = { - "None", - "Active", - "Local hold", - "Remote hold", - "Error" - }; - - PJ_UNUSED_ARG(has_error); - - pj_assert(ci->media[mi].status <= PJ_ARRAY_SIZE(status_name)); - pj_assert(PJSUA_CALL_MEDIA_ERROR == 4); - - PJ_LOG(4,(THIS_FILE, "Call %d media %d [type=%s], status is %s", - ci->id, mi, pjmedia_type_name(ci->media[mi].type), - status_name[ci->media[mi].status])); -} - -/* Process audio media state. "mi" is the media index. */ -static void on_call_audio_state(pjsua_call_info *ci, unsigned mi, - pj_bool_t *has_error) -{ - PJ_UNUSED_ARG(has_error); - - /* Stop ringback */ - ring_stop(ci->id); - - /* Connect ports appropriately when media status is ACTIVE or REMOTE HOLD, - * otherwise we should NOT connect the ports. - */ - if (ci->media[mi].status == PJSUA_CALL_MEDIA_ACTIVE || - ci->media[mi].status == PJSUA_CALL_MEDIA_REMOTE_HOLD) - { - pj_bool_t connect_sound = PJ_TRUE; - pj_bool_t disconnect_mic = PJ_FALSE; - pjsua_conf_port_id call_conf_slot; - - call_conf_slot = ci->media[mi].stream.aud.conf_slot; - - /* Loopback sound, if desired */ - if (app_config.auto_loop) { - pjsua_conf_connect(call_conf_slot, call_conf_slot); - connect_sound = PJ_FALSE; - } - - /* Automatically record conversation, if desired */ - if (app_config.auto_rec && app_config.rec_port != PJSUA_INVALID_ID) { - pjsua_conf_connect(call_conf_slot, app_config.rec_port); - } - - /* Stream a file, if desired */ - if ((app_config.auto_play || app_config.auto_play_hangup) && - app_config.wav_port != PJSUA_INVALID_ID) - { - pjsua_conf_connect(app_config.wav_port, call_conf_slot); - connect_sound = PJ_FALSE; - } - - /* Stream AVI, if desired */ - if (app_config.avi_auto_play && - app_config.avi_def_idx != PJSUA_INVALID_ID && - app_config.avi[app_config.avi_def_idx].slot != PJSUA_INVALID_ID) - { - pjsua_conf_connect(app_config.avi[app_config.avi_def_idx].slot, - call_conf_slot); - disconnect_mic = PJ_TRUE; - } - - /* Put call in conference with other calls, if desired */ - if (app_config.auto_conf) { - pjsua_call_id call_ids[PJSUA_MAX_CALLS]; - unsigned call_cnt=PJ_ARRAY_SIZE(call_ids); - unsigned i; - - /* Get all calls, and establish media connection between - * this call and other calls. - */ - pjsua_enum_calls(call_ids, &call_cnt); - - for (i=0; i<call_cnt; ++i) { - if (call_ids[i] == ci->id) - continue; - - if (!pjsua_call_has_media(call_ids[i])) - continue; - - pjsua_conf_connect(call_conf_slot, - pjsua_call_get_conf_port(call_ids[i])); - pjsua_conf_connect(pjsua_call_get_conf_port(call_ids[i]), - call_conf_slot); - - /* Automatically record conversation, if desired */ - if (app_config.auto_rec && app_config.rec_port != PJSUA_INVALID_ID) { - pjsua_conf_connect(pjsua_call_get_conf_port(call_ids[i]), - app_config.rec_port); - } - - } - - /* Also connect call to local sound device */ - connect_sound = PJ_TRUE; - } - - /* Otherwise connect to sound device */ - if (connect_sound) { - pjsua_conf_connect(call_conf_slot, 0); - if (!disconnect_mic) - pjsua_conf_connect(0, call_conf_slot); - - /* Automatically record conversation, if desired */ - if (app_config.auto_rec && app_config.rec_port != PJSUA_INVALID_ID) { - pjsua_conf_connect(call_conf_slot, app_config.rec_port); - pjsua_conf_connect(0, app_config.rec_port); - } - } - } -} - -/* arrange windows. arg: - * -1: arrange all windows - * != -1: arrange only this window id - */ -static void arrange_window(pjsua_vid_win_id wid) -{ -#if PJSUA_HAS_VIDEO - pjmedia_coord pos; - int i, last; - - pos.x = 0; - pos.y = 10; - last = (wid == PJSUA_INVALID_ID) ? PJSUA_MAX_VID_WINS : wid; - - for (i=0; i<last; ++i) { - pjsua_vid_win_info wi; - pj_status_t status; - - status = pjsua_vid_win_get_info(i, &wi); - if (status != PJ_SUCCESS) - continue; - - if (wid == PJSUA_INVALID_ID) - pjsua_vid_win_set_pos(i, &pos); - - if (wi.show) - pos.y += wi.size.h; - } - - if (wid != PJSUA_INVALID_ID) - pjsua_vid_win_set_pos(wid, &pos); -#else - PJ_UNUSED_ARG(wid); -#endif -} - -/* Process video media state. "mi" is the media index. */ -static void on_call_video_state(pjsua_call_info *ci, unsigned mi, - pj_bool_t *has_error) -{ - if (ci->media_status != PJSUA_CALL_MEDIA_ACTIVE) - return; - - arrange_window(ci->media[mi].stream.vid.win_in); - - PJ_UNUSED_ARG(has_error); -} - -/* - * Callback on media state changed event. - * The action may connect the call to sound device, to file, or - * to loop the call. - */ -static void on_call_media_state(pjsua_call_id call_id) -{ - pjsua_call_info call_info; - unsigned mi; - pj_bool_t has_error = PJ_FALSE; - - pjsua_call_get_info(call_id, &call_info); - - for (mi=0; mi<call_info.media_cnt; ++mi) { - on_call_generic_media_state(&call_info, mi, &has_error); - - switch (call_info.media[mi].type) { - case PJMEDIA_TYPE_AUDIO: - on_call_audio_state(&call_info, mi, &has_error); - break; - case PJMEDIA_TYPE_VIDEO: - on_call_video_state(&call_info, mi, &has_error); - break; - default: - /* Make gcc happy about enum not handled by switch/case */ - break; - } - } - - if (has_error) { - pj_str_t reason = pj_str("Media failed"); - pjsua_call_hangup(call_id, 500, &reason, NULL); - } - -#if PJSUA_HAS_VIDEO - /* Check if remote has just tried to enable video */ - if (call_info.rem_offerer && call_info.rem_vid_cnt) - { - int vid_idx; - - /* Check if there is active video */ - vid_idx = pjsua_call_get_vid_stream_idx(call_id); - if (vid_idx == -1 || call_info.media[vid_idx].dir == PJMEDIA_DIR_NONE) { - PJ_LOG(3,(THIS_FILE, - "Just rejected incoming video offer on call %d, " - "use \"vid call enable %d\" or \"vid call add\" to enable video!", - call_id, vid_idx)); - } - } -#endif -} - -/* - * DTMF callback. - */ -static void call_on_dtmf_callback(pjsua_call_id call_id, int dtmf) -{ - PJ_LOG(3,(THIS_FILE, "Incoming DTMF on call %d: %c", call_id, dtmf)); -} - -/* - * Redirection handler. - */ -static pjsip_redirect_op call_on_redirected(pjsua_call_id call_id, - const pjsip_uri *target, - const pjsip_event *e) -{ - PJ_UNUSED_ARG(e); - - if (app_config.redir_op == PJSIP_REDIRECT_PENDING) { - char uristr[PJSIP_MAX_URL_SIZE]; - int len; - - len = pjsip_uri_print(PJSIP_URI_IN_FROMTO_HDR, target, uristr, - sizeof(uristr)); - if (len < 1) { - pj_ansi_strcpy(uristr, "--URI too long--"); - } - - PJ_LOG(3,(THIS_FILE, "Call %d is being redirected to %.*s. " - "Press 'Ra' to accept+replace To header, 'RA' to accept, " - "'Rr' to reject, or 'Rd' to disconnect.", - call_id, len, uristr)); - } - - return app_config.redir_op; -} - -/* - * Handler registration status has changed. - */ -static void on_reg_state(pjsua_acc_id acc_id) -{ - PJ_UNUSED_ARG(acc_id); - - // Log already written. -} - - -/* - * Handler for incoming presence subscription request - */ -static void on_incoming_subscribe(pjsua_acc_id acc_id, - pjsua_srv_pres *srv_pres, - pjsua_buddy_id buddy_id, - const pj_str_t *from, - pjsip_rx_data *rdata, - pjsip_status_code *code, - pj_str_t *reason, - pjsua_msg_data *msg_data) -{ - /* Just accept the request (the default behavior) */ - PJ_UNUSED_ARG(acc_id); - PJ_UNUSED_ARG(srv_pres); - PJ_UNUSED_ARG(buddy_id); - PJ_UNUSED_ARG(from); - PJ_UNUSED_ARG(rdata); - PJ_UNUSED_ARG(code); - PJ_UNUSED_ARG(reason); - PJ_UNUSED_ARG(msg_data); -} - - -/* - * Handler on buddy state changed. - */ -static void on_buddy_state(pjsua_buddy_id buddy_id) -{ - pjsua_buddy_info info; - pjsua_buddy_get_info(buddy_id, &info); - - PJ_LOG(3,(THIS_FILE, "%.*s status is %.*s, subscription state is %s " - "(last termination reason code=%d %.*s)", - (int)info.uri.slen, - info.uri.ptr, - (int)info.status_text.slen, - info.status_text.ptr, - info.sub_state_name, - info.sub_term_code, - (int)info.sub_term_reason.slen, - info.sub_term_reason.ptr)); -} - - -/* - * Subscription state has changed. - */ -static void on_buddy_evsub_state(pjsua_buddy_id buddy_id, - pjsip_evsub *sub, - pjsip_event *event) -{ - char event_info[80]; - - PJ_UNUSED_ARG(sub); - - event_info[0] = '\0'; - - if (event->type == PJSIP_EVENT_TSX_STATE && - event->body.tsx_state.type == PJSIP_EVENT_RX_MSG) - { - pjsip_rx_data *rdata = event->body.tsx_state.src.rdata; - snprintf(event_info, sizeof(event_info), - " (RX %s)", - pjsip_rx_data_get_info(rdata)); - } - - PJ_LOG(4,(THIS_FILE, - "Buddy %d: subscription state: %s (event: %s%s)", - buddy_id, pjsip_evsub_get_state_name(sub), - pjsip_event_str(event->type), - event_info)); - -} - - -/** - * Incoming IM message (i.e. MESSAGE request)! - */ -static void on_pager(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - const pj_str_t *mime_type, const pj_str_t *text) -{ - /* Note: call index may be -1 */ - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(to); - PJ_UNUSED_ARG(contact); - PJ_UNUSED_ARG(mime_type); - - PJ_LOG(3,(THIS_FILE,"MESSAGE from %.*s: %.*s (%.*s)", - (int)from->slen, from->ptr, - (int)text->slen, text->ptr, - (int)mime_type->slen, mime_type->ptr)); -} - - -/** - * Received typing indication - */ -static void on_typing(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - pj_bool_t is_typing) -{ - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(to); - PJ_UNUSED_ARG(contact); - - PJ_LOG(3,(THIS_FILE, "IM indication: %.*s %s", - (int)from->slen, from->ptr, - (is_typing?"is typing..":"has stopped typing"))); -} - - -/** - * Call transfer request status. - */ -static void on_call_transfer_status(pjsua_call_id call_id, - int status_code, - const pj_str_t *status_text, - pj_bool_t final, - pj_bool_t *p_cont) -{ - PJ_LOG(3,(THIS_FILE, "Call %d: transfer status=%d (%.*s) %s", - call_id, status_code, - (int)status_text->slen, status_text->ptr, - (final ? "[final]" : ""))); - - if (status_code/100 == 2) { - PJ_LOG(3,(THIS_FILE, - "Call %d: call transfered successfully, disconnecting call", - call_id)); - pjsua_call_hangup(call_id, PJSIP_SC_GONE, NULL, NULL); - *p_cont = PJ_FALSE; - } -} - - -/* - * Notification that call is being replaced. - */ -static void on_call_replaced(pjsua_call_id old_call_id, - pjsua_call_id new_call_id) -{ - pjsua_call_info old_ci, new_ci; - - pjsua_call_get_info(old_call_id, &old_ci); - pjsua_call_get_info(new_call_id, &new_ci); - - PJ_LOG(3,(THIS_FILE, "Call %d with %.*s is being replaced by " - "call %d with %.*s", - old_call_id, - (int)old_ci.remote_info.slen, old_ci.remote_info.ptr, - new_call_id, - (int)new_ci.remote_info.slen, new_ci.remote_info.ptr)); -} - - -/* - * NAT type detection callback. - */ -static void on_nat_detect(const pj_stun_nat_detect_result *res) -{ - if (res->status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "NAT detection failed", res->status); - } else { - PJ_LOG(3, (THIS_FILE, "NAT detected as %s", res->nat_type_name)); - } -} - - -/* - * MWI indication - */ -static void on_mwi_info(pjsua_acc_id acc_id, pjsua_mwi_info *mwi_info) -{ - pj_str_t body; - - PJ_LOG(3,(THIS_FILE, "Received MWI for acc %d:", acc_id)); - - if (mwi_info->rdata->msg_info.ctype) { - const pjsip_ctype_hdr *ctype = mwi_info->rdata->msg_info.ctype; - - PJ_LOG(3,(THIS_FILE, " Content-Type: %.*s/%.*s", - (int)ctype->media.type.slen, - ctype->media.type.ptr, - (int)ctype->media.subtype.slen, - ctype->media.subtype.ptr)); - } - - if (!mwi_info->rdata->msg_info.msg->body) { - PJ_LOG(3,(THIS_FILE, " no message body")); - return; - } - - body.ptr = mwi_info->rdata->msg_info.msg->body->data; - body.slen = mwi_info->rdata->msg_info.msg->body->len; - - PJ_LOG(3,(THIS_FILE, " Body:\n%.*s", (int)body.slen, body.ptr)); -} - - -/* - * Transport status notification - */ -static void on_transport_state(pjsip_transport *tp, - pjsip_transport_state state, - const pjsip_transport_state_info *info) -{ - char host_port[128]; - - pj_ansi_snprintf(host_port, sizeof(host_port), "[%.*s:%d]", - (int)tp->remote_name.host.slen, - tp->remote_name.host.ptr, - tp->remote_name.port); - - switch (state) { - case PJSIP_TP_STATE_CONNECTED: - { - PJ_LOG(3,(THIS_FILE, "SIP %s transport is connected to %s", - tp->type_name, host_port)); - } - break; - - case PJSIP_TP_STATE_DISCONNECTED: - { - char buf[100]; - - snprintf(buf, sizeof(buf), "SIP %s transport is disconnected from %s", - tp->type_name, host_port); - pjsua_perror(THIS_FILE, buf, info->status); - } - break; - - default: - break; - } - -#if defined(PJSIP_HAS_TLS_TRANSPORT) && PJSIP_HAS_TLS_TRANSPORT!=0 - - if (!pj_ansi_stricmp(tp->type_name, "tls") && info->ext_info && - (state == PJSIP_TP_STATE_CONNECTED || - ((pjsip_tls_state_info*)info->ext_info)-> - ssl_sock_info->verify_status != PJ_SUCCESS)) - { - pjsip_tls_state_info *tls_info = (pjsip_tls_state_info*)info->ext_info; - pj_ssl_sock_info *ssl_sock_info = tls_info->ssl_sock_info; - char buf[2048]; - const char *verif_msgs[32]; - unsigned verif_msg_cnt; - - /* Dump server TLS cipher */ - PJ_LOG(4,(THIS_FILE, "TLS cipher used: 0x%06X/%s", - ssl_sock_info->cipher, - pj_ssl_cipher_name(ssl_sock_info->cipher) )); - - /* Dump server TLS certificate */ - pj_ssl_cert_info_dump(ssl_sock_info->remote_cert_info, " ", - buf, sizeof(buf)); - PJ_LOG(4,(THIS_FILE, "TLS cert info of %s:\n%s", host_port, buf)); - - /* Dump server TLS certificate verification result */ - verif_msg_cnt = PJ_ARRAY_SIZE(verif_msgs); - pj_ssl_cert_get_verify_status_strings(ssl_sock_info->verify_status, - verif_msgs, &verif_msg_cnt); - PJ_LOG(3,(THIS_FILE, "TLS cert verification result of %s : %s", - host_port, - (verif_msg_cnt == 1? verif_msgs[0]:""))); - if (verif_msg_cnt > 1) { - unsigned i; - for (i = 0; i < verif_msg_cnt; ++i) - PJ_LOG(3,(THIS_FILE, "- %s", verif_msgs[i])); - } - - if (ssl_sock_info->verify_status && - !app_config.udp_cfg.tls_setting.verify_server) - { - PJ_LOG(3,(THIS_FILE, "PJSUA is configured to ignore TLS cert " - "verification errors")); - } - } - -#endif - -} - -/* - * Notification on ICE error. - */ -static void on_ice_transport_error(int index, pj_ice_strans_op op, - pj_status_t status, void *param) -{ - PJ_UNUSED_ARG(op); - PJ_UNUSED_ARG(param); - PJ_PERROR(1,(THIS_FILE, status, - "ICE keep alive failure for transport %d", index)); -} - -/* - * Notification on sound device operation. - */ -static pj_status_t on_snd_dev_operation(int operation) -{ - PJ_LOG(3,(THIS_FILE, "Turning sound device %s", (operation? "ON":"OFF"))); - return PJ_SUCCESS; -} - -/* Callback on media events */ -static void on_call_media_event(pjsua_call_id call_id, - unsigned med_idx, - pjmedia_event *event) -{ - char event_name[5]; - - PJ_LOG(5,(THIS_FILE, "Event %s", - pjmedia_fourcc_name(event->type, event_name))); - -#if PJSUA_HAS_VIDEO - if (event->type == PJMEDIA_EVENT_FMT_CHANGED) { - /* Adjust renderer window size to original video size */ - pjsua_call_info ci; - pjsua_vid_win_id wid; - pjmedia_rect_size size; - - pjsua_call_get_info(call_id, &ci); - - if ((ci.media[med_idx].type == PJMEDIA_TYPE_VIDEO) && - (ci.media[med_idx].dir & PJMEDIA_DIR_DECODING)) - { - wid = ci.media[med_idx].stream.vid.win_in; - size = event->data.fmt_changed.new_fmt.det.vid.size; - pjsua_vid_win_set_size(wid, &size); - } - - /* Re-arrange video windows */ - arrange_window(PJSUA_INVALID_ID); - } -#else - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(med_idx); - PJ_UNUSED_ARG(event); -#endif -} - -#ifdef TRANSPORT_ADAPTER_SAMPLE -/* - * This callback is called when media transport needs to be created. - */ -static pjmedia_transport* on_create_media_transport(pjsua_call_id call_id, - unsigned media_idx, - pjmedia_transport *base_tp, - unsigned flags) -{ - pjmedia_transport *adapter; - pj_status_t status; - - /* Create the adapter */ - status = pjmedia_tp_adapter_create(pjsua_get_pjmedia_endpt(), - NULL, base_tp, - (flags & PJSUA_MED_TP_CLOSE_MEMBER), - &adapter); - if (status != PJ_SUCCESS) { - PJ_PERROR(1,(THIS_FILE, status, "Error creating adapter")); - return NULL; - } - - PJ_LOG(3,(THIS_FILE, "Media transport is created for call %d media %d", - call_id, media_idx)); - - return adapter; -} -#endif - -/* - * Print buddy list. - */ -static void print_buddy_list(void) -{ - pjsua_buddy_id ids[64]; - int i; - unsigned count = PJ_ARRAY_SIZE(ids); - - puts("Buddy list:"); - - pjsua_enum_buddies(ids, &count); - - if (count == 0) - puts(" -none-"); - else { - for (i=0; i<(int)count; ++i) { - pjsua_buddy_info info; - - if (pjsua_buddy_get_info(ids[i], &info) != PJ_SUCCESS) - continue; - - printf(" [%2d] <%.*s> %.*s\n", - ids[i]+1, - (int)info.status_text.slen, - info.status_text.ptr, - (int)info.uri.slen, - info.uri.ptr); - } - } - puts(""); -} - - -/* - * Print account status. - */ -static void print_acc_status(int acc_id) -{ - char buf[80]; - pjsua_acc_info info; - - pjsua_acc_get_info(acc_id, &info); - - if (!info.has_registration) { - pj_ansi_snprintf(buf, sizeof(buf), "%.*s", - (int)info.status_text.slen, - info.status_text.ptr); - - } else { - pj_ansi_snprintf(buf, sizeof(buf), - "%d/%.*s (expires=%d)", - info.status, - (int)info.status_text.slen, - info.status_text.ptr, - info.expires); - - } - - printf(" %c[%2d] %.*s: %s\n", (acc_id==current_acc?'*':' '), - acc_id, (int)info.acc_uri.slen, info.acc_uri.ptr, buf); - printf(" Online status: %.*s\n", - (int)info.online_status_text.slen, - info.online_status_text.ptr); -} - -/* Playfile done notification, set timer to hangup calls */ -pj_status_t on_playfile_done(pjmedia_port *port, void *usr_data) -{ - pj_time_val delay; - - PJ_UNUSED_ARG(port); - PJ_UNUSED_ARG(usr_data); - - /* Just rewind WAV when it is played outside of call */ - if (pjsua_call_get_count() == 0) { - pjsua_player_set_pos(app_config.wav_id, 0); - return PJ_SUCCESS; - } - - /* Timer is already active */ - if (app_config.auto_hangup_timer.id == 1) - return PJ_SUCCESS; - - app_config.auto_hangup_timer.id = 1; - delay.sec = 0; - delay.msec = 200; /* Give 200 ms before hangup */ - pjsip_endpt_schedule_timer(pjsua_get_pjsip_endpt(), - &app_config.auto_hangup_timer, - &delay); - - return PJ_SUCCESS; -} - -/* Auto hangup timer callback */ -static void hangup_timeout_callback(pj_timer_heap_t *timer_heap, - struct pj_timer_entry *entry) -{ - PJ_UNUSED_ARG(timer_heap); - PJ_UNUSED_ARG(entry); - - app_config.auto_hangup_timer.id = 0; - pjsua_call_hangup_all(); -} - -/* - * Show a bit of help. - */ -static void keystroke_help(void) -{ - pjsua_acc_id acc_ids[16]; - unsigned count = PJ_ARRAY_SIZE(acc_ids); - int i; - - printf(">>>>\n"); - - pjsua_enum_accs(acc_ids, &count); - - printf("Account list:\n"); - for (i=0; i<(int)count; ++i) - print_acc_status(acc_ids[i]); - - print_buddy_list(); - - //puts("Commands:"); - puts("+=============================================================================+"); - puts("| Call Commands: | Buddy, IM & Presence: | Account: |"); - puts("| | | |"); - puts("| m Make new call | +b Add new buddy .| +a Add new accnt |"); - puts("| M Make multiple calls | -b Delete buddy | -a Delete accnt. |"); - puts("| a Answer call | i Send IM | !a Modify accnt. |"); - puts("| h Hangup call (ha=all) | s Subscribe presence | rr (Re-)register |"); - puts("| H Hold call | u Unsubscribe presence | ru Unregister |"); - puts("| v re-inVite (release hold) | t ToGgle Online status | > Cycle next ac.|"); - puts("| U send UPDATE | T Set online status | < Cycle prev ac.|"); - puts("| ],[ Select next/prev call +--------------------------+-------------------+"); - puts("| x Xfer call | Media Commands: | Status & Config: |"); - puts("| X Xfer with Replaces | | |"); - puts("| # Send RFC 2833 DTMF | cl List ports | d Dump status |"); - puts("| * Send DTMF with INFO | cc Connect port | dd Dump detailed |"); - puts("| dq Dump curr. call quality | cd Disconnect port | dc Dump config |"); - puts("| | V Adjust audio Volume | f Save config |"); - puts("| S Send arbitrary REQUEST | Cp Codec priorities | |"); - puts("+-----------------------------------------------------------------------------+"); -#if PJSUA_HAS_VIDEO - puts("| Video: \"vid help\" for more info |"); - puts("+-----------------------------------------------------------------------------+"); -#endif - puts("| q QUIT L ReLoad sleep MS echo [0|1|txt] n: detect NAT type |"); - puts("+=============================================================================+"); - - i = pjsua_call_get_count(); - printf("You have %d active call%s\n", i, (i>1?"s":"")); - - if (current_call != PJSUA_INVALID_ID) { - pjsua_call_info ci; - if (pjsua_call_get_info(current_call, &ci)==PJ_SUCCESS) - printf("Current call id=%d to %.*s [%.*s]\n", current_call, - (int)ci.remote_info.slen, ci.remote_info.ptr, - (int)ci.state_text.slen, ci.state_text.ptr); - } -} - -/* Help screen for video */ -#if PJSUA_HAS_VIDEO -static void vid_show_help(void) -{ - pj_bool_t vid_enabled = (app_config.vid.vid_cnt > 0); - - puts("+=============================================================================+"); - puts("| Video commands: |"); - puts("| |"); - puts("| vid help Show this help screen |"); - puts("| vid enable|disable Enable or disable video in next offer/answer |"); - puts("| vid acc show Show current account video settings |"); - puts("| vid acc autorx on|off Automatically show incoming video on/off |"); - puts("| vid acc autotx on|off Automatically offer video on/off |"); - puts("| vid acc cap ID Set default capture device for current acc |"); - puts("| vid acc rend ID Set default renderer device for current acc |"); - puts("| vid call rx on|off N Enable/disable video RX for stream N in curr call |"); - puts("| vid call tx on|off N Enable/disable video TX for stream N in curr call |"); - puts("| vid call add Add video stream for current call |"); - puts("| vid call enable|disable N Enable/disable stream #N in current call |"); - puts("| vid call cap N ID Set capture dev ID for stream #N in current call |"); - puts("| vid dev list List all video devices |"); - puts("| vid dev refresh Refresh video device list |"); - puts("| vid dev prev on|off ID Enable/disable preview for specified device ID |"); - puts("| vid codec list List video codecs |"); - puts("| vid codec prio ID PRIO Set codec ID priority to PRIO |"); - puts("| vid codec fps ID NUM DEN Set codec ID framerate to (NUM/DEN) fps |"); - puts("| vid codec bw ID AVG MAX Set codec ID bitrate to AVG & MAX kbps |"); - puts("| vid codec size ID W H Set codec ID size/resolution to W x H |"); - puts("| vid win list List all active video windows |"); - puts("| vid win arrange Auto arrange windows |"); - puts("| vid win show|hide ID Show/hide the specified video window ID |"); - puts("| vid win move ID X Y Move window ID to position X,Y |"); - puts("| vid win resize ID w h Resize window ID to the specified width, height |"); - puts("+=============================================================================+"); - printf("| Video will be %s in the next offer/answer %s |\n", - (vid_enabled? "enabled" : "disabled"), (vid_enabled? " " : "")); - puts("+=============================================================================+"); -} -#endif - -/* - * Input simple string - */ -static pj_bool_t simple_input(const char *title, char *buf, pj_size_t len) -{ - char *p; - - printf("%s (empty to cancel): ", title); fflush(stdout); - if (fgets(buf, len, stdin) == NULL) - return PJ_FALSE; - - /* Remove trailing newlines. */ - for (p=buf; ; ++p) { - if (*p=='\r' || *p=='\n') *p='\0'; - else if (!*p) break; - } - - if (!*buf) - return PJ_FALSE; - - return PJ_TRUE; -} - - -#define NO_NB -2 -struct input_result -{ - int nb_result; - char *uri_result; -}; - - -/* - * Input URL. - */ -static void ui_input_url(const char *title, char *buf, int len, - struct input_result *result) -{ - result->nb_result = NO_NB; - result->uri_result = NULL; - - print_buddy_list(); - - printf("Choices:\n" - " 0 For current dialog.\n" - " -1 All %d buddies in buddy list\n" - " [1 -%2d] Select from buddy list\n" - " URL An URL\n" - " <Enter> Empty input (or 'q') to cancel\n" - , pjsua_get_buddy_count(), pjsua_get_buddy_count()); - printf("%s: ", title); - - fflush(stdout); - if (fgets(buf, len, stdin) == NULL) - return; - len = strlen(buf); - - /* Left trim */ - while (pj_isspace(*buf)) { - ++buf; - --len; - } - - /* Remove trailing newlines */ - while (len && (buf[len-1] == '\r' || buf[len-1] == '\n')) - buf[--len] = '\0'; - - if (len == 0 || buf[0]=='q') - return; - - if (pj_isdigit(*buf) || *buf=='-') { - - int i; - - if (*buf=='-') - i = 1; - else - i = 0; - - for (; i<len; ++i) { - if (!pj_isdigit(buf[i])) { - puts("Invalid input"); - return; - } - } - - result->nb_result = my_atoi(buf); - - if (result->nb_result >= 0 && - result->nb_result <= (int)pjsua_get_buddy_count()) - { - return; - } - if (result->nb_result == -1) - return; - - puts("Invalid input"); - result->nb_result = NO_NB; - return; - - } else { - pj_status_t status; - - if ((status=pjsua_verify_url(buf)) != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Invalid URL", status); - return; - } - - result->uri_result = buf; - } -} - -/* - * List the ports in conference bridge - */ -static void conf_list(void) -{ - unsigned i, count; - pjsua_conf_port_id id[PJSUA_MAX_CALLS]; - - printf("Conference ports:\n"); - - count = PJ_ARRAY_SIZE(id); - pjsua_enum_conf_ports(id, &count); - - for (i=0; i<count; ++i) { - char txlist[PJSUA_MAX_CALLS*4+10]; - unsigned j; - pjsua_conf_port_info info; - - pjsua_conf_get_port_info(id[i], &info); - - txlist[0] = '\0'; - for (j=0; j<info.listener_cnt; ++j) { - char s[10]; - pj_ansi_sprintf(s, "#%d ", info.listeners[j]); - pj_ansi_strcat(txlist, s); - } - printf("Port #%02d[%2dKHz/%dms/%d] %20.*s transmitting to: %s\n", - info.slot_id, - info.clock_rate/1000, - info.samples_per_frame*1000/info.channel_count/info.clock_rate, - info.channel_count, - (int)info.name.slen, - info.name.ptr, - txlist); - - } - puts(""); -} - - -/* - * Send arbitrary request to remote host - */ -static void send_request(char *cstr_method, const pj_str_t *dst_uri) -{ - pj_str_t str_method; - pjsip_method method; - pjsip_tx_data *tdata; - pjsip_endpoint *endpt; - pj_status_t status; - - endpt = pjsua_get_pjsip_endpt(); - - str_method = pj_str(cstr_method); - pjsip_method_init_np(&method, &str_method); - - status = pjsua_acc_create_request(current_acc, &method, dst_uri, &tdata); - - status = pjsip_endpt_send_request(endpt, tdata, -1, NULL, NULL); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to send request", status); - return; - } -} - - -/* - * Change extended online status. - */ -static void change_online_status(void) -{ - char menuin[32]; - pj_bool_t online_status; - pjrpid_element elem; - int i, choice; - - enum { - AVAILABLE, BUSY, OTP, IDLE, AWAY, BRB, OFFLINE, OPT_MAX - }; - - struct opt { - int id; - char *name; - } opts[] = { - { AVAILABLE, "Available" }, - { BUSY, "Busy"}, - { OTP, "On the phone"}, - { IDLE, "Idle"}, - { AWAY, "Away"}, - { BRB, "Be right back"}, - { OFFLINE, "Offline"} - }; - - printf("\n" - "Choices:\n"); - for (i=0; i<PJ_ARRAY_SIZE(opts); ++i) { - printf(" %d %s\n", opts[i].id+1, opts[i].name); - } - - if (!simple_input("Select status", menuin, sizeof(menuin))) - return; - - choice = atoi(menuin) - 1; - if (choice < 0 || choice >= OPT_MAX) { - puts("Invalid selection"); - return; - } - - pj_bzero(&elem, sizeof(elem)); - elem.type = PJRPID_ELEMENT_TYPE_PERSON; - - online_status = PJ_TRUE; - - switch (choice) { - case AVAILABLE: - break; - case BUSY: - elem.activity = PJRPID_ACTIVITY_BUSY; - elem.note = pj_str("Busy"); - break; - case OTP: - elem.activity = PJRPID_ACTIVITY_BUSY; - elem.note = pj_str("On the phone"); - break; - case IDLE: - elem.activity = PJRPID_ACTIVITY_UNKNOWN; - elem.note = pj_str("Idle"); - break; - case AWAY: - elem.activity = PJRPID_ACTIVITY_AWAY; - elem.note = pj_str("Away"); - break; - case BRB: - elem.activity = PJRPID_ACTIVITY_UNKNOWN; - elem.note = pj_str("Be right back"); - break; - case OFFLINE: - online_status = PJ_FALSE; - break; - } - - pjsua_acc_set_online_status2(current_acc, online_status, &elem); -} - - -/* - * Change codec priorities. - */ -static void manage_codec_prio(void) -{ - pjsua_codec_info c[32]; - unsigned i, count = PJ_ARRAY_SIZE(c); - char input[32]; - char *codec, *prio; - pj_str_t id; - int new_prio; - pj_status_t status; - - printf("List of audio codecs:\n"); - pjsua_enum_codecs(c, &count); - for (i=0; i<count; ++i) { - printf(" %d\t%.*s\n", c[i].priority, (int)c[i].codec_id.slen, - c[i].codec_id.ptr); - } - -#if PJSUA_HAS_VIDEO - puts(""); - printf("List of video codecs:\n"); - pjsua_vid_enum_codecs(c, &count); - for (i=0; i<count; ++i) { - printf(" %d\t%.*s%s%.*s\n", c[i].priority, - (int)c[i].codec_id.slen, - c[i].codec_id.ptr, - c[i].desc.slen? " - ":"", - (int)c[i].desc.slen, - c[i].desc.ptr); - } -#endif - - puts(""); - puts("Enter codec id and its new priority (e.g. \"speex/16000 200\", ""\"H263 200\"),"); - puts("or empty to cancel."); - - printf("Codec name (\"*\" for all) and priority: "); - if (fgets(input, sizeof(input), stdin) == NULL) - return; - if (input[0]=='\r' || input[0]=='\n') { - puts("Done"); - return; - } - - codec = strtok(input, " \t\r\n"); - prio = strtok(NULL, " \r\n"); - - if (!codec || !prio) { - puts("Invalid input"); - return; - } - - new_prio = atoi(prio); - if (new_prio < 0) - new_prio = 0; - else if (new_prio > PJMEDIA_CODEC_PRIO_HIGHEST) - new_prio = PJMEDIA_CODEC_PRIO_HIGHEST; - - status = pjsua_codec_set_priority(pj_cstr(&id, codec), - (pj_uint8_t)new_prio); -#if PJSUA_HAS_VIDEO - if (status != PJ_SUCCESS) { - status = pjsua_vid_codec_set_priority(pj_cstr(&id, codec), - (pj_uint8_t)new_prio); - } -#endif - if (status != PJ_SUCCESS) - pjsua_perror(THIS_FILE, "Error setting codec priority", status); -} - - -#if PJSUA_HAS_VIDEO -static void vid_print_dev(int id, const pjmedia_vid_dev_info *vdi, - const char *title) -{ - char capnames[120]; - char formats[120]; - const char *dirname; - unsigned i; - - if (vdi->dir == PJMEDIA_DIR_CAPTURE_RENDER) { - dirname = "capture, render"; - } else if (vdi->dir == PJMEDIA_DIR_CAPTURE) { - dirname = "capture"; - } else { - dirname = "render"; - } - - - capnames[0] = '\0'; - for (i=0; i<sizeof(int)*8 && (1 << i) < PJMEDIA_VID_DEV_CAP_MAX; ++i) { - if (vdi->caps & (1 << i)) { - const char *capname = pjmedia_vid_dev_cap_name(1 << i, NULL); - if (capname) { - if (*capnames) - strcat(capnames, ", "); - strncat(capnames, capname, - sizeof(capnames)-strlen(capnames)-1); - } - } - } - - formats[0] = '\0'; - for (i=0; i<vdi->fmt_cnt; ++i) { - const pjmedia_video_format_info *vfi = - pjmedia_get_video_format_info(NULL, vdi->fmt[i].id); - if (vfi) { - if (*formats) - strcat(formats, ", "); - strncat(formats, vfi->name, sizeof(formats)-strlen(formats)-1); - } - } - - PJ_LOG(3,(THIS_FILE, "%3d %s [%s][%s] %s", id, vdi->name, vdi->driver, - dirname, title)); - PJ_LOG(3,(THIS_FILE, " Supported capabilities: %s", capnames)); - PJ_LOG(3,(THIS_FILE, " Supported formats: %s", formats)); -} - -static void vid_list_devs(void) -{ - unsigned i, count; - pjmedia_vid_dev_info vdi; - pj_status_t status; - - PJ_LOG(3,(THIS_FILE, "Video device list:")); - count = pjsua_vid_dev_count(); - if (count == 0) { - PJ_LOG(3,(THIS_FILE, " - no device detected -")); - return; - } else { - PJ_LOG(3,(THIS_FILE, "%d device(s) detected:", count)); - } - - status = pjsua_vid_dev_get_info(PJMEDIA_VID_DEFAULT_RENDER_DEV, &vdi); - if (status == PJ_SUCCESS) - vid_print_dev(PJMEDIA_VID_DEFAULT_RENDER_DEV, &vdi, - "(default renderer device)"); - - status = pjsua_vid_dev_get_info(PJMEDIA_VID_DEFAULT_CAPTURE_DEV, &vdi); - if (status == PJ_SUCCESS) - vid_print_dev(PJMEDIA_VID_DEFAULT_CAPTURE_DEV, &vdi, - "(default capture device)"); - - for (i=0; i<count; ++i) { - status = pjsua_vid_dev_get_info(i, &vdi); - if (status == PJ_SUCCESS) - vid_print_dev(i, &vdi, ""); - } -} - -static void app_config_init_video(pjsua_acc_config *acc_cfg) -{ - acc_cfg->vid_in_auto_show = app_config.vid.in_auto_show; - acc_cfg->vid_out_auto_transmit = app_config.vid.out_auto_transmit; - /* Note that normally GUI application will prefer a borderless - * window. - */ - acc_cfg->vid_wnd_flags = PJMEDIA_VID_DEV_WND_BORDER | - PJMEDIA_VID_DEV_WND_RESIZABLE; - acc_cfg->vid_cap_dev = app_config.vid.vcapture_dev; - acc_cfg->vid_rend_dev = app_config.vid.vrender_dev; - - if (app_config.avi_auto_play && - app_config.avi_def_idx != PJSUA_INVALID_ID && - app_config.avi[app_config.avi_def_idx].dev_id != PJMEDIA_VID_INVALID_DEV) - { - acc_cfg->vid_cap_dev = app_config.avi[app_config.avi_def_idx].dev_id; - } -} - -static void app_config_show_video(int acc_id, const pjsua_acc_config *acc_cfg) -{ - PJ_LOG(3,(THIS_FILE, - "Account %d:\n" - " RX auto show: %d\n" - " TX auto transmit: %d\n" - " Capture dev: %d\n" - " Render dev: %d", - acc_id, - acc_cfg->vid_in_auto_show, - acc_cfg->vid_out_auto_transmit, - acc_cfg->vid_cap_dev, - acc_cfg->vid_rend_dev)); -} - -static void vid_handle_menu(char *menuin) -{ - char *argv[8]; - int argc = 0; - - /* Tokenize */ - argv[argc] = strtok(menuin, " \t\r\n"); - while (argv[argc] && *argv[argc]) { - argc++; - argv[argc] = strtok(NULL, " \t\r\n"); - } - - if (argc == 1 || strcmp(argv[1], "help")==0) { - vid_show_help(); - } else if (argc == 2 && (strcmp(argv[1], "enable")==0 || - strcmp(argv[1], "disable")==0)) - { - pj_bool_t enabled = (strcmp(argv[1], "enable")==0); - app_config.vid.vid_cnt = (enabled ? 1 : 0); - PJ_LOG(3,(THIS_FILE, "Video will be %s in next offer/answer", - (enabled?"enabled":"disabled"))); - } else if (strcmp(argv[1], "acc")==0) { - pjsua_acc_config acc_cfg; - pj_bool_t changed = PJ_FALSE; - - pjsua_acc_get_config(current_acc, &acc_cfg); - - if (argc == 3 && strcmp(argv[2], "show")==0) { - app_config_show_video(current_acc, &acc_cfg); - } else if (argc == 4 && strcmp(argv[2], "autorx")==0) { - int on = (strcmp(argv[3], "on")==0); - acc_cfg.vid_in_auto_show = on; - changed = PJ_TRUE; - } else if (argc == 4 && strcmp(argv[2], "autotx")==0) { - int on = (strcmp(argv[3], "on")==0); - acc_cfg.vid_out_auto_transmit = on; - changed = PJ_TRUE; - } else if (argc == 4 && strcmp(argv[2], "cap")==0) { - int dev = atoi(argv[3]); - acc_cfg.vid_cap_dev = dev; - changed = PJ_TRUE; - } else if (argc == 4 && strcmp(argv[2], "rend")==0) { - int dev = atoi(argv[3]); - acc_cfg.vid_rend_dev = dev; - changed = PJ_TRUE; - } else { - goto on_error; - } - - if (changed) { - pj_status_t status = pjsua_acc_modify(current_acc, &acc_cfg); - if (status != PJ_SUCCESS) - PJ_PERROR(1,(THIS_FILE, status, "Error modifying account %d", - current_acc)); - } - - } else if (strcmp(argv[1], "call")==0) { - pjsua_call_vid_strm_op_param param; - pj_status_t status = PJ_SUCCESS; - - pjsua_call_vid_strm_op_param_default(¶m); - - if (argc == 5 && strcmp(argv[2], "rx")==0) { - pjsua_stream_info si; - pj_bool_t on = (strcmp(argv[3], "on") == 0); - - param.med_idx = atoi(argv[4]); - if (pjsua_call_get_stream_info(current_call, param.med_idx, &si) || - si.type != PJMEDIA_TYPE_VIDEO) - { - PJ_PERROR(1,(THIS_FILE, PJ_EINVAL, "Invalid stream")); - return; - } - - if (on) param.dir = (si.info.vid.dir | PJMEDIA_DIR_DECODING); - else param.dir = (si.info.vid.dir & PJMEDIA_DIR_ENCODING); - - status = pjsua_call_set_vid_strm(current_call, - PJSUA_CALL_VID_STRM_CHANGE_DIR, - ¶m); - } - else if (argc == 5 && strcmp(argv[2], "tx")==0) { - pj_bool_t on = (strcmp(argv[3], "on") == 0); - pjsua_call_vid_strm_op op = on? PJSUA_CALL_VID_STRM_START_TRANSMIT : - PJSUA_CALL_VID_STRM_STOP_TRANSMIT; - - param.med_idx = atoi(argv[4]); - - status = pjsua_call_set_vid_strm(current_call, op, ¶m); - } - else if (argc == 3 && strcmp(argv[2], "add")==0) { - status = pjsua_call_set_vid_strm(current_call, - PJSUA_CALL_VID_STRM_ADD, NULL); - } - else if (argc >= 3 && - (strcmp(argv[2], "disable")==0 || strcmp(argv[2], "enable")==0)) - { - pj_bool_t enable = (strcmp(argv[2], "enable") == 0); - pjsua_call_vid_strm_op op = enable? PJSUA_CALL_VID_STRM_CHANGE_DIR : - PJSUA_CALL_VID_STRM_REMOVE; - - param.med_idx = argc >= 4? atoi(argv[3]) : -1; - param.dir = PJMEDIA_DIR_ENCODING_DECODING; - status = pjsua_call_set_vid_strm(current_call, op, ¶m); - } - else if (argc >= 3 && strcmp(argv[2], "cap")==0) { - param.med_idx = argc >= 4? atoi(argv[3]) : -1; - param.cap_dev = argc >= 5? atoi(argv[4]) : PJMEDIA_VID_DEFAULT_CAPTURE_DEV; - status = pjsua_call_set_vid_strm(current_call, - PJSUA_CALL_VID_STRM_CHANGE_CAP_DEV, - ¶m); - } else - goto on_error; - - if (status != PJ_SUCCESS) { - PJ_PERROR(1,(THIS_FILE, status, "Error modifying video stream")); - } - - } else if (argc >= 3 && strcmp(argv[1], "dev")==0) { - if (strcmp(argv[2], "list")==0) { - vid_list_devs(); - } else if (strcmp(argv[2], "refresh")==0) { - pjmedia_vid_dev_refresh(); - } else if (strcmp(argv[2], "prev")==0) { - if (argc != 5) { - goto on_error; - } else { - pj_bool_t on = (strcmp(argv[3], "on") == 0); - int dev_id = atoi(argv[4]); - if (on) { - pjsua_vid_preview_param param; - - pjsua_vid_preview_param_default(¶m); - param.wnd_flags = PJMEDIA_VID_DEV_WND_BORDER | - PJMEDIA_VID_DEV_WND_RESIZABLE; - pjsua_vid_preview_start(dev_id, ¶m); - arrange_window(pjsua_vid_preview_get_win(dev_id)); - } else { - pjsua_vid_win_id wid; - wid = pjsua_vid_preview_get_win(dev_id); - if (wid != PJSUA_INVALID_ID) { - /* Preview window hiding once it is stopped is - * responsibility of app */ - pjsua_vid_win_set_show(wid, PJ_FALSE); - pjsua_vid_preview_stop(dev_id); - } - } - } - } else - goto on_error; - } else if (strcmp(argv[1], "win")==0) { - pj_status_t status = PJ_SUCCESS; - - if (argc==3 && strcmp(argv[2], "list")==0) { - pjsua_vid_win_id wids[PJSUA_MAX_VID_WINS]; - unsigned i, cnt = PJ_ARRAY_SIZE(wids); - - pjsua_vid_enum_wins(wids, &cnt); - - PJ_LOG(3,(THIS_FILE, "Found %d video windows:", cnt)); - PJ_LOG(3,(THIS_FILE, "WID show pos size")); - PJ_LOG(3,(THIS_FILE, "------------------------------")); - for (i = 0; i < cnt; ++i) { - pjsua_vid_win_info wi; - pjsua_vid_win_get_info(wids[i], &wi); - PJ_LOG(3,(THIS_FILE, "%3d %c (%d,%d) %dx%d", - wids[i], (wi.show?'Y':'N'), wi.pos.x, wi.pos.y, - wi.size.w, wi.size.h)); - } - } else if (argc==4 && (strcmp(argv[2], "show")==0 || - strcmp(argv[2], "hide")==0)) - { - pj_bool_t show = (strcmp(argv[2], "show")==0); - pjsua_vid_win_id wid = atoi(argv[3]); - status = pjsua_vid_win_set_show(wid, show); - } else if (argc==6 && strcmp(argv[2], "move")==0) { - pjsua_vid_win_id wid = atoi(argv[3]); - pjmedia_coord pos; - - pos.x = atoi(argv[4]); - pos.y = atoi(argv[5]); - status = pjsua_vid_win_set_pos(wid, &pos); - } else if (argc==6 && strcmp(argv[2], "resize")==0) { - pjsua_vid_win_id wid = atoi(argv[3]); - pjmedia_rect_size size; - - size.w = atoi(argv[4]); - size.h = atoi(argv[5]); - status = pjsua_vid_win_set_size(wid, &size); - } else if (argc==3 && strcmp(argv[2], "arrange")==0) { - arrange_window(PJSUA_INVALID_ID); - } else - goto on_error; - - if (status != PJ_SUCCESS) { - PJ_PERROR(1,(THIS_FILE, status, "Window operation error")); - } - - } else if (strcmp(argv[1], "codec")==0) { - pjsua_codec_info ci[PJMEDIA_CODEC_MGR_MAX_CODECS]; - unsigned count = PJ_ARRAY_SIZE(ci); - pj_status_t status; - - if (argc==3 && strcmp(argv[2], "list")==0) { - status = pjsua_vid_enum_codecs(ci, &count); - if (status != PJ_SUCCESS) { - PJ_PERROR(1,(THIS_FILE, status, "Error enumerating codecs")); - } else { - unsigned i; - PJ_LOG(3,(THIS_FILE, "Found %d video codecs:", count)); - PJ_LOG(3,(THIS_FILE, "codec id prio fps bw(kbps) size")); - PJ_LOG(3,(THIS_FILE, "------------------------------------------")); - for (i=0; i<count; ++i) { - pjmedia_vid_codec_param cp; - pjmedia_video_format_detail *vfd; - - status = pjsua_vid_codec_get_param(&ci[i].codec_id, &cp); - if (status != PJ_SUCCESS) - continue; - - vfd = pjmedia_format_get_video_format_detail(&cp.enc_fmt, - PJ_TRUE); - PJ_LOG(3,(THIS_FILE, "%.*s%.*s %3d %7.2f %4d/%4d %dx%d", - (int)ci[i].codec_id.slen, ci[i].codec_id.ptr, - 13-(int)ci[i].codec_id.slen, " ", - ci[i].priority, - (vfd->fps.num*1.0/vfd->fps.denum), - vfd->avg_bps/1000, vfd->max_bps/1000, - vfd->size.w, vfd->size.h)); - } - } - } else if (argc==5 && strcmp(argv[2], "prio")==0) { - pj_str_t cid; - int prio; - cid = pj_str(argv[3]); - prio = atoi(argv[4]); - status = pjsua_vid_codec_set_priority(&cid, (pj_uint8_t)prio); - if (status != PJ_SUCCESS) - PJ_PERROR(1,(THIS_FILE, status, "Set codec priority error")); - } else if (argc==6 && strcmp(argv[2], "fps")==0) { - pjmedia_vid_codec_param cp; - pj_str_t cid; - int M, N; - cid = pj_str(argv[3]); - M = atoi(argv[4]); - N = atoi(argv[5]); - status = pjsua_vid_codec_get_param(&cid, &cp); - if (status == PJ_SUCCESS) { - cp.enc_fmt.det.vid.fps.num = M; - cp.enc_fmt.det.vid.fps.denum = N; - status = pjsua_vid_codec_set_param(&cid, &cp); - } - if (status != PJ_SUCCESS) - PJ_PERROR(1,(THIS_FILE, status, "Set codec framerate error")); - } else if (argc==6 && strcmp(argv[2], "bw")==0) { - pjmedia_vid_codec_param cp; - pj_str_t cid; - int M, N; - cid = pj_str(argv[3]); - M = atoi(argv[4]); - N = atoi(argv[5]); - status = pjsua_vid_codec_get_param(&cid, &cp); - if (status == PJ_SUCCESS) { - cp.enc_fmt.det.vid.avg_bps = M * 1000; - cp.enc_fmt.det.vid.max_bps = N * 1000; - status = pjsua_vid_codec_set_param(&cid, &cp); - } - if (status != PJ_SUCCESS) - PJ_PERROR(1,(THIS_FILE, status, "Set codec bitrate error")); - } else if (argc==6 && strcmp(argv[2], "size")==0) { - pjmedia_vid_codec_param cp; - pj_str_t cid; - int M, N; - cid = pj_str(argv[3]); - M = atoi(argv[4]); - N = atoi(argv[5]); - status = pjsua_vid_codec_get_param(&cid, &cp); - if (status == PJ_SUCCESS) { - cp.enc_fmt.det.vid.size.w = M; - cp.enc_fmt.det.vid.size.h = N; - status = pjsua_vid_codec_set_param(&cid, &cp); - } - if (status != PJ_SUCCESS) - PJ_PERROR(1,(THIS_FILE, status, "Set codec size error")); - } else - goto on_error; - } else - goto on_error; - - return; - -on_error: - PJ_LOG(1,(THIS_FILE, "Invalid command, use 'vid help'")); -} - -#else - -static void app_config_init_video(pjsua_acc_config *acc_cfg) -{ - PJ_UNUSED_ARG(acc_cfg); -} - -#endif /* PJSUA_HAS_VIDEO */ - - -/* - * Main "user interface" loop. - */ -void console_app_main(const pj_str_t *uri_to_call) -{ - char menuin[80]; - char buf[128]; - char text[128]; - int i, count; - char *uri; - pj_str_t tmp; - struct input_result result; - pjsua_msg_data msg_data; - pjsua_call_info call_info; - pjsua_acc_info acc_info; - pjsua_call_setting call_opt; - - pjsua_call_setting_default(&call_opt); - call_opt.aud_cnt = app_config.aud_cnt; - call_opt.vid_cnt = app_config.vid.vid_cnt; - - /* If user specifies URI to call, then call the URI */ - if (uri_to_call->slen) { - pjsua_call_make_call( current_acc, uri_to_call, &call_opt, NULL, NULL, NULL); - } - - keystroke_help(); - - for (;;) { - - printf(">>> "); - fflush(stdout); - - if (fgets(menuin, sizeof(menuin), stdin) == NULL) { - /* - * Be friendly to users who redirect commands into - * program, when file ends, resume with kbd. - * If exit is desired end script with q for quit - */ - /* Reopen stdin/stdout/stderr to /dev/console */ -#if defined(PJ_WIN32) && PJ_WIN32!=0 - if (freopen ("CONIN$", "r", stdin) == NULL) { -#else - if (1) { -#endif - puts("Cannot switch back to console from file redirection"); - menuin[0] = 'q'; - menuin[1] = '\0'; - } else { - puts("Switched back to console from file redirection"); - continue; - } - } - - if (cmd_echo) { - printf("%s", menuin); - } - - /* Update call setting */ - pjsua_call_setting_default(&call_opt); - call_opt.aud_cnt = app_config.aud_cnt; - call_opt.vid_cnt = app_config.vid.vid_cnt; - - switch (menuin[0]) { - - case 'm': - /* Make call! : */ - printf("(You currently have %d calls)\n", - pjsua_call_get_count()); - - uri = NULL; - ui_input_url("Make call", buf, sizeof(buf), &result); - if (result.nb_result != NO_NB) { - - if (result.nb_result == -1 || result.nb_result == 0) { - puts("You can't do that with make call!"); - continue; - } else { - pjsua_buddy_info binfo; - pjsua_buddy_get_info(result.nb_result-1, &binfo); - tmp.ptr = buf; - pj_strncpy(&tmp, &binfo.uri, sizeof(buf)); - } - - } else if (result.uri_result) { - tmp = pj_str(result.uri_result); - } else { - tmp.slen = 0; - } - - pjsua_msg_data_init(&msg_data); - TEST_MULTIPART(&msg_data); - pjsua_call_make_call( current_acc, &tmp, &call_opt, NULL, &msg_data, NULL); - break; - - case 'M': - /* Make multiple calls! : */ - printf("(You currently have %d calls)\n", - pjsua_call_get_count()); - - if (!simple_input("Number of calls", menuin, sizeof(menuin))) - continue; - - count = my_atoi(menuin); - if (count < 1) - continue; - - ui_input_url("Make call", buf, sizeof(buf), &result); - if (result.nb_result != NO_NB) { - pjsua_buddy_info binfo; - if (result.nb_result == -1 || result.nb_result == 0) { - puts("You can't do that with make call!"); - continue; - } - pjsua_buddy_get_info(result.nb_result-1, &binfo); - tmp.ptr = buf; - pj_strncpy(&tmp, &binfo.uri, sizeof(buf)); - } else { - tmp = pj_str(result.uri_result); - } - - for (i=0; i<my_atoi(menuin); ++i) { - pj_status_t status; - - status = pjsua_call_make_call(current_acc, &tmp, &call_opt, NULL, - NULL, NULL); - if (status != PJ_SUCCESS) - break; - } - break; - - case 'n': - i = pjsua_detect_nat_type(); - if (i != PJ_SUCCESS) - pjsua_perror(THIS_FILE, "Error", i); - break; - - case 'i': - /* Send instant messaeg */ - - /* i is for call index to send message, if any */ - i = -1; - - /* Make compiler happy. */ - uri = NULL; - - /* Input destination. */ - ui_input_url("Send IM to", buf, sizeof(buf), &result); - if (result.nb_result != NO_NB) { - - if (result.nb_result == -1) { - puts("You can't send broadcast IM like that!"); - continue; - - } else if (result.nb_result == 0) { - - i = current_call; - - } else { - pjsua_buddy_info binfo; - pjsua_buddy_get_info(result.nb_result-1, &binfo); - tmp.ptr = buf; - pj_strncpy_with_null(&tmp, &binfo.uri, sizeof(buf)); - uri = buf; - } - - } else if (result.uri_result) { - uri = result.uri_result; - } - - - /* Send typing indication. */ - if (i != -1) - pjsua_call_send_typing_ind(i, PJ_TRUE, NULL); - else { - pj_str_t tmp_uri = pj_str(uri); - pjsua_im_typing(current_acc, &tmp_uri, PJ_TRUE, NULL); - } - - /* Input the IM . */ - if (!simple_input("Message", text, sizeof(text))) { - /* - * Cancelled. - * Send typing notification too, saying we're not typing. - */ - if (i != -1) - pjsua_call_send_typing_ind(i, PJ_FALSE, NULL); - else { - pj_str_t tmp_uri = pj_str(uri); - pjsua_im_typing(current_acc, &tmp_uri, PJ_FALSE, NULL); - } - continue; - } - - tmp = pj_str(text); - - /* Send the IM */ - if (i != -1) - pjsua_call_send_im(i, NULL, &tmp, NULL, NULL); - else { - pj_str_t tmp_uri = pj_str(uri); - pjsua_im_send(current_acc, &tmp_uri, NULL, &tmp, NULL, NULL); - } - - break; - - case 'a': - - if (current_call != -1) { - pjsua_call_get_info(current_call, &call_info); - } else { - /* Make compiler happy */ - call_info.role = PJSIP_ROLE_UAC; - call_info.state = PJSIP_INV_STATE_DISCONNECTED; - } - - if (current_call == -1 || - call_info.role != PJSIP_ROLE_UAS || - call_info.state >= PJSIP_INV_STATE_CONNECTING) - { - puts("No pending incoming call"); - fflush(stdout); - continue; - - } else { - int st_code; - char contact[120]; - pj_str_t hname = { "Contact", 7 }; - pj_str_t hvalue; - pjsip_generic_string_hdr hcontact; - - if (!simple_input("Answer with code (100-699)", buf, sizeof(buf))) - continue; - - st_code = my_atoi(buf); - if (st_code < 100) - continue; - - pjsua_msg_data_init(&msg_data); - - if (st_code/100 == 3) { - if (!simple_input("Enter URL to be put in Contact", - contact, sizeof(contact))) - continue; - hvalue = pj_str(contact); - pjsip_generic_string_hdr_init2(&hcontact, &hname, &hvalue); - - pj_list_push_back(&msg_data.hdr_list, &hcontact); - } - - /* - * Must check again! - * Call may have been disconnected while we're waiting for - * keyboard input. - */ - if (current_call == -1) { - puts("Call has been disconnected"); - fflush(stdout); - continue; - } - - pjsua_call_answer2(current_call, &call_opt, st_code, NULL, &msg_data); - } - - break; - - - case 'h': - - if (current_call == -1) { - puts("No current call"); - fflush(stdout); - continue; - - } else if (menuin[1] == 'a') { - - /* Hangup all calls */ - pjsua_call_hangup_all(); - - } else { - - /* Hangup current calls */ - pjsua_call_hangup(current_call, 0, NULL, NULL); - } - break; - - case ']': - case '[': - /* - * Cycle next/prev dialog. - */ - if (menuin[0] == ']') { - find_next_call(); - - } else { - find_prev_call(); - } - - if (current_call != -1) { - - pjsua_call_get_info(current_call, &call_info); - PJ_LOG(3,(THIS_FILE,"Current dialog: %.*s", - (int)call_info.remote_info.slen, - call_info.remote_info.ptr)); - - } else { - PJ_LOG(3,(THIS_FILE,"No current dialog")); - } - break; - - - case '>': - case '<': - if (!simple_input("Enter account ID to select", buf, sizeof(buf))) - break; - - i = my_atoi(buf); - if (pjsua_acc_is_valid(i)) { - pjsua_acc_set_default(i); - PJ_LOG(3,(THIS_FILE, "Current account changed to %d", i)); - } else { - PJ_LOG(3,(THIS_FILE, "Invalid account id %d", i)); - } - break; - - - case '+': - if (menuin[1] == 'b') { - - pjsua_buddy_config buddy_cfg; - pjsua_buddy_id buddy_id; - pj_status_t status; - - if (!simple_input("Enter buddy's URI:", buf, sizeof(buf))) - break; - - if (pjsua_verify_url(buf) != PJ_SUCCESS) { - printf("Invalid URI '%s'\n", buf); - break; - } - - pj_bzero(&buddy_cfg, sizeof(pjsua_buddy_config)); - - buddy_cfg.uri = pj_str(buf); - buddy_cfg.subscribe = PJ_TRUE; - - status = pjsua_buddy_add(&buddy_cfg, &buddy_id); - if (status == PJ_SUCCESS) { - printf("New buddy '%s' added at index %d\n", - buf, buddy_id+1); - } - - } else if (menuin[1] == 'a') { - - char id[80], registrar[80], realm[80], uname[80], passwd[30]; - pjsua_acc_config acc_cfg; - pj_status_t status; - - if (!simple_input("Your SIP URL:", id, sizeof(id))) - break; - if (!simple_input("URL of the registrar:", registrar, sizeof(registrar))) - break; - if (!simple_input("Auth Realm:", realm, sizeof(realm))) - break; - if (!simple_input("Auth Username:", uname, sizeof(uname))) - break; - if (!simple_input("Auth Password:", passwd, sizeof(passwd))) - break; - - pjsua_acc_config_default(&acc_cfg); - acc_cfg.id = pj_str(id); - acc_cfg.reg_uri = pj_str(registrar); - acc_cfg.cred_count = 1; - acc_cfg.cred_info[0].scheme = pj_str("Digest"); - acc_cfg.cred_info[0].realm = pj_str(realm); - acc_cfg.cred_info[0].username = pj_str(uname); - acc_cfg.cred_info[0].data_type = 0; - acc_cfg.cred_info[0].data = pj_str(passwd); - - acc_cfg.rtp_cfg = app_config.rtp_cfg; - app_config_init_video(&acc_cfg); - - status = pjsua_acc_add(&acc_cfg, PJ_TRUE, NULL); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error adding new account", status); - } - - } else { - printf("Invalid input %s\n", menuin); - } - break; - - case '-': - if (menuin[1] == 'b') { - if (!simple_input("Enter buddy ID to delete",buf,sizeof(buf))) - break; - - i = my_atoi(buf) - 1; - - if (!pjsua_buddy_is_valid(i)) { - printf("Invalid buddy id %d\n", i); - } else { - pjsua_buddy_del(i); - printf("Buddy %d deleted\n", i); - } - - } else if (menuin[1] == 'a') { - - if (!simple_input("Enter account ID to delete",buf,sizeof(buf))) - break; - - i = my_atoi(buf); - - if (!pjsua_acc_is_valid(i)) { - printf("Invalid account id %d\n", i); - } else { - pjsua_acc_del(i); - printf("Account %d deleted\n", i); - } - - } else { - printf("Invalid input %s\n", menuin); - } - break; - - case 'H': - /* - * Hold call. - */ - if (current_call != -1) { - - pjsua_call_set_hold(current_call, NULL); - - } else { - PJ_LOG(3,(THIS_FILE, "No current call")); - } - break; - - case 'v': -#if PJSUA_HAS_VIDEO - if (menuin[1]=='i' && menuin[2]=='d' && menuin[3]==' ') { - - vid_handle_menu(menuin); - - } else -#endif - if (current_call != -1) { - /* - * re-INVITE - */ - call_opt.flag |= PJSUA_CALL_UNHOLD; - pjsua_call_reinvite2(current_call, &call_opt, NULL); - - } else { - PJ_LOG(3,(THIS_FILE, "No current call")); - } - break; - - case 'U': - /* - * Send UPDATE - */ - if (current_call != -1) { - - pjsua_call_update2(current_call, &call_opt, NULL); - - } else { - PJ_LOG(3,(THIS_FILE, "No current call")); - } - break; - - case 'C': - if (menuin[1] == 'p') { - manage_codec_prio(); - } - break; - - case 'x': - /* - * Transfer call. - */ - if (current_call == -1) { - - PJ_LOG(3,(THIS_FILE, "No current call")); - - } else { - int call = current_call; - pjsip_generic_string_hdr refer_sub; - pj_str_t STR_REFER_SUB = { "Refer-Sub", 9 }; - pj_str_t STR_FALSE = { "false", 5 }; - pjsua_call_info ci; - - pjsua_call_get_info(current_call, &ci); - printf("Transfering current call [%d] %.*s\n", - current_call, - (int)ci.remote_info.slen, ci.remote_info.ptr); - - ui_input_url("Transfer to URL", buf, sizeof(buf), &result); - - /* Check if call is still there. */ - - if (call != current_call) { - puts("Call has been disconnected"); - continue; - } - - pjsua_msg_data_init(&msg_data); - if (app_config.no_refersub) { - /* Add Refer-Sub: false in outgoing REFER request */ - pjsip_generic_string_hdr_init2(&refer_sub, &STR_REFER_SUB, - &STR_FALSE); - pj_list_push_back(&msg_data.hdr_list, &refer_sub); - } - if (result.nb_result != NO_NB) { - if (result.nb_result == -1 || result.nb_result == 0) - puts("You can't do that with transfer call!"); - else { - pjsua_buddy_info binfo; - pjsua_buddy_get_info(result.nb_result-1, &binfo); - pjsua_call_xfer( current_call, &binfo.uri, &msg_data); - } - - } else if (result.uri_result) { - pj_str_t tmp; - tmp = pj_str(result.uri_result); - pjsua_call_xfer( current_call, &tmp, &msg_data); - } - } - break; - - case 'X': - /* - * Transfer call with replaces. - */ - if (current_call == -1) { - - PJ_LOG(3,(THIS_FILE, "No current call")); - - } else { - int call = current_call; - int dst_call; - pjsip_generic_string_hdr refer_sub; - pj_str_t STR_REFER_SUB = { "Refer-Sub", 9 }; - pj_str_t STR_FALSE = { "false", 5 }; - pjsua_call_id ids[PJSUA_MAX_CALLS]; - pjsua_call_info ci; - unsigned i, count; - - count = PJ_ARRAY_SIZE(ids); - pjsua_enum_calls(ids, &count); - - if (count <= 1) { - puts("There are no other calls"); - continue; - } - - pjsua_call_get_info(current_call, &ci); - printf("Transfer call [%d] %.*s to one of the following:\n", - current_call, - (int)ci.remote_info.slen, ci.remote_info.ptr); - - for (i=0; i<count; ++i) { - pjsua_call_info call_info; - - if (ids[i] == call) - continue; - - pjsua_call_get_info(ids[i], &call_info); - printf("%d %.*s [%.*s]\n", - ids[i], - (int)call_info.remote_info.slen, - call_info.remote_info.ptr, - (int)call_info.state_text.slen, - call_info.state_text.ptr); - } - - if (!simple_input("Enter call number to be replaced", - buf, sizeof(buf))) - continue; - - dst_call = my_atoi(buf); - - /* Check if call is still there. */ - - if (call != current_call) { - puts("Call has been disconnected"); - continue; - } - - /* Check that destination call is valid. */ - if (dst_call == call) { - puts("Destination call number must not be the same " - "as the call being transfered"); - continue; - } - if (dst_call >= PJSUA_MAX_CALLS) { - puts("Invalid destination call number"); - continue; - } - if (!pjsua_call_is_active(dst_call)) { - puts("Invalid destination call number"); - continue; - } - - pjsua_msg_data_init(&msg_data); - if (app_config.no_refersub) { - /* Add Refer-Sub: false in outgoing REFER request */ - pjsip_generic_string_hdr_init2(&refer_sub, &STR_REFER_SUB, - &STR_FALSE); - pj_list_push_back(&msg_data.hdr_list, &refer_sub); - } - - pjsua_call_xfer_replaces(call, dst_call, - PJSUA_XFER_NO_REQUIRE_REPLACES, - &msg_data); - } - break; - - case '#': - /* - * Send DTMF strings. - */ - if (current_call == -1) { - - PJ_LOG(3,(THIS_FILE, "No current call")); - - } else if (!pjsua_call_has_media(current_call)) { - - PJ_LOG(3,(THIS_FILE, "Media is not established yet!")); - - } else { - pj_str_t digits; - int call = current_call; - pj_status_t status; - - if (!simple_input("DTMF strings to send (0-9*#A-B)", buf, - sizeof(buf))) - { - break; - } - - if (call != current_call) { - puts("Call has been disconnected"); - continue; - } - - digits = pj_str(buf); - status = pjsua_call_dial_dtmf(current_call, &digits); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to send DTMF", status); - } else { - puts("DTMF digits enqueued for transmission"); - } - } - break; - - case '*': - /* Send DTMF with INFO */ - if (current_call == -1) { - - PJ_LOG(3,(THIS_FILE, "No current call")); - - } else { - const pj_str_t SIP_INFO = pj_str("INFO"); - pj_str_t digits; - int call = current_call; - int i; - pj_status_t status; - - if (!simple_input("DTMF strings to send (0-9*#A-B)", buf, - sizeof(buf))) - { - break; - } - - if (call != current_call) { - puts("Call has been disconnected"); - continue; - } - - digits = pj_str(buf); - for (i=0; i<digits.slen; ++i) { - char body[80]; - - pjsua_msg_data_init(&msg_data); - msg_data.content_type = pj_str("application/dtmf-relay"); - - pj_ansi_snprintf(body, sizeof(body), - "Signal=%c\r\n" - "Duration=160", - buf[i]); - msg_data.msg_body = pj_str(body); - - status = pjsua_call_send_request(current_call, &SIP_INFO, - &msg_data); - if (status != PJ_SUCCESS) { - break; - } - } - } - break; - - case 'S': - /* - * Send arbitrary request - */ - if (pjsua_acc_get_count() == 0) { - puts("Sorry, need at least one account configured"); - break; - } - - puts("Send arbitrary request to remote host"); - - /* Input METHOD */ - if (!simple_input("Request method:",text,sizeof(text))) - break; - - /* Input destination URI */ - uri = NULL; - ui_input_url("Destination URI", buf, sizeof(buf), &result); - if (result.nb_result != NO_NB) { - - if (result.nb_result == -1) { - puts("Sorry you can't do that!"); - continue; - } else if (result.nb_result == 0) { - uri = NULL; - if (current_call == PJSUA_INVALID_ID) { - puts("No current call"); - continue; - } - } else { - pjsua_buddy_info binfo; - pjsua_buddy_get_info(result.nb_result-1, &binfo); - tmp.ptr = buf; - pj_strncpy_with_null(&tmp, &binfo.uri, sizeof(buf)); - uri = buf; - } - - } else if (result.uri_result) { - uri = result.uri_result; - } else { - continue; - } - - if (uri) { - tmp = pj_str(uri); - send_request(text, &tmp); - } else { - /* If you send call control request using this method - * (such requests includes BYE, CANCEL, etc.), it will - * not go well with the call state, so don't do it - * unless it's for testing. - */ - pj_str_t method = pj_str(text); - pjsua_call_send_request(current_call, &method, NULL); - } - break; - - case 'e': - if (pj_ansi_strnicmp(menuin, "echo", 4)==0) { - pj_str_t tmp; - - tmp.ptr = menuin+5; - tmp.slen = pj_ansi_strlen(menuin)-6; - - if (tmp.slen < 1) { - puts("Usage: echo [0|1]"); - break; - } - - cmd_echo = *tmp.ptr != '0' || tmp.slen!=1; - } - break; - - case 's': - if (pj_ansi_strnicmp(menuin, "sleep", 5)==0) { - pj_str_t tmp; - int delay; - - tmp.ptr = menuin+6; - tmp.slen = pj_ansi_strlen(menuin)-7; - - if (tmp.slen < 1) { - puts("Usage: sleep MSEC"); - break; - } - - delay = pj_strtoul(&tmp); - if (delay < 0) delay = 0; - pj_thread_sleep(delay); - break; - } - /* Continue below */ - - case 'u': - /* - * Subscribe/unsubscribe presence. - */ - ui_input_url("(un)Subscribe presence of", buf, sizeof(buf), &result); - if (result.nb_result != NO_NB) { - if (result.nb_result == -1) { - int i, count; - count = pjsua_get_buddy_count(); - for (i=0; i<count; ++i) - pjsua_buddy_subscribe_pres(i, menuin[0]=='s'); - } else if (result.nb_result == 0) { - puts("Sorry, can only subscribe to buddy's presence, " - "not from existing call"); - } else { - pjsua_buddy_subscribe_pres(result.nb_result-1, (menuin[0]=='s')); - } - - } else if (result.uri_result) { - puts("Sorry, can only subscribe to buddy's presence, " - "not arbitrary URL (for now)"); - } - - break; - - case 'r': - switch (menuin[1]) { - case 'r': - /* - * Re-Register. - */ - pjsua_acc_set_registration(current_acc, PJ_TRUE); - break; - case 'u': - /* - * Unregister - */ - pjsua_acc_set_registration(current_acc, PJ_FALSE); - break; - } - break; - - case 't': - pjsua_acc_get_info(current_acc, &acc_info); - acc_info.online_status = !acc_info.online_status; - pjsua_acc_set_online_status(current_acc, acc_info.online_status); - printf("Setting %s online status to %s\n", - acc_info.acc_uri.ptr, - (acc_info.online_status?"online":"offline")); - break; - - case 'T': - change_online_status(); - break; - - case 'c': - switch (menuin[1]) { - case 'l': - conf_list(); - break; - case 'c': - case 'd': - { - char tmp[10], src_port[10], dst_port[10]; - pj_status_t status; - int cnt; - const char *src_title, *dst_title; - - cnt = sscanf(menuin, "%s %s %s", tmp, src_port, dst_port); - - if (cnt != 3) { - conf_list(); - - src_title = (menuin[1]=='c'? - "Connect src port #": - "Disconnect src port #"); - dst_title = (menuin[1]=='c'? - "To dst port #": - "From dst port #"); - - if (!simple_input(src_title, src_port, sizeof(src_port))) - break; - - if (!simple_input(dst_title, dst_port, sizeof(dst_port))) - break; - } - - if (menuin[1]=='c') { - status = pjsua_conf_connect(my_atoi(src_port), - my_atoi(dst_port)); - } else { - status = pjsua_conf_disconnect(my_atoi(src_port), - my_atoi(dst_port)); - } - if (status == PJ_SUCCESS) { - puts("Success"); - } else { - puts("ERROR!!"); - } - } - break; - } - break; - - case 'V': - /* Adjust audio volume */ - sprintf(buf, "Adjust mic level: [%4.1fx] ", app_config.mic_level); - if (simple_input(buf,text,sizeof(text))) { - char *err; - app_config.mic_level = (float)strtod(text, &err); - pjsua_conf_adjust_rx_level(0, app_config.mic_level); - } - sprintf(buf, "Adjust speaker level: [%4.1fx] ", - app_config.speaker_level); - if (simple_input(buf,text,sizeof(text))) { - char *err; - app_config.speaker_level = (float)strtod(text, &err); - pjsua_conf_adjust_tx_level(0, app_config.speaker_level); - } - - break; - - case 'd': - if (menuin[1] == 'c') { - char settings[2000]; - int len; - - len = write_settings(&app_config, settings, sizeof(settings)); - if (len < 1) - PJ_LOG(1,(THIS_FILE, "Error: not enough buffer")); - else - PJ_LOG(3,(THIS_FILE, - "Dumping configuration (%d bytes):\n%s\n", - len, settings)); - - } else if (menuin[1] == 'q') { - - if (current_call != PJSUA_INVALID_ID) { - log_call_dump(current_call); - } else { - PJ_LOG(3,(THIS_FILE, "No current call")); - } - - } else { - app_dump(menuin[1]=='d'); - } - break; - - - case 'f': - if (simple_input("Enter output filename", buf, sizeof(buf))) { - char settings[2000]; - int len; - - len = write_settings(&app_config, settings, sizeof(settings)); - if (len < 1) - PJ_LOG(1,(THIS_FILE, "Error: not enough buffer")); - else { - pj_oshandle_t fd; - pj_status_t status; - - status = pj_file_open(app_config.pool, buf, - PJ_O_WRONLY, &fd); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to open file", status); - } else { - pj_ssize_t size = len; - pj_file_write(fd, settings, &size); - pj_file_close(fd); - - printf("Settings successfully written to '%s'\n", buf); - } - } - - } - break; - - - case 'L': /* Restart */ - app_restart = PJ_TRUE; - /* Continues below */ - - case 'q': - goto on_exit; - - case 'R': - if (!pjsua_call_is_active(current_call)) { - PJ_LOG(1,(THIS_FILE, "Call %d has gone", current_call)); - } else if (menuin[1] == 'a') { - pjsua_call_process_redirect(current_call, - PJSIP_REDIRECT_ACCEPT_REPLACE); - } else if (menuin[1] == 'A') { - pjsua_call_process_redirect(current_call, - PJSIP_REDIRECT_ACCEPT); - } else if (menuin[1] == 'r') { - pjsua_call_process_redirect(current_call, - PJSIP_REDIRECT_REJECT); - } else { - pjsua_call_process_redirect(current_call, - PJSIP_REDIRECT_STOP); - } - break; - - default: - if (menuin[0] != '\n' && menuin[0] != '\r') { - printf("Invalid input %s", menuin); - } - keystroke_help(); - break; - } - } - -on_exit: - ; -} - -/* - * A simple registrar, invoked by default_mod_on_rx_request() - */ -static void simple_registrar(pjsip_rx_data *rdata) -{ - pjsip_tx_data *tdata; - const pjsip_expires_hdr *exp; - const pjsip_hdr *h; - unsigned cnt = 0; - pjsip_generic_string_hdr *srv; - pj_status_t status; - - status = pjsip_endpt_create_response(pjsua_get_pjsip_endpt(), - rdata, 200, NULL, &tdata); - if (status != PJ_SUCCESS) - return; - - exp = pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_EXPIRES, NULL); - - h = rdata->msg_info.msg->hdr.next; - while (h != &rdata->msg_info.msg->hdr) { - if (h->type == PJSIP_H_CONTACT) { - const pjsip_contact_hdr *c = (const pjsip_contact_hdr*)h; - int e = c->expires; - - if (e < 0) { - if (exp) - e = exp->ivalue; - else - e = 3600; - } - - if (e > 0) { - pjsip_contact_hdr *nc = pjsip_hdr_clone(tdata->pool, h); - nc->expires = e; - pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)nc); - ++cnt; - } - } - h = h->next; - } - - srv = pjsip_generic_string_hdr_create(tdata->pool, NULL, NULL); - srv->name = pj_str("Server"); - srv->hvalue = pj_str("pjsua simple registrar"); - pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)srv); - - pjsip_endpt_send_response2(pjsua_get_pjsip_endpt(), - rdata, tdata, NULL, NULL); -} - - - -/***************************************************************************** - * A simple module to handle otherwise unhandled request. We will register - * this with the lowest priority. - */ - -/* Notification on incoming request */ -static pj_bool_t default_mod_on_rx_request(pjsip_rx_data *rdata) -{ - pjsip_tx_data *tdata; - pjsip_status_code status_code; - pj_status_t status; - - /* Don't respond to ACK! */ - if (pjsip_method_cmp(&rdata->msg_info.msg->line.req.method, - &pjsip_ack_method) == 0) - return PJ_TRUE; - - /* Simple registrar */ - if (pjsip_method_cmp(&rdata->msg_info.msg->line.req.method, - &pjsip_register_method) == 0) - { - simple_registrar(rdata); - return PJ_TRUE; - } - - /* Create basic response. */ - if (pjsip_method_cmp(&rdata->msg_info.msg->line.req.method, - &pjsip_notify_method) == 0) - { - /* Unsolicited NOTIFY's, send with Bad Request */ - status_code = PJSIP_SC_BAD_REQUEST; - } else { - /* Probably unknown method */ - status_code = PJSIP_SC_METHOD_NOT_ALLOWED; - } - status = pjsip_endpt_create_response(pjsua_get_pjsip_endpt(), - rdata, status_code, - NULL, &tdata); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to create response", status); - return PJ_TRUE; - } - - /* Add Allow if we're responding with 405 */ - if (status_code == PJSIP_SC_METHOD_NOT_ALLOWED) { - const pjsip_hdr *cap_hdr; - cap_hdr = pjsip_endpt_get_capability(pjsua_get_pjsip_endpt(), - PJSIP_H_ALLOW, NULL); - if (cap_hdr) { - pjsip_msg_add_hdr(tdata->msg, pjsip_hdr_clone(tdata->pool, - cap_hdr)); - } - } - - /* Add User-Agent header */ - { - pj_str_t user_agent; - char tmp[80]; - const pj_str_t USER_AGENT = { "User-Agent", 10}; - pjsip_hdr *h; - - pj_ansi_snprintf(tmp, sizeof(tmp), "PJSUA v%s/%s", - pj_get_version(), PJ_OS_NAME); - pj_strdup2_with_null(tdata->pool, &user_agent, tmp); - - h = (pjsip_hdr*) pjsip_generic_string_hdr_create(tdata->pool, - &USER_AGENT, - &user_agent); - pjsip_msg_add_hdr(tdata->msg, h); - } - - pjsip_endpt_send_response2(pjsua_get_pjsip_endpt(), rdata, tdata, - NULL, NULL); - - return PJ_TRUE; -} - - -/* The module instance. */ -static pjsip_module mod_default_handler = -{ - NULL, NULL, /* prev, next. */ - { "mod-default-handler", 19 }, /* Name. */ - -1, /* Id */ - PJSIP_MOD_PRIORITY_APPLICATION+99, /* Priority */ - NULL, /* load() */ - NULL, /* start() */ - NULL, /* stop() */ - NULL, /* unload() */ - &default_mod_on_rx_request, /* on_rx_request() */ - NULL, /* on_rx_response() */ - NULL, /* on_tx_request. */ - NULL, /* on_tx_response() */ - NULL, /* on_tsx_state() */ - -}; - - - - -/***************************************************************************** - * Public API - */ - -pj_status_t app_init(int argc, char *argv[]) -{ - pjsua_transport_id transport_id = -1; - pjsua_transport_config tcp_cfg; - unsigned i; - pj_status_t status; - - app_restart = PJ_FALSE; - - /* Create pjsua */ - status = pjsua_create(); - if (status != PJ_SUCCESS) - return status; - - /* Create pool for application */ - app_config.pool = pjsua_pool_create("pjsua-app", 1000, 1000); - - /* Initialize default config */ - default_config(&app_config); - - /* Parse the arguments */ - status = parse_args(argc, argv, &app_config, &uri_arg); - if (status != PJ_SUCCESS) - return status; - - /* Initialize application callbacks */ - app_config.cfg.cb.on_call_state = &on_call_state; - app_config.cfg.cb.on_call_media_state = &on_call_media_state; - app_config.cfg.cb.on_incoming_call = &on_incoming_call; - app_config.cfg.cb.on_call_tsx_state = &on_call_tsx_state; - app_config.cfg.cb.on_dtmf_digit = &call_on_dtmf_callback; - app_config.cfg.cb.on_call_redirected = &call_on_redirected; - app_config.cfg.cb.on_reg_state = &on_reg_state; - app_config.cfg.cb.on_incoming_subscribe = &on_incoming_subscribe; - app_config.cfg.cb.on_buddy_state = &on_buddy_state; - app_config.cfg.cb.on_buddy_evsub_state = &on_buddy_evsub_state; - app_config.cfg.cb.on_pager = &on_pager; - app_config.cfg.cb.on_typing = &on_typing; - app_config.cfg.cb.on_call_transfer_status = &on_call_transfer_status; - app_config.cfg.cb.on_call_replaced = &on_call_replaced; - app_config.cfg.cb.on_nat_detect = &on_nat_detect; - app_config.cfg.cb.on_mwi_info = &on_mwi_info; - app_config.cfg.cb.on_transport_state = &on_transport_state; - app_config.cfg.cb.on_ice_transport_error = &on_ice_transport_error; - app_config.cfg.cb.on_snd_dev_operation = &on_snd_dev_operation; - app_config.cfg.cb.on_call_media_event = &on_call_media_event; -#ifdef TRANSPORT_ADAPTER_SAMPLE - app_config.cfg.cb.on_create_media_transport = &on_create_media_transport; -#endif - app_config.log_cfg.cb = log_cb; - - /* Set sound device latency */ - if (app_config.capture_lat > 0) - app_config.media_cfg.snd_rec_latency = app_config.capture_lat; - if (app_config.playback_lat) - app_config.media_cfg.snd_play_latency = app_config.playback_lat; - - /* Initialize pjsua */ - status = pjsua_init(&app_config.cfg, &app_config.log_cfg, - &app_config.media_cfg); - if (status != PJ_SUCCESS) - return status; - - /* Initialize our module to handle otherwise unhandled request */ - status = pjsip_endpt_register_module(pjsua_get_pjsip_endpt(), - &mod_default_handler); - if (status != PJ_SUCCESS) - return status; - -#ifdef STEREO_DEMO - stereo_demo(); -#endif - - /* Initialize calls data */ - for (i=0; i<PJ_ARRAY_SIZE(app_config.call_data); ++i) { - app_config.call_data[i].timer.id = PJSUA_INVALID_ID; - app_config.call_data[i].timer.cb = &call_timeout_callback; - } - - /* Optionally registers WAV file */ - for (i=0; i<app_config.wav_count; ++i) { - pjsua_player_id wav_id; - unsigned play_options = 0; - - if (app_config.auto_play_hangup) - play_options |= PJMEDIA_FILE_NO_LOOP; - - status = pjsua_player_create(&app_config.wav_files[i], play_options, - &wav_id); - if (status != PJ_SUCCESS) - goto on_error; - - if (app_config.wav_id == PJSUA_INVALID_ID) { - app_config.wav_id = wav_id; - app_config.wav_port = pjsua_player_get_conf_port(app_config.wav_id); - if (app_config.auto_play_hangup) { - pjmedia_port *port; - - pjsua_player_get_port(app_config.wav_id, &port); - status = pjmedia_wav_player_set_eof_cb(port, NULL, - &on_playfile_done); - if (status != PJ_SUCCESS) - goto on_error; - - pj_timer_entry_init(&app_config.auto_hangup_timer, 0, NULL, - &hangup_timeout_callback); - } - } - } - - /* Optionally registers tone players */ - for (i=0; i<app_config.tone_count; ++i) { - pjmedia_port *tport; - char name[80]; - pj_str_t label; - pj_status_t status; - - pj_ansi_snprintf(name, sizeof(name), "tone-%d,%d", - app_config.tones[i].freq1, - app_config.tones[i].freq2); - label = pj_str(name); - status = pjmedia_tonegen_create2(app_config.pool, &label, - 8000, 1, 160, 16, - PJMEDIA_TONEGEN_LOOP, &tport); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to create tone generator", status); - goto on_error; - } - - status = pjsua_conf_add_port(app_config.pool, tport, - &app_config.tone_slots[i]); - pj_assert(status == PJ_SUCCESS); - - status = pjmedia_tonegen_play(tport, 1, &app_config.tones[i], 0); - pj_assert(status == PJ_SUCCESS); - } - - /* Optionally create recorder file, if any. */ - if (app_config.rec_file.slen) { - status = pjsua_recorder_create(&app_config.rec_file, 0, NULL, 0, 0, - &app_config.rec_id); - if (status != PJ_SUCCESS) - goto on_error; - - app_config.rec_port = pjsua_recorder_get_conf_port(app_config.rec_id); - } - - pj_memcpy(&tcp_cfg, &app_config.udp_cfg, sizeof(tcp_cfg)); - - /* Create ringback tones */ - if (app_config.no_tones == PJ_FALSE) { - unsigned i, samples_per_frame; - pjmedia_tone_desc tone[RING_CNT+RINGBACK_CNT]; - pj_str_t name; - - samples_per_frame = app_config.media_cfg.audio_frame_ptime * - app_config.media_cfg.clock_rate * - app_config.media_cfg.channel_count / 1000; - - /* Ringback tone (call is ringing) */ - name = pj_str("ringback"); - status = pjmedia_tonegen_create2(app_config.pool, &name, - app_config.media_cfg.clock_rate, - app_config.media_cfg.channel_count, - samples_per_frame, - 16, PJMEDIA_TONEGEN_LOOP, - &app_config.ringback_port); - if (status != PJ_SUCCESS) - goto on_error; - - pj_bzero(&tone, sizeof(tone)); - for (i=0; i<RINGBACK_CNT; ++i) { - tone[i].freq1 = RINGBACK_FREQ1; - tone[i].freq2 = RINGBACK_FREQ2; - tone[i].on_msec = RINGBACK_ON; - tone[i].off_msec = RINGBACK_OFF; - } - tone[RINGBACK_CNT-1].off_msec = RINGBACK_INTERVAL; - - pjmedia_tonegen_play(app_config.ringback_port, RINGBACK_CNT, tone, - PJMEDIA_TONEGEN_LOOP); - - - status = pjsua_conf_add_port(app_config.pool, app_config.ringback_port, - &app_config.ringback_slot); - if (status != PJ_SUCCESS) - goto on_error; - - /* Ring (to alert incoming call) */ - name = pj_str("ring"); - status = pjmedia_tonegen_create2(app_config.pool, &name, - app_config.media_cfg.clock_rate, - app_config.media_cfg.channel_count, - samples_per_frame, - 16, PJMEDIA_TONEGEN_LOOP, - &app_config.ring_port); - if (status != PJ_SUCCESS) - goto on_error; - - for (i=0; i<RING_CNT; ++i) { - tone[i].freq1 = RING_FREQ1; - tone[i].freq2 = RING_FREQ2; - tone[i].on_msec = RING_ON; - tone[i].off_msec = RING_OFF; - } - tone[RING_CNT-1].off_msec = RING_INTERVAL; - - pjmedia_tonegen_play(app_config.ring_port, RING_CNT, - tone, PJMEDIA_TONEGEN_LOOP); - - status = pjsua_conf_add_port(app_config.pool, app_config.ring_port, - &app_config.ring_slot); - if (status != PJ_SUCCESS) - goto on_error; - - } - - /* Create AVI player virtual devices */ - if (app_config.avi_cnt) { -#if PJMEDIA_HAS_VIDEO && PJMEDIA_VIDEO_DEV_HAS_AVI - pjmedia_vid_dev_factory *avi_factory; - - status = pjmedia_avi_dev_create_factory(pjsua_get_pool_factory(), - app_config.avi_cnt, - &avi_factory); - if (status != PJ_SUCCESS) { - PJ_PERROR(1,(THIS_FILE, status, "Error creating AVI factory")); - goto on_error; - } - - for (i=0; i<app_config.avi_cnt; ++i) { - pjmedia_avi_dev_param avdp; - pjmedia_vid_dev_index avid; - unsigned strm_idx, strm_cnt; - - app_config.avi[i].dev_id = PJMEDIA_VID_INVALID_DEV; - app_config.avi[i].slot = PJSUA_INVALID_ID; - - pjmedia_avi_dev_param_default(&avdp); - avdp.path = app_config.avi[i].path; - - status = pjmedia_avi_dev_alloc(avi_factory, &avdp, &avid); - if (status != PJ_SUCCESS) { - PJ_PERROR(1,(THIS_FILE, status, - "Error creating AVI player for %.*s", - (int)avdp.path.slen, avdp.path.ptr)); - goto on_error; - } - - PJ_LOG(4,(THIS_FILE, "AVI player %.*s created, dev_id=%d", - (int)avdp.title.slen, avdp.title.ptr, avid)); - - app_config.avi[i].dev_id = avid; - if (app_config.avi_def_idx == PJSUA_INVALID_ID) - app_config.avi_def_idx = i; - - strm_cnt = pjmedia_avi_streams_get_num_streams(avdp.avi_streams); - for (strm_idx=0; strm_idx<strm_cnt; ++strm_idx) { - pjmedia_port *aud; - pjmedia_format *fmt; - pjsua_conf_port_id slot; - char fmt_name[5]; - - aud = pjmedia_avi_streams_get_stream(avdp.avi_streams, - strm_idx); - fmt = &aud->info.fmt; - - pjmedia_fourcc_name(fmt->id, fmt_name); - - if (fmt->id == PJMEDIA_FORMAT_PCM) { - status = pjsua_conf_add_port(app_config.pool, aud, - &slot); - if (status == PJ_SUCCESS) { - PJ_LOG(4,(THIS_FILE, - "AVI %.*s: audio added to slot %d", - (int)avdp.title.slen, avdp.title.ptr, - slot)); - app_config.avi[i].slot = slot; - } - } else { - PJ_LOG(4,(THIS_FILE, - "AVI %.*s: audio ignored, format=%s", - (int)avdp.title.slen, avdp.title.ptr, - fmt_name)); - } - } - } -#else - PJ_LOG(2,(THIS_FILE, - "Warning: --play-avi is ignored because AVI is disabled")); -#endif /* PJMEDIA_VIDEO_DEV_HAS_AVI */ - } - - /* Add UDP transport unless it's disabled. */ - if (!app_config.no_udp) { - pjsua_acc_id aid; - pjsip_transport_type_e type = PJSIP_TRANSPORT_UDP; - - status = pjsua_transport_create(type, - &app_config.udp_cfg, - &transport_id); - if (status != PJ_SUCCESS) - goto on_error; - - /* Add local account */ - pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); - if (PJMEDIA_HAS_VIDEO) { - pjsua_acc_config acc_cfg; - pjsua_acc_get_config(aid, &acc_cfg); - app_config_init_video(&acc_cfg); - pjsua_acc_modify(aid, &acc_cfg); - } - //pjsua_acc_set_transport(aid, transport_id); - pjsua_acc_set_online_status(current_acc, PJ_TRUE); - - if (app_config.udp_cfg.port == 0) { - pjsua_transport_info ti; - pj_sockaddr_in *a; - - pjsua_transport_get_info(transport_id, &ti); - a = (pj_sockaddr_in*)&ti.local_addr; - - tcp_cfg.port = pj_ntohs(a->sin_port); - } - } - - /* Add UDP IPv6 transport unless it's disabled. */ - if (!app_config.no_udp && app_config.ipv6) { - pjsua_acc_id aid; - pjsip_transport_type_e type = PJSIP_TRANSPORT_UDP6; - pjsua_transport_config udp_cfg; - - udp_cfg = app_config.udp_cfg; - if (udp_cfg.port == 0) - udp_cfg.port = 5060; - else - udp_cfg.port += 10; - status = pjsua_transport_create(type, - &udp_cfg, - &transport_id); - if (status != PJ_SUCCESS) - goto on_error; - - /* Add local account */ - pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); - if (PJMEDIA_HAS_VIDEO) { - pjsua_acc_config acc_cfg; - pjsua_acc_get_config(aid, &acc_cfg); - app_config_init_video(&acc_cfg); - if (app_config.ipv6) - acc_cfg.ipv6_media_use = PJSUA_IPV6_ENABLED; - pjsua_acc_modify(aid, &acc_cfg); - } - //pjsua_acc_set_transport(aid, transport_id); - pjsua_acc_set_online_status(current_acc, PJ_TRUE); - - if (app_config.udp_cfg.port == 0) { - pjsua_transport_info ti; - pj_sockaddr_in *a; - - pjsua_transport_get_info(transport_id, &ti); - a = (pj_sockaddr_in*)&ti.local_addr; - - tcp_cfg.port = pj_ntohs(a->sin_port); - } - } - - /* Add TCP transport unless it's disabled */ - if (!app_config.no_tcp) { - pjsua_acc_id aid; - - status = pjsua_transport_create(PJSIP_TRANSPORT_TCP, - &tcp_cfg, - &transport_id); - if (status != PJ_SUCCESS) - goto on_error; - - /* Add local account */ - pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); - if (PJMEDIA_HAS_VIDEO) { - pjsua_acc_config acc_cfg; - pjsua_acc_get_config(aid, &acc_cfg); - app_config_init_video(&acc_cfg); - pjsua_acc_modify(aid, &acc_cfg); - } - pjsua_acc_set_online_status(current_acc, PJ_TRUE); - - } - - /* Add TCP IPv6 transport unless it's disabled. */ - if (!app_config.no_tcp && app_config.ipv6) { - pjsua_acc_id aid; - pjsip_transport_type_e type = PJSIP_TRANSPORT_TCP6; - - tcp_cfg.port += 10; - - status = pjsua_transport_create(type, - &tcp_cfg, - &transport_id); - if (status != PJ_SUCCESS) - goto on_error; - - /* Add local account */ - pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); - if (PJMEDIA_HAS_VIDEO) { - pjsua_acc_config acc_cfg; - pjsua_acc_get_config(aid, &acc_cfg); - app_config_init_video(&acc_cfg); - if (app_config.ipv6) - acc_cfg.ipv6_media_use = PJSUA_IPV6_ENABLED; - pjsua_acc_modify(aid, &acc_cfg); - } - //pjsua_acc_set_transport(aid, transport_id); - pjsua_acc_set_online_status(current_acc, PJ_TRUE); - } - - -#if defined(PJSIP_HAS_TLS_TRANSPORT) && PJSIP_HAS_TLS_TRANSPORT!=0 - /* Add TLS transport when application wants one */ - if (app_config.use_tls) { - - pjsua_acc_id acc_id; - - /* Copy the QoS settings */ - tcp_cfg.tls_setting.qos_type = tcp_cfg.qos_type; - pj_memcpy(&tcp_cfg.tls_setting.qos_params, &tcp_cfg.qos_params, - sizeof(tcp_cfg.qos_params)); - - /* Set TLS port as TCP port+1 */ - tcp_cfg.port++; - status = pjsua_transport_create(PJSIP_TRANSPORT_TLS, - &tcp_cfg, - &transport_id); - tcp_cfg.port--; - if (status != PJ_SUCCESS) - goto on_error; - - /* Add local account */ - pjsua_acc_add_local(transport_id, PJ_FALSE, &acc_id); - if (PJMEDIA_HAS_VIDEO) { - pjsua_acc_config acc_cfg; - pjsua_acc_get_config(acc_id, &acc_cfg); - app_config_init_video(&acc_cfg); - pjsua_acc_modify(acc_id, &acc_cfg); - } - pjsua_acc_set_online_status(acc_id, PJ_TRUE); - } - - /* Add TLS IPv6 transport unless it's disabled. */ - if (app_config.use_tls && app_config.ipv6) { - pjsua_acc_id aid; - pjsip_transport_type_e type = PJSIP_TRANSPORT_TLS6; - - tcp_cfg.port += 10; - - status = pjsua_transport_create(type, - &tcp_cfg, - &transport_id); - if (status != PJ_SUCCESS) - goto on_error; - - /* Add local account */ - pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); - if (PJMEDIA_HAS_VIDEO) { - pjsua_acc_config acc_cfg; - pjsua_acc_get_config(aid, &acc_cfg); - app_config_init_video(&acc_cfg); - if (app_config.ipv6) - acc_cfg.ipv6_media_use = PJSUA_IPV6_ENABLED; - pjsua_acc_modify(aid, &acc_cfg); - } - //pjsua_acc_set_transport(aid, transport_id); - pjsua_acc_set_online_status(current_acc, PJ_TRUE); - } - -#endif - - if (transport_id == -1) { - PJ_LOG(1,(THIS_FILE, "Error: no transport is configured")); - status = -1; - goto on_error; - } - - - /* Add accounts */ - for (i=0; i<app_config.acc_cnt; ++i) { - app_config.acc_cfg[i].rtp_cfg = app_config.rtp_cfg; - app_config.acc_cfg[i].reg_retry_interval = 300; - app_config.acc_cfg[i].reg_first_retry_interval = 60; - - app_config_init_video(&app_config.acc_cfg[i]); - - status = pjsua_acc_add(&app_config.acc_cfg[i], PJ_TRUE, NULL); - if (status != PJ_SUCCESS) - goto on_error; - pjsua_acc_set_online_status(current_acc, PJ_TRUE); - } - - /* Add buddies */ - for (i=0; i<app_config.buddy_cnt; ++i) { - status = pjsua_buddy_add(&app_config.buddy_cfg[i], NULL); - if (status != PJ_SUCCESS) { - PJ_PERROR(1,(THIS_FILE, status, "Error adding buddy")); - goto on_error; - } - } - - /* Optionally disable some codec */ - for (i=0; i<app_config.codec_dis_cnt; ++i) { - pjsua_codec_set_priority(&app_config.codec_dis[i],PJMEDIA_CODEC_PRIO_DISABLED); -#if PJSUA_HAS_VIDEO - pjsua_vid_codec_set_priority(&app_config.codec_dis[i],PJMEDIA_CODEC_PRIO_DISABLED); -#endif - } - - /* Optionally set codec orders */ - for (i=0; i<app_config.codec_cnt; ++i) { - pjsua_codec_set_priority(&app_config.codec_arg[i], - (pj_uint8_t)(PJMEDIA_CODEC_PRIO_NORMAL+i+9)); -#if PJSUA_HAS_VIDEO - pjsua_vid_codec_set_priority(&app_config.codec_arg[i], - (pj_uint8_t)(PJMEDIA_CODEC_PRIO_NORMAL+i+9)); -#endif - } - - /* Use null sound device? */ -#ifndef STEREO_DEMO - if (app_config.null_audio) { - status = pjsua_set_null_snd_dev(); - if (status != PJ_SUCCESS) - return status; - } -#endif - - if (app_config.capture_dev != PJSUA_INVALID_ID || - app_config.playback_dev != PJSUA_INVALID_ID) - { - status = pjsua_set_snd_dev(app_config.capture_dev, - app_config.playback_dev); - if (status != PJ_SUCCESS) - goto on_error; - } - - return PJ_SUCCESS; - -on_error: - app_destroy(); - return status; -} - - -static int stdout_refresh_proc(void *arg) -{ - PJ_UNUSED_ARG(arg); - - /* Set thread to lowest priority so that it doesn't clobber - * stdout output - */ - pj_thread_set_prio(pj_thread_this(), - pj_thread_get_prio_min(pj_thread_this())); - - while (!stdout_refresh_quit) { - pj_thread_sleep(stdout_refresh * 1000); - puts(stdout_refresh_text); - fflush(stdout); - } - - return 0; -} - -pj_status_t app_main(void) -{ - pj_thread_t *stdout_refresh_thread = NULL; - pj_status_t status; - - /* Start pjsua */ - status = pjsua_start(); - if (status != PJ_SUCCESS) { - app_destroy(); - return status; - } - - /* Start console refresh thread */ - if (stdout_refresh > 0) { - pj_thread_create(app_config.pool, "stdout", &stdout_refresh_proc, - NULL, 0, 0, &stdout_refresh_thread); - } - - console_app_main(&uri_arg); - - if (stdout_refresh_thread) { - stdout_refresh_quit = PJ_TRUE; - pj_thread_join(stdout_refresh_thread); - pj_thread_destroy(stdout_refresh_thread); - } - - return PJ_SUCCESS; -} - -pj_status_t app_destroy(void) -{ - pj_status_t status; - unsigned i; - -#ifdef STEREO_DEMO - if (app_config.snd) { - pjmedia_snd_port_destroy(app_config.snd); - app_config.snd = NULL; - } - if (app_config.sc_ch1) { - pjsua_conf_remove_port(app_config.sc_ch1_slot); - app_config.sc_ch1_slot = PJSUA_INVALID_ID; - pjmedia_port_destroy(app_config.sc_ch1); - app_config.sc_ch1 = NULL; - } - if (app_config.sc) { - pjmedia_port_destroy(app_config.sc); - app_config.sc = NULL; - } -#endif - - /* Close avi devs and ports */ - for (i=0; i<app_config.avi_cnt; ++i) { - if (app_config.avi[i].slot != PJSUA_INVALID_ID) - pjsua_conf_remove_port(app_config.avi[i].slot); -#if PJMEDIA_HAS_VIDEO && PJMEDIA_VIDEO_DEV_HAS_AVI - if (app_config.avi[i].dev_id != PJMEDIA_VID_INVALID_DEV) - pjmedia_avi_dev_free(app_config.avi[i].dev_id); -#endif - } - - /* Close ringback port */ - if (app_config.ringback_port && - app_config.ringback_slot != PJSUA_INVALID_ID) - { - pjsua_conf_remove_port(app_config.ringback_slot); - app_config.ringback_slot = PJSUA_INVALID_ID; - pjmedia_port_destroy(app_config.ringback_port); - app_config.ringback_port = NULL; - } - - /* Close ring port */ - if (app_config.ring_port && app_config.ring_slot != PJSUA_INVALID_ID) { - pjsua_conf_remove_port(app_config.ring_slot); - app_config.ring_slot = PJSUA_INVALID_ID; - pjmedia_port_destroy(app_config.ring_port); - app_config.ring_port = NULL; - } - - /* Close tone generators */ - for (i=0; i<app_config.tone_count; ++i) { - pjsua_conf_remove_port(app_config.tone_slots[i]); - } - - if (app_config.pool) { - pj_pool_release(app_config.pool); - app_config.pool = NULL; - } - - status = pjsua_destroy(); - - pj_bzero(&app_config, sizeof(app_config)); - - return status; -} - - -#ifdef STEREO_DEMO -/* - * In this stereo demo, we open the sound device in stereo mode and - * arrange the attachment to the PJSUA-LIB conference bridge as such - * so that channel0/left channel of the sound device corresponds to - * slot 0 in the bridge, and channel1/right channel of the sound - * device corresponds to slot 1 in the bridge. Then user can independently - * feed different media to/from the speakers/microphones channels, by - * connecting them to slot 0 or 1 respectively. - * - * Here's how the connection looks like: - * - +-----------+ stereo +-----------------+ 2x mono +-----------+ - | AUDIO DEV |<------>| SPLITCOMB left|<------->|#0 BRIDGE | - +-----------+ | right|<------->|#1 | - +-----------------+ +-----------+ - */ -static void stereo_demo() -{ - pjmedia_port *conf; - pj_status_t status; - - /* Disable existing sound device */ - conf = pjsua_set_no_snd_dev(); - - /* Create stereo-mono splitter/combiner */ - status = pjmedia_splitcomb_create(app_config.pool, - conf->info.clock_rate /* clock rate */, - 2 /* stereo */, - 2 * conf->info.samples_per_frame, - conf->info.bits_per_sample, - 0 /* options */, - &app_config.sc); - pj_assert(status == PJ_SUCCESS); - - /* Connect channel0 (left channel?) to conference port slot0 */ - status = pjmedia_splitcomb_set_channel(app_config.sc, 0 /* ch0 */, - 0 /*options*/, - conf); - pj_assert(status == PJ_SUCCESS); - - /* Create reverse channel for channel1 (right channel?)... */ - status = pjmedia_splitcomb_create_rev_channel(app_config.pool, - app_config.sc, - 1 /* ch1 */, - 0 /* options */, - &app_config.sc_ch1); - pj_assert(status == PJ_SUCCESS); - - /* .. and register it to conference bridge (it would be slot1 - * if there's no other devices connected to the bridge) - */ - status = pjsua_conf_add_port(app_config.pool, app_config.sc_ch1, - &app_config.sc_ch1_slot); - pj_assert(status == PJ_SUCCESS); - - /* Create sound device */ - status = pjmedia_snd_port_create(app_config.pool, -1, -1, - conf->info.clock_rate, - 2 /* stereo */, - 2 * conf->info.samples_per_frame, - conf->info.bits_per_sample, - 0, &app_config.snd); - pj_assert(status == PJ_SUCCESS); - - - /* Connect the splitter to the sound device */ - status = pjmedia_snd_port_connect(app_config.snd, app_config.sc); - pj_assert(status == PJ_SUCCESS); - -} -#endif - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/README.TXT b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/README.TXT deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/StdAfx.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/StdAfx.cpp deleted file mode 100644 index dca188db1b46ee626210aa3c58a7129bb8d5cb85..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/StdAfx.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// pjsua_wince.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - -// TODO: reference any additional headers you need in STDAFX.H -// and not in this file diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/StdAfx.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/StdAfx.h deleted file mode 100644 index 3bc1e1762880c345431fdae1320a0b0415e4de3f..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/StdAfx.h +++ /dev/null @@ -1,25 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_) -#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_ - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers - -// Windows Header Files: -#include <windows.h> - -// Local Header Files - -// TODO: reference additional headers your program requires here - -//{{AFX_INSERT_LOCATION}} -// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line. - -#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/newres.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/newres.h deleted file mode 100644 index ac5edb7bc6e7dc943607a4c2908b5a29dbc21821..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/newres.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef __NEWRES_H__ -#define __NEWRES_H__ - -#if !defined(UNDER_CE) - #define UNDER_CE _WIN32_WCE -#endif - -#if defined(_WIN32_WCE) - #if !defined(WCEOLE_ENABLE_DIALOGEX) - #define DIALOGEX DIALOG DISCARDABLE - #endif - #include <commctrl.h> - #define SHMENUBAR RCDATA - #if defined(WIN32_PLATFORM_PSPC) && (_WIN32_WCE >= 300) - #include <aygshell.h> - #else - #define I_IMAGENONE (-2) - #define NOMENU 0xFFFF - #define IDS_SHNEW 1 - - #define IDM_SHAREDNEW 10 - #define IDM_SHAREDNEWDEFAULT 11 - #endif -#endif // _WIN32_WCE - - -#ifdef RC_INVOKED -#ifndef _INC_WINDOWS -#define _INC_WINDOWS - #include "winuser.h" // extract from windows header -#endif -#endif - -#ifdef IDC_STATIC -#undef IDC_STATIC -#endif -#define IDC_STATIC (-1) - -#endif //__NEWRES_H__ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.cpp deleted file mode 100644 index a10c67f887e3396f998e694ce5b4f3322de127f2..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.cpp +++ /dev/null @@ -1,780 +0,0 @@ -// pjsua_wince.cpp : Defines the entry point for the application. -// - -#include "stdafx.h" -#include "pjsua_wince.h" -#include <commctrl.h> -#include <pjsua-lib/pjsua.h> - -#define MAX_LOADSTRING 100 - -// Global Variables: -static HINSTANCE hInst; -static HWND hMainWnd; -static HWND hwndCB; -static HWND hwndGlobalStatus, hwndURI, hwndCallStatus; -static HWND hwndActionButton, hwndExitButton; - - - -// -// Basic config. -// -#define SIP_PORT 5060 - - -// -// Destination URI (to make call, or to subscribe presence) -// -#define SIP_DST_URI "sip:192.168.0.7:5061" - -// -// Account -// -#define HAS_SIP_ACCOUNT 0 // 0 to disable registration -#define SIP_DOMAIN "server" -#define SIP_REALM "server" -#define SIP_USER "user" -#define SIP_PASSWD "secret" - -// -// Outbound proxy for all accounts -// -#define SIP_PROXY NULL -//#define SIP_PROXY "sip:192.168.0.2;lr" - - -// -// Configure nameserver if DNS SRV is to be used with both SIP -// or STUN (for STUN see other settings below) -// -#define NAMESERVER NULL -//#define NAMESERVER "62.241.163.201" - -// -// STUN server -#if 0 - // Use this to have the STUN server resolved normally -# define STUN_DOMAIN NULL -# define STUN_SERVER "stun.fwdnet.net" -#elif 0 - // Use this to have the STUN server resolved with DNS SRV -# define STUN_DOMAIN "iptel.org" -# define STUN_SERVER NULL -#else - // Use this to disable STUN -# define STUN_DOMAIN NULL -# define STUN_SERVER NULL -#endif - -// -// Use ICE? -// -#define USE_ICE 0 - - -// -// Globals -// -static pj_pool_t *g_pool; -static pj_str_t g_local_uri; -static int g_current_acc; -static int g_current_call = PJSUA_INVALID_ID; -static int g_current_action; - -enum -{ - ID_GLOBAL_STATUS = 21, - ID_URI, - ID_CALL_STATUS, - ID_POLL_TIMER, -}; - -enum -{ - ID_MENU_NONE = 64, - ID_MENU_CALL, - ID_MENU_ANSWER, - ID_MENU_DISCONNECT, - ID_BTN_ACTION, -}; - - -// Forward declarations of functions included in this code module: -static ATOM MyRegisterClass (HINSTANCE, LPTSTR); -BOOL InitInstance (HINSTANCE, int); -static void OnCreate (HWND hWnd); -static LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); - - - -///////////////////////////////////////////////////////////////////////////// - -static void OnError(const wchar_t *title, pj_status_t status) -{ - char errmsg[PJ_ERR_MSG_SIZE]; - PJ_DECL_UNICODE_TEMP_BUF(werrmsg, PJ_ERR_MSG_SIZE); - - pj_strerror(status, errmsg, sizeof(errmsg)); - - MessageBox(NULL, PJ_STRING_TO_NATIVE(errmsg, werrmsg, PJ_ERR_MSG_SIZE), - title, MB_OK); -} - - -static void SetLocalURI(const char *uri, int len, bool enabled=true) -{ - wchar_t tmp[128]; - if (len==-1) len=pj_ansi_strlen(uri); - pj_ansi_to_unicode(uri, len, tmp, PJ_ARRAY_SIZE(tmp)); - SetDlgItemText(hMainWnd, ID_GLOBAL_STATUS, tmp); - EnableWindow(hwndGlobalStatus, enabled?TRUE:FALSE); -} - - - -static void SetURI(const char *uri, int len, bool enabled=true) -{ - wchar_t tmp[128]; - if (len==-1) len=pj_ansi_strlen(uri); - pj_ansi_to_unicode(uri, len, tmp, PJ_ARRAY_SIZE(tmp)); - SetDlgItemText(hMainWnd, ID_URI, tmp); - EnableWindow(hwndURI, enabled?TRUE:FALSE); -} - - -static void SetCallStatus(const char *state, int len) -{ - wchar_t tmp[128]; - if (len==-1) len=pj_ansi_strlen(state); - pj_ansi_to_unicode(state, len, tmp, PJ_ARRAY_SIZE(tmp)); - SetDlgItemText(hMainWnd, ID_CALL_STATUS, tmp); -} - -static void SetAction(int action, bool enable=true) -{ - HMENU hMenu; - - hMenu = CommandBar_GetMenu(hwndCB, 0); - - RemoveMenu(hMenu, ID_MENU_NONE, MF_BYCOMMAND); - RemoveMenu(hMenu, ID_MENU_CALL, MF_BYCOMMAND); - RemoveMenu(hMenu, ID_MENU_ANSWER, MF_BYCOMMAND); - RemoveMenu(hMenu, ID_MENU_DISCONNECT, MF_BYCOMMAND); - - switch (action) { - case ID_MENU_NONE: - InsertMenu(hMenu, ID_EXIT, MF_BYCOMMAND, action, TEXT("None")); - SetWindowText(hwndActionButton, TEXT("-")); - break; - case ID_MENU_CALL: - InsertMenu(hMenu, ID_EXIT, MF_BYCOMMAND, action, TEXT("Call")); - SetWindowText(hwndActionButton, TEXT("&Call")); - break; - case ID_MENU_ANSWER: - InsertMenu(hMenu, ID_EXIT, MF_BYCOMMAND, action, TEXT("Answer")); - SetWindowText(hwndActionButton, TEXT("&Answer")); - break; - case ID_MENU_DISCONNECT: - InsertMenu(hMenu, ID_EXIT, MF_BYCOMMAND, action, TEXT("Hangup")); - SetWindowText(hwndActionButton, TEXT("&Hangup")); - break; - } - - EnableMenuItem(hMenu, action, MF_BYCOMMAND | (enable?MF_ENABLED:MF_GRAYED)); - DrawMenuBar(hMainWnd); - - g_current_action = action; -} - - -/* - * Handler when invite state has changed. - */ -static void on_call_state(pjsua_call_id call_id, pjsip_event *e) -{ - pjsua_call_info call_info; - - PJ_UNUSED_ARG(e); - - pjsua_call_get_info(call_id, &call_info); - - if (call_info.state == PJSIP_INV_STATE_DISCONNECTED) { - - g_current_call = PJSUA_INVALID_ID; - SetURI(SIP_DST_URI, -1); - SetAction(ID_MENU_CALL); - //SetCallStatus(call_info.state_text.ptr, call_info.state_text.slen); - SetCallStatus(call_info.last_status_text.ptr, call_info.last_status_text.slen); - - } else { - //if (g_current_call == PJSUA_INVALID_ID) - // g_current_call = call_id; - - if (call_info.remote_contact.slen) - SetURI(call_info.remote_contact.ptr, call_info.remote_contact.slen, false); - else - SetURI(call_info.remote_info.ptr, call_info.remote_info.slen, false); - - if (call_info.state == PJSIP_INV_STATE_CONFIRMED) - SetAction(ID_MENU_DISCONNECT); - - SetCallStatus(call_info.state_text.ptr, call_info.state_text.slen); - } -} - - -/* - * Callback on media state changed event. - * The action may connect the call to sound device, to file, or - * to loop the call. - */ -static void on_call_media_state(pjsua_call_id call_id) -{ - pjsua_call_info call_info; - - pjsua_call_get_info(call_id, &call_info); - - if (call_info.media_status == PJSUA_CALL_MEDIA_ACTIVE) { - pjsua_conf_connect(call_info.conf_slot, 0); - pjsua_conf_connect(0, call_info.conf_slot); - } -} - - -/** - * Handler when there is incoming call. - */ -static void on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, - pjsip_rx_data *rdata) -{ - pjsua_call_info call_info; - - PJ_UNUSED_ARG(acc_id); - PJ_UNUSED_ARG(rdata); - - if (g_current_call != PJSUA_INVALID_ID) { - pj_str_t reason; - reason = pj_str("Another call is in progress"); - pjsua_call_answer(call_id, PJSIP_SC_BUSY_HERE, &reason, NULL); - return; - } - - g_current_call = call_id; - - pjsua_call_get_info(call_id, &call_info); - - SetAction(ID_MENU_ANSWER); - SetURI(call_info.remote_info.ptr, call_info.remote_info.slen, false); - pjsua_call_answer(call_id, 200, NULL, NULL); -} - - -/* - * Handler registration status has changed. - */ -static void on_reg_state(pjsua_acc_id acc_id) -{ - PJ_UNUSED_ARG(acc_id); - - // Log already written. -} - - -/* - * Handler on buddy state changed. - */ -static void on_buddy_state(pjsua_buddy_id buddy_id) -{ - /* Currently this is not processed */ - PJ_UNUSED_ARG(buddy_id); -} - - -/** - * Incoming IM message (i.e. MESSAGE request)! - */ -static void on_pager(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - const pj_str_t *mime_type, const pj_str_t *text) -{ - /* Currently this is not processed */ - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(from); - PJ_UNUSED_ARG(to); - PJ_UNUSED_ARG(contact); - PJ_UNUSED_ARG(mime_type); - PJ_UNUSED_ARG(text); -} - - -/** - * Received typing indication - */ -static void on_typing(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - pj_bool_t is_typing) -{ - /* Currently this is not processed */ - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(from); - PJ_UNUSED_ARG(to); - PJ_UNUSED_ARG(contact); - PJ_UNUSED_ARG(is_typing); -} - -/** - * Callback upon NAT detection completion - */ -static void nat_detect_cb(const pj_stun_nat_detect_result *res) -{ - if (res->status != PJ_SUCCESS) { - char msg[250]; - pj_ansi_snprintf(msg, sizeof(msg), "NAT detection failed: %s", - res->status_text); - SetCallStatus(msg, pj_ansi_strlen(msg)); - } else { - char msg[250]; - pj_ansi_snprintf(msg, sizeof(msg), "NAT type is %s", - res->nat_type_name); - SetCallStatus(msg, pj_ansi_strlen(msg)); - } -} - - -static BOOL OnInitStack(void) -{ - pjsua_config cfg; - pjsua_logging_config log_cfg; - pjsua_media_config media_cfg; - pjsua_transport_config udp_cfg; - pjsua_transport_config rtp_cfg; - pjsua_transport_id transport_id; - pjsua_transport_info transport_info; - pj_str_t tmp; - pj_status_t status; - - /* Create pjsua */ - status = pjsua_create(); - if (status != PJ_SUCCESS) { - OnError(TEXT("Error creating pjsua"), status); - return FALSE; - } - - /* Create global pool for application */ - g_pool = pjsua_pool_create("pjsua", 4000, 4000); - - /* Init configs */ - pjsua_config_default(&cfg); - pjsua_media_config_default(&media_cfg); - pjsua_transport_config_default(&udp_cfg); - udp_cfg.port = SIP_PORT; - - pjsua_transport_config_default(&rtp_cfg); - rtp_cfg.port = 40000; - - pjsua_logging_config_default(&log_cfg); - log_cfg.level = 5; - log_cfg.log_filename = pj_str("\\pjsua.txt"); - log_cfg.msg_logging = 1; - log_cfg.decor = pj_log_get_decor() | PJ_LOG_HAS_CR; - - /* Setup media */ - media_cfg.clock_rate = 8000; - media_cfg.ec_options = PJMEDIA_ECHO_SIMPLE; - media_cfg.ec_tail_len = 256; - // use default quality setting - //media_cfg.quality = 1; - media_cfg.ptime = 20; - media_cfg.enable_ice = USE_ICE; - - /* Initialize application callbacks */ - cfg.cb.on_call_state = &on_call_state; - cfg.cb.on_call_media_state = &on_call_media_state; - cfg.cb.on_incoming_call = &on_incoming_call; - cfg.cb.on_reg_state = &on_reg_state; - cfg.cb.on_buddy_state = &on_buddy_state; - cfg.cb.on_pager = &on_pager; - cfg.cb.on_typing = &on_typing; - cfg.cb.on_nat_detect = &nat_detect_cb; - - if (SIP_PROXY) { - cfg.outbound_proxy_cnt = 1; - cfg.outbound_proxy[0] = pj_str(SIP_PROXY); - } - - if (NAMESERVER) { - cfg.nameserver_count = 1; - cfg.nameserver[0] = pj_str(NAMESERVER); - } - - if (NAMESERVER && STUN_DOMAIN) { - cfg.stun_domain = pj_str(STUN_DOMAIN); - } else if (STUN_SERVER) { - cfg.stun_host = pj_str(STUN_SERVER); - } - - - /* Initialize pjsua */ - status = pjsua_init(&cfg, &log_cfg, &media_cfg); - if (status != PJ_SUCCESS) { - OnError(TEXT("Initialization error"), status); - return FALSE; - } - - /* Set codec priority */ - pjsua_codec_set_priority(pj_cstr(&tmp, "pcmu"), 240); - pjsua_codec_set_priority(pj_cstr(&tmp, "pcma"), 230); - pjsua_codec_set_priority(pj_cstr(&tmp, "speex/8000"), 190); - pjsua_codec_set_priority(pj_cstr(&tmp, "ilbc"), 189); - pjsua_codec_set_priority(pj_cstr(&tmp, "speex/16000"), 180); - pjsua_codec_set_priority(pj_cstr(&tmp, "speex/32000"), 0); - pjsua_codec_set_priority(pj_cstr(&tmp, "gsm"), 100); - - - /* Add UDP transport and the corresponding PJSUA account */ - status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, - &udp_cfg, &transport_id); - if (status != PJ_SUCCESS) { - OnError(TEXT("Error starting SIP transport"), status); - return FALSE; - } - - pjsua_transport_get_info(transport_id, &transport_info); - - g_local_uri.ptr = (char*)pj_pool_alloc(g_pool, 128); - g_local_uri.slen = pj_ansi_sprintf(g_local_uri.ptr, - "<sip:%.*s:%d>", - (int)transport_info.local_name.host.slen, - transport_info.local_name.host.ptr, - transport_info.local_name.port); - - - /* Add local account */ - pjsua_acc_add_local(transport_id, PJ_TRUE, &g_current_acc); - pjsua_acc_set_online_status(g_current_acc, PJ_TRUE); - - /* Add account */ - if (HAS_SIP_ACCOUNT) { - pjsua_acc_config cfg; - - pjsua_acc_config_default(&cfg); - cfg.id = pj_str("sip:" SIP_USER "@" SIP_DOMAIN); - cfg.reg_uri = pj_str("sip:" SIP_DOMAIN); - cfg.cred_count = 1; - cfg.cred_info[0].realm = pj_str(SIP_REALM); - cfg.cred_info[0].scheme = pj_str("digest"); - cfg.cred_info[0].username = pj_str(SIP_USER); - cfg.cred_info[0].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD; - cfg.cred_info[0].data = pj_str(SIP_PASSWD); - - status = pjsua_acc_add(&cfg, PJ_TRUE, &g_current_acc); - if (status != PJ_SUCCESS) { - pjsua_destroy(); - return PJ_FALSE; - } - } - - /* Add buddy */ - if (SIP_DST_URI) { - pjsua_buddy_config bcfg; - - pjsua_buddy_config_default(&bcfg); - bcfg.uri = pj_str(SIP_DST_URI); - bcfg.subscribe = PJ_FALSE; - - pjsua_buddy_add(&bcfg, NULL); - } - - /* Start pjsua */ - status = pjsua_start(); - if (status != PJ_SUCCESS) { - OnError(TEXT("Error starting pjsua"), status); - return FALSE; - } - - return TRUE; -} - - -////////////////////////////////////////////////////////////////////////////// - -int WINAPI WinMain(HINSTANCE hInstance, - HINSTANCE hPrevInstance, - LPTSTR lpCmdLine, - int nCmdShow) -{ - MSG msg; - HACCEL hAccelTable; - - PJ_UNUSED_ARG(lpCmdLine); - PJ_UNUSED_ARG(hPrevInstance); - - // Perform application initialization: - if (!InitInstance (hInstance, nCmdShow)) - { - return FALSE; - } - - hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_PJSUA_WINCE); - - - // Main message loop: - while (GetMessage(&msg, NULL, 0, 0)) - { - if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - - return msg.wParam; -} - -static ATOM MyRegisterClass(HINSTANCE hInstance, LPTSTR szWindowClass) -{ - WNDCLASS wc; - - wc.style = CS_HREDRAW | CS_VREDRAW; - wc.lpfnWndProc = (WNDPROC) WndProc; - wc.cbClsExtra = 0; - wc.cbWndExtra = 0; - wc.hInstance = hInstance; - wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_PJSUA_WINCE)); - wc.hCursor = 0; - wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); - wc.lpszMenuName = 0; - wc.lpszClassName = szWindowClass; - - return RegisterClass(&wc); -} - - -BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) -{ - HWND hWnd; - TCHAR szTitle[MAX_LOADSTRING]; - TCHAR szWindowClass[MAX_LOADSTRING]; - - hInst = hInstance; - - /* Init stack */ - if (OnInitStack() == FALSE) - return FALSE; - - LoadString(hInstance, IDC_PJSUA_WINCE, szWindowClass, MAX_LOADSTRING); - MyRegisterClass(hInstance, szWindowClass); - - LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); - hWnd = CreateWindow(szWindowClass, szTitle, WS_VISIBLE, - CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 200, - NULL, NULL, hInstance, NULL); - - if (!hWnd) - { - return FALSE; - } - - hMainWnd = hWnd; - ShowWindow(hWnd, nCmdShow); - UpdateWindow(hWnd); - if (hwndCB) - CommandBar_Show(hwndCB, TRUE); - - SetTimer(hMainWnd, ID_POLL_TIMER, 50, NULL); - - pjsua_detect_nat_type(); - return TRUE; -} - - -static void OnCreate(HWND hWnd) -{ - enum - { - X = 10, - Y = 40, - W = 220, - H = 30, - }; - - DWORD dwStyle; - - hMainWnd = hWnd; - - hwndCB = CommandBar_Create(hInst, hWnd, 1); - CommandBar_InsertMenubar(hwndCB, hInst, IDM_MENU, 0); - CommandBar_AddAdornments(hwndCB, 0, 0); - - // Create global status text - dwStyle = WS_CHILD | WS_VISIBLE | WS_DISABLED | ES_LEFT; - hwndGlobalStatus = CreateWindow( - TEXT("EDIT"), // Class name - NULL, // Window text - dwStyle, // Window style - X, // x-coordinate of the upper-left corner - Y+0, // y-coordinate of the upper-left corner - W, // Width of the window for the edit - // control - H-5, // Height of the window for the edit - // control - hWnd, // Window handle to the parent window - (HMENU) ID_GLOBAL_STATUS, // Control identifier - hInst, // Instance handle - NULL); // Specify NULL for this parameter when - // you create a control - SetLocalURI(g_local_uri.ptr, g_local_uri.slen, false); - - - // Create URI edit - dwStyle = WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER; - hwndURI = CreateWindow ( - TEXT("EDIT"), // Class name - NULL, // Window text - dwStyle, // Window style - X, // x-coordinate of the upper-left corner - Y+H, // y-coordinate of the upper-left corner - W, // Width of the window for the edit - // control - H-5, // Height of the window for the edit - // control - hWnd, // Window handle to the parent window - (HMENU) ID_URI, // Control identifier - hInst, // Instance handle - NULL); // Specify NULL for this parameter when - // you create a control - - // Create action Button - hwndActionButton = CreateWindow( L"button", L"Action", - WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, - X, Y+2*H, - 60, H-5, hWnd, - (HMENU) ID_BTN_ACTION, - hInst, NULL ); - - // Create exit button - hwndExitButton = CreateWindow( L"button", L"E&xit", - WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, - X+70, Y+2*H, - 60, H-5, hWnd, - (HMENU) ID_EXIT, - hInst, NULL ); - - - // Create call status edit - dwStyle = WS_CHILD | WS_VISIBLE | WS_DISABLED; - hwndCallStatus = CreateWindow ( - TEXT("EDIT"), // Class name - NULL, // Window text - dwStyle, // Window style - X, // x-coordinate of the upper-left corner - Y+3*H, // y-coordinate of the upper-left corner - W, // Width of the window for the edit - // control - H-5, // Height of the window for the edit - // control - hWnd, // Window handle to the parent window - (HMENU) ID_CALL_STATUS, // Control identifier - hInst, // Instance handle - NULL); // Specify NULL for this parameter when - // you create a control - SetCallStatus("Ready", 5); - SetAction(ID_MENU_CALL); - SetURI(SIP_DST_URI, -1); - SetFocus(hWnd); - -} - - -static void OnDestroy(void) -{ - pjsua_destroy(); -} - -static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - int wmId, wmEvent; - - switch (message) { - case WM_KEYUP: - if (wParam==114) { - wParam = ID_MENU_CALL; - } else if (wParam==115) { - if (g_current_call == PJSUA_INVALID_ID) - wParam = ID_EXIT; - else - wParam = ID_MENU_DISCONNECT; - } else - break; - - case WM_COMMAND: - wmId = LOWORD(wParam); - wmEvent = HIWORD(wParam); - if (wmId == ID_BTN_ACTION) - wmId = g_current_action; - switch (wmId) - { - case ID_MENU_CALL: - if (g_current_call != PJSUA_INVALID_ID) { - MessageBox(NULL, TEXT("Can not make call"), - TEXT("You already have one call active"), MB_OK); - } - pj_str_t dst_uri; - wchar_t text[256]; - char tmp[256]; - pj_status_t status; - - GetWindowText(hwndURI, text, PJ_ARRAY_SIZE(text)); - pj_unicode_to_ansi(text, pj_unicode_strlen(text), - tmp, sizeof(tmp)); - dst_uri.ptr = tmp; - dst_uri.slen = pj_ansi_strlen(tmp); - status = pjsua_call_make_call(g_current_acc, - &dst_uri, 0, NULL, - NULL, &g_current_call); - if (status != PJ_SUCCESS) - OnError(TEXT("Unable to make call"), status); - break; - case ID_MENU_ANSWER: - if (g_current_call == PJSUA_INVALID_ID) - MessageBox(NULL, TEXT("Can not answer"), - TEXT("There is no call!"), MB_OK); - else - pjsua_call_answer(g_current_call, 200, NULL, NULL); - break; - case ID_MENU_DISCONNECT: - if (g_current_call == PJSUA_INVALID_ID) - MessageBox(NULL, TEXT("Can not disconnect"), - TEXT("There is no call!"), MB_OK); - else - pjsua_call_hangup(g_current_call, PJSIP_SC_DECLINE, NULL, NULL); - break; - case ID_EXIT: - DestroyWindow(hWnd); - break; - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - break; - - case WM_CREATE: - OnCreate(hWnd); - break; - - case WM_DESTROY: - OnDestroy(); - CommandBar_Destroy(hwndCB); - PostQuitMessage(0); - break; - - case WM_TIMER: - pjsua_handle_events(1); - break; - - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - return 0; -} - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.h deleted file mode 100644 index 14c13bf1cd2496b5f1713978e3d153d3481c9c9f..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.h +++ /dev/null @@ -1,12 +0,0 @@ - -#if !defined(AFX_PJSUA_WINCE_H__F6793AE3_47AC_45D8_B00D_AB766E72C6BF__INCLUDED_) -#define AFX_PJSUA_WINCE_H__F6793AE3_47AC_45D8_B00D_AB766E72C6BF__INCLUDED_ - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 - -#include "resource.h" - - -#endif // !defined(AFX_PJSUA_WINCE_H__F6793AE3_47AC_45D8_B00D_AB766E72C6BF__INCLUDED_) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.ico b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.ico deleted file mode 100644 index 83b30142eb94a82eb3640637567c131e6fdd00da..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.ico and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.rc b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.rc deleted file mode 100644 index 6acddeef9d29e57a48b7a8d741f6f4d632504512..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.rc +++ /dev/null @@ -1,108 +0,0 @@ -//Microsoft eMbedded Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "newres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_PJSUA_WINCE ICON DISCARDABLE "pjsua_wince.ICO" - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""newres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Menubar -// - -IDM_MENU MENU DISCARDABLE -BEGIN - MENUITEM "E&xit", ID_EXIT -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Accelerator -// - -IDC_PJSUA_WINCE ACCELERATORS DISCARDABLE -BEGIN - "/", IDM_HELP_ABOUT, ASCII, ALT, NOINVERT - VK_F4, IDM_FILE_EXIT, VIRTKEY, ALT, NOINVERT -END - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - IDS_APP_TITLE "pjsua_wince" - IDS_HELLO "Hello World!" - IDC_PJSUA_WINCE "PJSUA_WINCE" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.vcp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.vcp deleted file mode 100644 index 3cded43a3faca381dae6dc61d30d212f93cba340..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.vcp +++ /dev/null @@ -1,1097 +0,0 @@ -# Microsoft eMbedded Visual Tools Project File - Name="pjsua_wince" - Package Owner=<4> -# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (WCE x86) Application" 0x8301 -# TARGTYPE "Win32 (WCE ARMV4) Application" 0xa301 -# TARGTYPE "Win32 (WCE ARMV4I) Application" 0xa501 -# TARGTYPE "Win32 (WCE emulator) Application" 0xa601 -# TARGTYPE "Win32 (WCE ARMV4T) Application" 0xa401 - -CFG=pjsua_wince - Win32 (WCE emulator) Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "pjsua_wince.vcn". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "pjsua_wince.vcn" CFG="pjsua_wince - Win32 (WCE emulator) Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "pjsua_wince - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Application") -!MESSAGE "pjsua_wince - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Application") -!MESSAGE "pjsua_wince - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Application") -!MESSAGE "pjsua_wince - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Application") -!MESSAGE "pjsua_wince - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Application") -!MESSAGE "pjsua_wince - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Application") -!MESSAGE "pjsua_wince - Win32 (WCE ARMV4T) Release" (based on "Win32 (WCE ARMV4T) Application") -!MESSAGE "pjsua_wince - Win32 (WCE ARMV4T) Debug" (based on "Win32 (WCE ARMV4T) Application") -!MESSAGE "pjsua_wince - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Application") -!MESSAGE "pjsua_wince - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -# PROP ATL_Project 2 - -!IF "$(CFG)" == "pjsua_wince - Win32 (WCE emulator) Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-emulatorRel" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-emulatorRel" -# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-emulatorRel" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-emulatorRel" -# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Yu"stdafx.h" /Gs8192 /GF /O2 /c -# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Yu"stdafx.h" /Gs8192 /GF /O2 /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 -# ADD LINK32 $(CEx86Corelibc) commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE emulator) Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-emulatorDbg" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-emulatorDbg" -# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-emulatorDbg" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-emulatorDbg" -# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r -# ADD RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Yu"stdafx.h" /Gs8192 /GF /c -# ADD CPP /nologo /W3 /Zi /Od /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Yu"stdafx.h" /Gs8192 /GF /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 -# ADD LINK32 $(CEx86Corelibc) commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4I) Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4IRel" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4IRel" -# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4IRel" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4IRel" -# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r -CPP=clarm.exe -# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c -# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB -# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4I) Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4IDbg" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4IDbg" -# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4IDbg" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4IDbg" -# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r -CPP=clarm.exe -# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c -# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB -# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4) Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4Rel" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4Rel" -# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4Rel" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4Rel" -# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r -CPP=clarm.exe -# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /O2 /M$(CECrtMT) /c -# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /O2 /M$(CECrtMT) /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM -# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4) Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4Dbg" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4Dbg" -# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4Dbg" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4Dbg" -# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r -CPP=clarm.exe -# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /M$(CECrtMTDebug) /c -# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /M$(CECrtMTDebug) /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM -# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4T) Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4TRel" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4TRel" -# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4TRel" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4TRel" -# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r -CPP=clthumb.exe -# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c -# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB -# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4T) Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4TDbg" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4TDbg" -# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4TDbg" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-ARMV4TDbg" -# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r -CPP=clthumb.exe -# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c -# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB -# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE x86) Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-X86Rel" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-X86Rel" -# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-X86Rel" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-X86Rel" -# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Yu"stdafx.h" /Gs8192 /GF /O2 /c -# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Yu"stdafx.h" /Gs8192 /GF /O2 /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 -# ADD LINK32 $(CEx86Corelibc) commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE x86) Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "../../build/wince-evc4/output/pjsua-wince-X86Dbg" -# PROP BASE Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-X86Dbg" -# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../build/wince-evc4/output/pjsua-wince-X86Dbg" -# PROP Intermediate_Dir "../../build/wince-evc4/output/pjsua-wince-X86Dbg" -# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r -# ADD RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Yu"stdafx.h" /Gs8192 /GF /c -# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjsip/include" /I "../../../pjlib-util/include" /I "../../../pjlib/include" /I "../../../pjmedia/include" /I "../../../pjnath/include" /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Yu"stdafx.h" /Gs8192 /GF /c -# SUBTRACT CPP /Fr -MTL=midl.exe -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 -# ADD LINK32 $(CEx86Corelibc) commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 - -!ENDIF - -# Begin Target - -# Name "pjsua_wince - Win32 (WCE emulator) Release" -# Name "pjsua_wince - Win32 (WCE emulator) Debug" -# Name "pjsua_wince - Win32 (WCE ARMV4I) Release" -# Name "pjsua_wince - Win32 (WCE ARMV4I) Debug" -# Name "pjsua_wince - Win32 (WCE ARMV4) Release" -# Name "pjsua_wince - Win32 (WCE ARMV4) Debug" -# Name "pjsua_wince - Win32 (WCE ARMV4T) Release" -# Name "pjsua_wince - Win32 (WCE ARMV4T) Debug" -# Name "pjsua_wince - Win32 (WCE x86) Release" -# Name "pjsua_wince - Win32 (WCE x86) Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\pjsua_wince.cpp - -!IF "$(CFG)" == "pjsua_wince - Win32 (WCE emulator) Release" - -DEP_CPP_PJSUA=\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE emulator) Debug" - -DEP_CPP_PJSUA=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns_server.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\pcap.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\activesock.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\stdarg.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\math.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\g722.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp_xr.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stereo.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_srtp.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\errno.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\nat_detect.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_sock.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\turn_session.h"\ - "..\..\..\pjnath\include\pjnath\turn_sock.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\rpid.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_100rel.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_aka.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4I) Release" - -DEP_CPP_PJSUA=\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4I) Debug" - -DEP_CPP_PJSUA=\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4) Release" - -DEP_CPP_PJSUA=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - -NODEP_CPP_PJSUA=\ - "..\..\..\pjlib-util\include\pjlib-util\stun.h"\ - - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4) Debug" - -DEP_CPP_PJSUA=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - -NODEP_CPP_PJSUA=\ - "..\..\..\pjlib\include\pj\compat\m_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_auto.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\mp3_port.h"\ - "..\..\..\pjsip\include\pjsip\sip_autoconf.h"\ - - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4T) Release" - -DEP_CPP_PJSUA=\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4T) Debug" - -DEP_CPP_PJSUA=\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE x86) Release" - -DEP_CPP_PJSUA=\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE x86) Debug" - -DEP_CPP_PJSUA=\ - ".\pjsua_wince.h"\ - ".\StdAfx.h"\ - - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\pjsua_wince.rc - -!IF "$(CFG)" == "pjsua_wince - Win32 (WCE emulator) Release" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE emulator) Debug" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4I) Release" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4I) Debug" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4) Release" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4) Debug" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4T) Release" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4T) Debug" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE x86) Release" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE x86) Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\StdAfx.cpp - -!IF "$(CFG)" == "pjsua_wince - Win32 (WCE emulator) Release" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE emulator) Debug" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4I) Release" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4I) Debug" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4) Release" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4) Debug" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4T) Release" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE ARMV4T) Debug" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE x86) Release" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "pjsua_wince - Win32 (WCE x86) Debug" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ENDIF - -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=.\newres.h -# End Source File -# Begin Source File - -SOURCE=.\pjsua_wince.h -# End Source File -# Begin Source File - -SOURCE=.\resource.h -# End Source File -# Begin Source File - -SOURCE=.\StdAfx.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# Begin Source File - -SOURCE=.\pjsua_wince.ico -# End Source File -# End Group -# Begin Source File - -SOURCE=.\ReadMe.txt -# End Source File -# End Target -# End Project diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.vcproj b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.vcproj deleted file mode 100644 index f33077659e327eae265bb5ed7e033d6394a59e7b..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/pjsua_wince.vcproj +++ /dev/null @@ -1,3627 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="pjsua_wince" - ProjectGUID="{C014B29B-4A42-414B-B567-988469F032D8}" - RootNamespace="pjsua_wince" - > - <Platforms> - <Platform - Name="Win32" - /> - <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" - /> - <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" - /> - <Platform - Name="Pocket PC 2003 (ARMV4)" - /> - <Platform - Name="Smartphone 2003 (ARMV4)" - /> - <Platform - Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - /> - <Platform - Name="Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;atl80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;MFC80U.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../include,../../../pjsip/include,../../../pjlib-util/include,../../../pjlib/include,../../../pjmedia/include,../../../pjnath/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\pjsua-wince-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" - > - <File - RelativePath="pjsua_wince.cpp" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - </File> - <File - RelativePath="pjsua_wince.rc" - > - </File> - <File - RelativePath="StdAfx.cpp" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl" - > - <File - RelativePath="newres.h" - > - </File> - <File - RelativePath="pjsua_wince.h" - > - </File> - <File - RelativePath="resource.h" - > - </File> - <File - RelativePath="StdAfx.h" - > - </File> - </Filter> - <Filter - Name="Resource Files" - Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" - > - <File - RelativePath="pjsua_wince.ico" - > - </File> - </Filter> - <File - RelativePath="ReadMe.txt" - > - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/resource.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/resource.h deleted file mode 100644 index 43e3888ca69f72abcfa39cf90937bb9dd2540d9c..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua_wince/resource.h +++ /dev/null @@ -1,28 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft eMbedded Visual C++ generated include file. -// Used by pjsua_wince.rc -// -#define IDS_APP_TITLE 1 -#define IDS_HELLO 2 -#define IDC_PJSUA_WINCE 3 -#define IDI_PJSUA_WINCE 101 -#define IDM_MENU 102 -#define IDD_ABOUTBOX 103 -#define IDM_FILE_EXIT 40002 -#define IDM_HELP_ABOUT 40003 -#define ID_MAKECALL 40004 -#define ID_ANSWER 40005 -#define ID_DISCONNECT 40006 -#define ID_ACTION 40007 -#define ID_EXIT 65535 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 104 -#define _APS_NEXT_COMMAND_VALUE 40008 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.cpp deleted file mode 100644 index 2d42d96e2ea3f8e259bbfb5dc4ab2966ea01d874..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// PocketPJ.cpp : Defines the class behaviors for the application. -// - -#include "stdafx.h" -#include "PocketPJ.h" -#include "PocketPJDlg.h" - -#ifdef _DEBUG -#define new DEBUG_NEW -#undef THIS_FILE -static char THIS_FILE[] = __FILE__; -#endif - -///////////////////////////////////////////////////////////////////////////// -// CPocketPJApp - -BEGIN_MESSAGE_MAP(CPocketPJApp, CWinApp) - //{{AFX_MSG_MAP(CPocketPJApp) - // NOTE - the ClassWizard will add and remove mapping macros here. - // DO NOT EDIT what you see in these blocks of generated code! - //}}AFX_MSG_MAP -END_MESSAGE_MAP() - -///////////////////////////////////////////////////////////////////////////// -// CPocketPJApp construction - -CPocketPJApp::CPocketPJApp() - : CWinApp() -{ - // TODO: add construction code here, - // Place all significant initialization in InitInstance -} - -///////////////////////////////////////////////////////////////////////////// -// The one and only CPocketPJApp object - -CPocketPJApp theApp; - -///////////////////////////////////////////////////////////////////////////// -// CPocketPJApp initialization - -BOOL CPocketPJApp::InitInstance() -{ - // Standard initialization - // If you are not using these features and wish to reduce the size - // of your final executable, you should remove from the following - // the specific initialization routines you do not need. - - CPocketPJDlg dlg; - m_pMainWnd = &dlg; - int nResponse = dlg.DoModal(); - if (nResponse == IDOK) - { - // TODO: Place code here to handle when the dialog is - // dismissed with OK - } - else if (nResponse == IDCANCEL) - { - // TODO: Place code here to handle when the dialog is - // dismissed with Cancel - } - - // Since the dialog has been closed, return FALSE so that we exit the - // application, rather than start the application's message pump. - return FALSE; -} diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.h deleted file mode 100644 index eb531527b36860f6b303cd87293782cbd98898a1..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.h +++ /dev/null @@ -1,49 +0,0 @@ -// PocketPJ.h : main header file for the POCKETPJ application -// - -#if !defined(AFX_POCKETPJ_H__D90320F8_01F9_4F5C_8655_13CF2FFDDF48__INCLUDED_) -#define AFX_POCKETPJ_H__D90320F8_01F9_4F5C_8655_13CF2FFDDF48__INCLUDED_ - -#if _MSC_VER >= 1000 -#pragma once -#endif // _MSC_VER >= 1000 - -#ifndef __AFXWIN_H__ - #error include 'stdafx.h' before including this file for PCH -#endif - -#include "resource.h" // main symbols - -///////////////////////////////////////////////////////////////////////////// -// CPocketPJApp: -// See PocketPJ.cpp for the implementation of this class -// - -class CPocketPJApp : public CWinApp -{ -public: - CPocketPJApp(); - -// Overrides - // ClassWizard generated virtual function overrides - //{{AFX_VIRTUAL(CPocketPJApp) - public: - virtual BOOL InitInstance(); - //}}AFX_VIRTUAL - -// Implementation - - //{{AFX_MSG(CPocketPJApp) - // NOTE - the ClassWizard will add and remove member functions here. - // DO NOT EDIT what you see in these blocks of generated code ! - //}}AFX_MSG - DECLARE_MESSAGE_MAP() -}; - - -///////////////////////////////////////////////////////////////////////////// - -//{{AFX_INSERT_LOCATION}} -// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line. - -#endif // !defined(AFX_POCKETPJ_H__D90320F8_01F9_4F5C_8655_13CF2FFDDF48__INCLUDED_) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.rc b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.rc deleted file mode 100644 index 89729740c32927a2c670ddaba5c46111cd6e7253..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.rc +++ /dev/null @@ -1,316 +0,0 @@ -//Microsoft eMbedded Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" -#include "newres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""afxres.h""\r\n" - "#include ""newres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -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_ENU)\r\n" - "#ifdef _WIN32\r\n" - "LANGUAGE 9, 1\r\n" - "#pragma code_page(1252)\r\n" - "#endif //_WIN32\r\n" - "#include ""res\\PocketPJ.rc2"" // non-Microsoft eMbedded Visual C++ edited resources\r\n" - "#include ""afxres.rc"" // Standard components\r\n" - "#include ""wceres.rc"" // WCE-specific components\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 DISCARDABLE "res\\PocketPJ.ico" -IDI_ONLINE ICON DISCARDABLE "res\\online.ico" -IDI_OFFLINE ICON DISCARDABLE "res\\offline.ico" -IDI_INVISIBLE ICON DISCARDABLE "res\\invisibl.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_POCKETPJ_DIALOG DIALOGEX 0, 0, 139, 151 -STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION -EXSTYLE WS_EX_APPWINDOW | 0x80000000L -CAPTION "PocketPJ" -FONT 8, "System" -BEGIN - LTEXT "sip:user@pjsip.lab",IDC_ACC_ID,22,5,115,8 - CONTROL 135,IDC_BTN_ACC,"Static",SS_BITMAP | SS_NOTIFY | - WS_BORDER | WS_TABSTOP,7,3,12,11 - CONTROL "List1",IDC_BUDDY_LIST,"SysListView32",LVS_SMALLICON | - LVS_SINGLESEL | LVS_SORTASCENDING | WS_BORDER | - WS_TABSTOP,7,35,127,109 - LTEXT "URL:",IDC_STATIC,7,19,16,8 - EDITTEXT IDC_URL,25,16,97,12,ES_AUTOHSCROLL - CONTROL 138,IDC_BTN_ACTION,"Static",SS_BITMAP | SS_NOTIFY | - WS_BORDER,125,16,12,11 -END - -IDD_SETTING DIALOG DISCARDABLE 0, 0, 140, 143 -STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "PocketPJ Settings.." -FONT 8, "System" -BEGIN - EDITTEXT IDC_DOMAIN,38,7,78,12,ES_AUTOHSCROLL - EDITTEXT IDC_USER,38,21,78,12,ES_AUTOHSCROLL - EDITTEXT IDC_PASSWD,38,35,78,12,ES_PASSWORD | ES_AUTOHSCROLL - EDITTEXT IDC_DNS,38,49,78,12,ES_AUTOHSCROLL - EDITTEXT IDC_STUN_SRV,56,64,77,12,ES_AUTOHSCROLL - CONTROL "ICE",IDC_ICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,79, - 24,10 - CONTROL "TCP",IDC_TCP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,33, - 79,24,10 - CONTROL "SRTP",IDC_SRTP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,61, - 79,29,10 - CONTROL "PUBLISH",IDC_PUBLISH,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,93,79,40,10 - CONTROL "EC, tail:",IDC_ECHO_SUPPRESS,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,92,37,10 - EDITTEXT IDC_EC_TAIL,47,91,23,12,ES_AUTOHSCROLL - CONTROL "VAD",IDC_VAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,93, - 92,25,10 - COMBOBOX IDC_CODECS,59,105,42,39,CBS_DROPDOWNLIST | WS_VSCROLL | - WS_TABSTOP - PUSHBUTTON "OK",IDOK,17,122,50,14 - PUSHBUTTON "Cancel",IDCANCEL,73,122,50,14 - LTEXT "Domain:",IDC_STATIC,7,8,30,9 - LTEXT "User:",IDC_STATIC,7,22,30,9 - LTEXT "Passwd:",IDC_STATIC,7,36,30,9 - CONTROL "STUN Srv:",IDC_STUN,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,65,47,10 - LTEXT "DNS:",IDC_STATIC,8,50,30,9 - LTEXT "ms",IDC_STATIC,75,92,13,9 - LTEXT "Codec priority:",IDC_STATIC,7,107,49,9 - CONTROL "AA",IDC_AA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107, - 107,25,10 -END - - -#ifndef _MAC -///////////////////////////////////////////////////////////////////////////// -// -// 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 "040904B0" - BEGIN - VALUE "CompanyName", "HP\0" - VALUE "FileDescription", "PocketPJ WCE MFC Application\0" - VALUE "FileVersion", "1, 0, 0, 1\0" - VALUE "InternalName", "PocketPJ\0" - VALUE "LegalCopyright", "Copyright � 2008\0" - VALUE "LegalTrademarks", "\0" - VALUE "OriginalFilename", "PocketPJ.exe\0" - VALUE "ProductName", "PocketPJ Application\0" - VALUE "ProductVersion", "1, 0, 0, 1\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END - -#endif // !_MAC - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_POCKETPJ_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 137 - TOPMARGIN, 7 - BOTTOMMARGIN, 144 - HORZGUIDE, 28 - END - - IDD_SETTING, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 133 - TOPMARGIN, 7 - BOTTOMMARGIN, 136 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_ONLINE BITMAP DISCARDABLE "res\\online.bmp" -IDB_OFFLINE BITMAP DISCARDABLE "res\\offline.bmp" -IDB_INVISIBLE BITMAP DISCARDABLE "res\\invisibl.bmp" -IDB_ACTION BITMAP DISCARDABLE "res\\action.bmp" -IDB_BLANK BITMAP DISCARDABLE "res\\blank.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// Menubar -// - -IDR_ACC_MENU MENU DISCARDABLE -BEGIN - POPUP "Set Online Status:" - BEGIN - MENUITEM "&Online", IDC_ACC_ONLINE - MENUITEM "&Invisible", IDC_ACC_INVISIBLE - MENUITEM SEPARATOR - MENUITEM "&Settings...", IDC_ACC_SETTINGS - MENUITEM SEPARATOR - MENUITEM "E&xit", IDOK - END -END - -IDR_URI_MENU MENU DISCARDABLE -BEGIN - POPUP "URI Action" - BEGIN - MENUITEM "&Call...", IDC_URI_CALL - MENUITEM "Add to Buddy List", IDC_URI_ADD_BUDDY - MENUITEM "&Del Buddy", IDC_URI_DEL_BUDDY - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Data -// - -IDR_ACC_MENU SHMENUBAR DISCARDABLE -BEGIN - IDR_ACC_MENU, 1, - I_IMAGENONE, IDC_MENU1, TBSTATE_ENABLED, - TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_MENUITEM32786, 0, 0, -END - -IDR_URI_MENU SHMENUBAR DISCARDABLE -BEGIN - IDR_URI_MENU, 1, - I_IMAGENONE, IDC_MENU2, TBSTATE_ENABLED, - TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_MENUITEM32790, 0, 0, -END - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - IDS_CAP_ONLINE "Online" - IDS_CAP_OFFLINE "Offline" - IDS_CAP_INVISIBLE "Invisible" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_CAP_MENUITEM32786 "Set Online Status:" - IDS_CAP_MENUITEM32790 "URI Action" -END - -#endif // English (U.S.) 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_ENU) -#ifdef _WIN32 -LANGUAGE 9, 1 -#pragma code_page(1252) -#endif //_WIN32 -#include "res\PocketPJ.rc2" // non-Microsoft eMbedded Visual C++ edited resources -#include "afxres.rc" // Standard components -// #include "wceres.rc" // WCE-specific components -#endif - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcc b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcc deleted file mode 100644 index 5320b2d3731e1513748b14480a03ebab0d628261..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcc +++ /dev/null @@ -1,102 +0,0 @@ -; CLW file contains information for the MFC ClassWizard - -[General Info] -Version=1 -LastClass=CSettingsDlg -LastTemplate=CDialog -NewFileInclude1=#include "stdafx.h" -NewFileInclude2=#include "PocketPJ.h" - -ClassCount=3 -Class1=CPocketPJApp -Class2=CPocketPJDlg - -ResourceCount=5 -Resource2=IDR_ACC_MENU -Resource3=IDD_POCKETPJ_DIALOG -Resource4=IDD_SETTING -Resource1=IDR_MAINFRAME -Class3=CSettingsDlg -Resource5=IDR_URI_MENU - -[CLS:CPocketPJApp] -Type=0 -HeaderFile=PocketPJ.h -ImplementationFile=PocketPJ.cpp -Filter=N - -[CLS:CPocketPJDlg] -Type=0 -HeaderFile=PocketPJDlg.h -ImplementationFile=PocketPJDlg.cpp -Filter=D -BaseClass=CDialog -VirtualFilter=dWC -LastObject=CPocketPJDlg - - -[DLG:IDD_POCKETPJ_DIALOG] -Type=1 -Class=CPocketPJDlg -ControlCount=6 -Control1=IDC_ACC_ID,static,1342308352 -Control2=IDC_BTN_ACC,static,1350631694 -Control3=IDC_BUDDY_LIST,SysListView32,1350631446 -Control4=IDC_STATIC,static,1342308352 -Control5=IDC_URL,edit,1350631552 -Control6=IDC_BTN_ACTION,static,1350566158 - -[MNU:IDR_ACC_MENU] -Type=1 -Class=CPocketPJDlg -Command1=IDC_ACC_ONLINE -Command2=IDC_ACC_INVISIBLE -Command3=IDC_ACC_SETTINGS -Command4=IDOK -CommandCount=4 - -[MNU:IDR_URI_MENU] -Type=1 -Class=CPocketPJDlg -Command1=IDC_URI_CALL -Command2=IDC_URI_ADD_BUDDY -Command3=IDC_URI_DEL_BUDDY -CommandCount=3 - -[DLG:IDD_SETTING] -Type=1 -Class=CSettingsDlg -ControlCount=23 -Control1=IDC_DOMAIN,edit,1350631552 -Control2=IDC_USER,edit,1350631552 -Control3=IDC_PASSWD,edit,1350631584 -Control4=IDC_DNS,edit,1350631552 -Control5=IDC_STUN_SRV,edit,1350631552 -Control6=IDC_ICE,button,1342242819 -Control7=IDC_TCP,button,1342242819 -Control8=IDC_SRTP,button,1342242819 -Control9=IDC_PUBLISH,button,1342242819 -Control10=IDC_ECHO_SUPPRESS,button,1342242819 -Control11=IDC_EC_TAIL,edit,1350631552 -Control12=IDC_VAD,button,1342242819 -Control13=IDC_CODECS,combobox,1344339971 -Control14=IDOK,button,1342242816 -Control15=IDCANCEL,button,1342242816 -Control16=IDC_STATIC,static,1342308352 -Control17=IDC_STATIC,static,1342308352 -Control18=IDC_STATIC,static,1342308352 -Control19=IDC_STUN,button,1342242819 -Control20=IDC_STATIC,static,1342308352 -Control21=IDC_STATIC,static,1342308352 -Control22=IDC_STATIC,static,1342308352 -Control23=IDC_AA,button,1342242819 - -[CLS:CSettingsDlg] -Type=0 -HeaderFile=SettingsDlg.h -ImplementationFile=SettingsDlg.cpp -BaseClass=CDialog -Filter=D -VirtualFilter=dWC -LastObject=CSettingsDlg - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcp deleted file mode 100644 index 071cc15dc9ab3c44f3f44d358333942ea813370f..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcp +++ /dev/null @@ -1,1923 +0,0 @@ -# Microsoft eMbedded Visual Tools Project File - Name="PocketPJ" - Package Owner=<4> -# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (WCE ARMV4) Application" 0xa301 -# TARGTYPE "Win32 (WCE emulator) Application" 0xa601 - -CFG=PocketPJ - Win32 (WCE emulator) Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "PocketPJ.vcn". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "PocketPJ.vcn" CFG="PocketPJ - Win32 (WCE emulator) Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "PocketPJ - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Application") -!MESSAGE "PocketPJ - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Application") -!MESSAGE "PocketPJ - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Application") -!MESSAGE "PocketPJ - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -# PROP ATL_Project 2 - -!IF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Release" - -# PROP BASE Use_MFC 2 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "emulatorRel" -# PROP BASE Intermediate_Dir "emulatorRel" -# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 2 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "emulatorRel" -# PROP Intermediate_Dir "emulatorRel" -# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /d "_AFXDLL" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /d "_AFXDLL" /r -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_WIN32_WCE_CEPC" /D "_AFXDLL" /Yu"stdafx.h" /Gs8192 /GF /O2 /c -# ADD CPP /nologo /W3 /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_WIN32_WCE_CEPC" /D "_AFXDLL" /Yu"stdafx.h" /Gs8192 /GF /O2 /c -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /MACHINE:IX86 -# ADD LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /MACHINE:IX86 - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Debug" - -# PROP BASE Use_MFC 2 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "emulatorDbg" -# PROP BASE Intermediate_Dir "emulatorDbg" -# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 2 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "emulatorDbg" -# PROP Intermediate_Dir "emulatorDbg" -# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /d "_AFXDLL" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /d "_AFXDLL" /r -CPP=cl.exe -# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_WIN32_WCE_CEPC" /D "_AFXDLL" /Yu"stdafx.h" /Gs8192 /GF /c -# ADD CPP /nologo /W3 /Zi /Od /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../pjmedia/include" /I "../../../pjsip/include" /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_WIN32_WCE_CEPC" /D "_AFXDLL" /FR /Yu"stdafx.h" /Gs8192 /GF /c -MTL=midl.exe -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /MACHINE:IX86 -# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /MACHINE:IX86 - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Release" - -# PROP BASE Use_MFC 2 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "ARMV4Rel" -# PROP BASE Intermediate_Dir "ARMV4Rel" -# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 2 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "ARMV4Rel" -# PROP Intermediate_Dir "ARMV4Rel" -# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /d "_AFXDLL" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /d "_AFXDLL" /r -CPP=clarm.exe -# ADD BASE CPP /nologo /W3 /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_AFXDLL" /Yu"stdafx.h" /O2 /M$(CECrtMT) /c -# ADD CPP /nologo /W3 /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../pjmedia/include" /I "../../../pjsip/include" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_AFXDLL" /Yu"stdafx.h" /O2 /M$(CECrtMT) /c -MTL=midl.exe -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM -# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Debug" - -# PROP BASE Use_MFC 2 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "ARMV4Dbg" -# PROP BASE Intermediate_Dir "ARMV4Dbg" -# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" -# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP BASE Target_Dir "" -# PROP Use_MFC 2 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "ARMV4Dbg" -# PROP Intermediate_Dir "ARMV4Dbg" -# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" -# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -RSC=rc.exe -# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /d "_AFXDLL" /r -# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /d "_AFXDLL" /r -CPP=clarm.exe -# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_AFXDLL" /Yu"stdafx.h" /M$(CECrtMTDebug) /c -# ADD CPP /nologo /W3 /Zi /Od /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../pjmedia/include" /I "../../../pjsip/include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_AFXDLL" /FR /Yu"stdafx.h" /M$(CECrtMTDebug) /c -MTL=midl.exe -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM -# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"wWinMainCRTStartup" /debug /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM - -!ENDIF - -# Begin Target - -# Name "PocketPJ - Win32 (WCE emulator) Release" -# Name "PocketPJ - Win32 (WCE emulator) Debug" -# Name "PocketPJ - Win32 (WCE ARMV4) Release" -# Name "PocketPJ - Win32 (WCE ARMV4) Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\PocketPJ.cpp - -!IF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Release" - -DEP_CPP_POCKE=\ - ".\PocketPJ.h"\ - ".\PocketPJDlg.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Debug" - -DEP_CPP_POCKE=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\pcap.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\m_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\stdarg.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_srtp.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\errno.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\nat_detect.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\rpid.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_100rel.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_aka.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_autoconf.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\PocketPJ.h"\ - ".\PocketPJDlg.h"\ - ".\PopUpWnd.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Release" - -DEP_CPP_POCKE=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\pcap.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\m_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\stdarg.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_srtp.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\errno.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\nat_detect.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\rpid.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_100rel.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_aka.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_autoconf.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\PocketPJ.h"\ - ".\PocketPJDlg.h"\ - ".\PopUpWnd.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Debug" - -DEP_CPP_POCKE=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\pcap.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\m_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\stdarg.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_srtp.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\errno.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\nat_detect.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\rpid.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_100rel.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_aka.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_autoconf.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\PocketPJ.h"\ - ".\PocketPJDlg.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\PocketPJ.rc - -!IF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Release" - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Debug" - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Release" - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\PocketPJDlg.cpp - -!IF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Release" - -DEP_CPP_POCKET=\ - ".\PocketPJ.h"\ - ".\PocketPJDlg.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Debug" - -DEP_CPP_POCKET=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\pcap.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\m_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\stdarg.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_srtp.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\errno.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\nat_detect.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\rpid.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_100rel.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_aka.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_autoconf.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\PocketPJ.h"\ - ".\PocketPJDlg.h"\ - ".\PopUpWnd.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - {$(INCLUDE)}"ipexport.h"\ - {$(INCLUDE)}"Iphlpapi.h"\ - {$(INCLUDE)}"iptypes.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Release" - -DEP_CPP_POCKET=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\pcap.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\m_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\stdarg.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_srtp.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\errno.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\nat_detect.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\rpid.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_100rel.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_aka.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_autoconf.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\PocketPJ.h"\ - ".\PocketPJDlg.h"\ - ".\PopUpWnd.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - {$(INCLUDE)}"ipexport.h"\ - {$(INCLUDE)}"Iphlpapi.h"\ - {$(INCLUDE)}"iptypes.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Debug" - -DEP_CPP_POCKET=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\pcap.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\m_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\stdarg.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_srtp.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\errno.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\nat_detect.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\rpid.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_100rel.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_aka.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_autoconf.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\PocketPJ.h"\ - ".\PocketPJDlg.h"\ - ".\PopUpDlg.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\PopUpWnd.cpp - -!IF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Release" - -DEP_CPP_POPUP=\ - ".\PopUpWnd.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Debug" - -DEP_CPP_POPUP=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\pcap.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\m_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\stdarg.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_srtp.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\errno.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\nat_detect.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\rpid.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_100rel.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_aka.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_autoconf.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\PocketPJDlg.h"\ - ".\PopUpWnd.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Release" - -DEP_CPP_POPUP=\ - "..\..\..\pjlib-util\include\pjlib-util.h"\ - "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ - "..\..\..\pjlib-util\include\pjlib-util\config.h"\ - "..\..\..\pjlib-util\include\pjlib-util\crc32.h"\ - "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ - "..\..\..\pjlib-util\include\pjlib-util\errno.h"\ - "..\..\..\pjlib-util\include\pjlib-util\getopt.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\hmac_sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\md5.h"\ - "..\..\..\pjlib-util\include\pjlib-util\pcap.h"\ - "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ - "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ - "..\..\..\pjlib-util\include\pjlib-util\sha1.h"\ - "..\..\..\pjlib-util\include\pjlib-util\srv_resolver.h"\ - "..\..\..\pjlib-util\include\pjlib-util\stun_simple.h"\ - "..\..\..\pjlib-util\include\pjlib-util\types.h"\ - "..\..\..\pjlib-util\include\pjlib-util\xml.h"\ - "..\..\..\pjlib\include\pj\addr_resolv.h"\ - "..\..\..\pjlib\include\pj\array.h"\ - "..\..\..\pjlib\include\pj\assert.h"\ - "..\..\..\pjlib\include\pj\compat\assert.h"\ - "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ - "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ - "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ - "..\..\..\pjlib\include\pj\compat\ctype.h"\ - "..\..\..\pjlib\include\pj\compat\errno.h"\ - "..\..\..\pjlib\include\pj\compat\high_precision.h"\ - "..\..\..\pjlib\include\pj\compat\m_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_auto.h"\ - "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux.h"\ - "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ - "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ - "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ - "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ - "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32.h"\ - "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ - "..\..\..\pjlib\include\pj\compat\setjmp.h"\ - "..\..\..\pjlib\include\pj\compat\size_t.h"\ - "..\..\..\pjlib\include\pj\compat\stdarg.h"\ - "..\..\..\pjlib\include\pj\compat\string.h"\ - "..\..\..\pjlib\include\pj\config.h"\ - "..\..\..\pjlib\include\pj\config_site.h"\ - "..\..\..\pjlib\include\pj\config_site_sample.h"\ - "..\..\..\pjlib\include\pj\ctype.h"\ - "..\..\..\pjlib\include\pj\errno.h"\ - "..\..\..\pjlib\include\pj\except.h"\ - "..\..\..\pjlib\include\pj\fifobuf.h"\ - "..\..\..\pjlib\include\pj\file_access.h"\ - "..\..\..\pjlib\include\pj\file_io.h"\ - "..\..\..\pjlib\include\pj\guid.h"\ - "..\..\..\pjlib\include\pj\hash.h"\ - "..\..\..\pjlib\include\pj\ioqueue.h"\ - "..\..\..\pjlib\include\pj\ip_helper.h"\ - "..\..\..\pjlib\include\pj\list.h"\ - "..\..\..\pjlib\include\pj\list_i.h"\ - "..\..\..\pjlib\include\pj\lock.h"\ - "..\..\..\pjlib\include\pj\log.h"\ - "..\..\..\pjlib\include\pj\os.h"\ - "..\..\..\pjlib\include\pj\pool.h"\ - "..\..\..\pjlib\include\pj\pool_alt.h"\ - "..\..\..\pjlib\include\pj\pool_buf.h"\ - "..\..\..\pjlib\include\pj\pool_i.h"\ - "..\..\..\pjlib\include\pj\rand.h"\ - "..\..\..\pjlib\include\pj\rbtree.h"\ - "..\..\..\pjlib\include\pj\sock.h"\ - "..\..\..\pjlib\include\pj\sock_select.h"\ - "..\..\..\pjlib\include\pj\string.h"\ - "..\..\..\pjlib\include\pj\string_i.h"\ - "..\..\..\pjlib\include\pj\timer.h"\ - "..\..\..\pjlib\include\pj\types.h"\ - "..\..\..\pjlib\include\pj\unicode.h"\ - "..\..\..\pjlib\include\pjlib.h"\ - "..\..\..\pjmedia\include\pjmedia-codec.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\gsm.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\ilbc.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\l16.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\speex.h"\ - "..\..\..\pjmedia\include\pjmedia-codec\types.h"\ - "..\..\..\pjmedia\include\pjmedia.h"\ - "..\..\..\pjmedia\include\pjmedia\alaw_ulaw.h"\ - "..\..\..\pjmedia\include\pjmedia\bidirectional.h"\ - "..\..\..\pjmedia\include\pjmedia\clock.h"\ - "..\..\..\pjmedia\include\pjmedia\codec.h"\ - "..\..\..\pjmedia\include\pjmedia\conference.h"\ - "..\..\..\pjmedia\include\pjmedia\config.h"\ - "..\..\..\pjmedia\include\pjmedia\config_auto.h"\ - "..\..\..\pjmedia\include\pjmedia\echo.h"\ - "..\..\..\pjmedia\include\pjmedia\echo_port.h"\ - "..\..\..\pjmedia\include\pjmedia\endpoint.h"\ - "..\..\..\pjmedia\include\pjmedia\errno.h"\ - "..\..\..\pjmedia\include\pjmedia\g711.h"\ - "..\..\..\pjmedia\include\pjmedia\jbuf.h"\ - "..\..\..\pjmedia\include\pjmedia\master_port.h"\ - "..\..\..\pjmedia\include\pjmedia\mem_port.h"\ - "..\..\..\pjmedia\include\pjmedia\null_port.h"\ - "..\..\..\pjmedia\include\pjmedia\plc.h"\ - "..\..\..\pjmedia\include\pjmedia\port.h"\ - "..\..\..\pjmedia\include\pjmedia\resample.h"\ - "..\..\..\pjmedia\include\pjmedia\rtcp.h"\ - "..\..\..\pjmedia\include\pjmedia\rtp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp.h"\ - "..\..\..\pjmedia\include\pjmedia\sdp_neg.h"\ - "..\..\..\pjmedia\include\pjmedia\session.h"\ - "..\..\..\pjmedia\include\pjmedia\silencedet.h"\ - "..\..\..\pjmedia\include\pjmedia\sound.h"\ - "..\..\..\pjmedia\include\pjmedia\sound_port.h"\ - "..\..\..\pjmedia\include\pjmedia\splitcomb.h"\ - "..\..\..\pjmedia\include\pjmedia\stream.h"\ - "..\..\..\pjmedia\include\pjmedia\tonegen.h"\ - "..\..\..\pjmedia\include\pjmedia\transport.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_ice.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_srtp.h"\ - "..\..\..\pjmedia\include\pjmedia\transport_udp.h"\ - "..\..\..\pjmedia\include\pjmedia\types.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_playlist.h"\ - "..\..\..\pjmedia\include\pjmedia\wav_port.h"\ - "..\..\..\pjmedia\include\pjmedia\wave.h"\ - "..\..\..\pjnath\include\pjnath.h"\ - "..\..\..\pjnath\include\pjnath\config.h"\ - "..\..\..\pjnath\include\pjnath\errno.h"\ - "..\..\..\pjnath\include\pjnath\ice_session.h"\ - "..\..\..\pjnath\include\pjnath\ice_strans.h"\ - "..\..\..\pjnath\include\pjnath\nat_detect.h"\ - "..\..\..\pjnath\include\pjnath\stun_auth.h"\ - "..\..\..\pjnath\include\pjnath\stun_config.h"\ - "..\..\..\pjnath\include\pjnath\stun_msg.h"\ - "..\..\..\pjnath\include\pjnath\stun_session.h"\ - "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ - "..\..\..\pjnath\include\pjnath\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\evsub.h"\ - "..\..\..\pjsip\include\pjsip-simple\iscomposing.h"\ - "..\..\..\pjsip\include\pjsip-simple\pidf.h"\ - "..\..\..\pjsip\include\pjsip-simple\presence.h"\ - "..\..\..\pjsip\include\pjsip-simple\publish.h"\ - "..\..\..\pjsip\include\pjsip-simple\rpid.h"\ - "..\..\..\pjsip\include\pjsip-simple\types.h"\ - "..\..\..\pjsip\include\pjsip-simple\xpidf.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_100rel.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_inv.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_regc.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_replaces.h"\ - "..\..\..\pjsip\include\pjsip-ua\sip_xfer.h"\ - "..\..\..\pjsip\include\pjsip.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_aka.h"\ - "..\..\..\pjsip\include\pjsip\sip_auth_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_autoconf.h"\ - "..\..\..\pjsip\include\pjsip\sip_config.h"\ - "..\..\..\pjsip\include\pjsip\sip_dialog.h"\ - "..\..\..\pjsip\include\pjsip\sip_endpoint.h"\ - "..\..\..\pjsip\include\pjsip\sip_errno.h"\ - "..\..\..\pjsip\include\pjsip\sip_event.h"\ - "..\..\..\pjsip\include\pjsip\sip_module.h"\ - "..\..\..\pjsip\include\pjsip\sip_msg.h"\ - "..\..\..\pjsip\include\pjsip\sip_parser.h"\ - "..\..\..\pjsip\include\pjsip\sip_resolve.h"\ - "..\..\..\pjsip\include\pjsip\sip_tel_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_transaction.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_loop.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tcp.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_tls.h"\ - "..\..\..\pjsip\include\pjsip\sip_transport_udp.h"\ - "..\..\..\pjsip\include\pjsip\sip_types.h"\ - "..\..\..\pjsip\include\pjsip\sip_ua_layer.h"\ - "..\..\..\pjsip\include\pjsip\sip_uri.h"\ - "..\..\..\pjsip\include\pjsip\sip_util.h"\ - "..\..\..\pjsip\include\pjsip_simple.h"\ - "..\..\..\pjsip\include\pjsip_ua.h"\ - "..\..\..\pjsip\include\pjsua-lib\pjsua.h"\ - ".\PocketPJDlg.h"\ - ".\PopUpWnd.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Debug" - -DEP_CPP_POPUP=\ - ".\PopUpWnd.h"\ - ".\StdAfx.h"\ - - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\SettingsDlg.cpp - -!IF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Release" - -DEP_CPP_SETTI=\ - ".\PocketPJ.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Debug" - -DEP_CPP_SETTI=\ - ".\PocketPJ.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Release" - -DEP_CPP_SETTI=\ - ".\PocketPJ.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Debug" - -DEP_CPP_SETTI=\ - ".\PocketPJ.h"\ - ".\SettingsDlg.h"\ - ".\StdAfx.h"\ - - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=.\StdAfx.cpp - -!IF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Release" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE emulator) Debug" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Release" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ELSEIF "$(CFG)" == "PocketPJ - Win32 (WCE ARMV4) Debug" - -DEP_CPP_STDAF=\ - ".\StdAfx.h"\ - -# ADD CPP /Yc"stdafx.h" - -!ENDIF - -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=.\newres.h -# End Source File -# Begin Source File - -SOURCE=.\PocketPJ.h -# End Source File -# Begin Source File - -SOURCE=.\PocketPJDlg.h -# End Source File -# Begin Source File - -SOURCE=.\PopUpWnd.h -# End Source File -# Begin Source File - -SOURCE=.\Resource.h -# End Source File -# Begin Source File - -SOURCE=.\SettingsDlg.h -# End Source File -# Begin Source File - -SOURCE=.\StdAfx.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# Begin Source File - -SOURCE=.\res\action.bmp -# End Source File -# Begin Source File - -SOURCE=.\res\blank.bmp -# End Source File -# Begin Source File - -SOURCE=.\res\invisibl.bmp -# End Source File -# Begin Source File - -SOURCE=.\res\invisibl.ico -# End Source File -# Begin Source File - -SOURCE=.\res\offline.bmp -# End Source File -# Begin Source File - -SOURCE=.\res\offline.ico -# End Source File -# Begin Source File - -SOURCE=.\res\online.bmp -# End Source File -# Begin Source File - -SOURCE=.\res\online.ico -# End Source File -# Begin Source File - -SOURCE=.\res\PocketPJ.ico -# End Source File -# Begin Source File - -SOURCE=.\res\PocketPJ.rc2 -# PROP Exclude_From_Scan -1 -# PROP BASE Exclude_From_Build 1 -# PROP Exclude_From_Build 1 -# End Source File -# End Group -# Begin Source File - -SOURCE=.\ReadMe.txt -# End Source File -# End Target -# End Project diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcproj b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcproj deleted file mode 100644 index b1d203959bc0291b370c62fa95cd56af2a4f06f3..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcproj +++ /dev/null @@ -1,5137 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="PocketPJ" - ProjectGUID="{48450961-D0DF-4B59-BD8D-39455AA02DF8}" - RootNamespace="PocketPJ" - Keyword="MFCProj" - > - <Platforms> - <Platform - Name="Win32" - /> - <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" - /> - <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" - /> - <Platform - Name="Pocket PC 2003 (ARMV4)" - /> - <Platform - Name="Smartphone 2003 (ARMV4)" - /> - <Platform - Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - /> - <Platform - Name="Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Release|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib secchk.lib ccrtrtti.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;atl80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;MFC80U.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib secchk.lib ccrtrtti.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;atl80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;msvcr80d.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;MFC80UD.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib secchk.lib ccrtrtti.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib secchk.lib ccrtrtti.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib secchk.lib ccrtrtti.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - ConfigurationType="1" - UseOfMFC="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib secchk.lib ccrtrtti.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - UseOfMFC="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../../../pjlib/include,../../../pjlib-util/include,../../../pjnath/include,../../../pjmedia/include,../../../pjsip/include" - UsePrecompiledHeader="2" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib" - OutputFile="..\..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vs$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" - > - <File - RelativePath="PocketPJ.cpp" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - </File> - <File - RelativePath="PocketPJ.rc" - > - </File> - <File - RelativePath="PocketPJDlg.cpp" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - </File> - <File - RelativePath="PopUpWnd.cpp" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - </File> - <File - RelativePath="SettingsDlg.cpp" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - /> - </FileConfiguration> - </File> - <File - RelativePath="StdAfx.cpp" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - BrowseInformation="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - UsePrecompiledHeader="1" - /> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl" - > - <File - RelativePath="newres.h" - > - </File> - <File - RelativePath="PocketPJ.h" - > - </File> - <File - RelativePath="PocketPJDlg.h" - > - </File> - <File - RelativePath="PopUpWnd.h" - > - </File> - <File - RelativePath="Resource.h" - > - </File> - <File - RelativePath="SettingsDlg.h" - > - </File> - <File - RelativePath="StdAfx.h" - > - </File> - </Filter> - <Filter - Name="Resource Files" - Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" - > - <File - RelativePath="res\action.bmp" - > - </File> - <File - RelativePath="res\blank.bmp" - > - </File> - <File - RelativePath="res\invisibl.bmp" - > - </File> - <File - RelativePath="res\invisibl.ico" - > - </File> - <File - RelativePath="res\offline.bmp" - > - </File> - <File - RelativePath="res\offline.ico" - > - </File> - <File - RelativePath="res\online.bmp" - > - </File> - <File - RelativePath="res\online.ico" - > - </File> - <File - RelativePath="res\PocketPJ.ico" - > - </File> - <File - RelativePath="res\PocketPJ.rc2" - > - <FileConfiguration - Name="Release|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - </File> - </Filter> - <File - RelativePath="ReadMe.txt" - > - </File> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcw b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcw deleted file mode 100644 index 01521ae7604d391df07c231ea9361c05eb4b3653..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJ.vcw +++ /dev/null @@ -1,269 +0,0 @@ -Microsoft eMbedded Visual Tools Workspace File, Format Version 4.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "PocketPJ"=".\PocketPJ.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name libgsmcodec - End Project Dependency - Begin Project Dependency - Project_Dep_Name libportaudio - End Project Dependency - Begin Project Dependency - Project_Dep_Name libresample - End Project Dependency - Begin Project Dependency - Project_Dep_Name libsrtp - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjlib_util_wince - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjlib_wince - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjmedia_codec_wince - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjmedia_wince - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjnath_wince - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjsip_core_wince - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjsip_simple_wince - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjsip_ua_wince - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjsua_lib_wince - End Project Dependency - Begin Project Dependency - Project_Dep_Name libilbccodec - End Project Dependency - Begin Project Dependency - Project_Dep_Name libspeex - End Project Dependency - Begin Project Dependency - Project_Dep_Name pjmedia_auddev_wince - End Project Dependency -}}} - -############################################################################### - -Project: "libgsmcodec"="..\..\..\third_party\build\gsm\libgsmcodec.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "libilbccodec"="..\..\..\third_party\build\ilbc\libilbccodec.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "libportaudio"="..\..\..\third_party\build\portaudio\libportaudio.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "libresample"="..\..\..\third_party\build\resample\libresample.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "libspeex"="..\..\..\third_party\build\speex\libspeex.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "libsrtp"="..\..\..\third_party\build\srtp\libsrtp.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjlib_util_wince"="..\..\..\pjlib-util\build\wince-evc4\pjlib_util_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjlib_wince"="..\..\..\pjlib\build\wince-evc4\pjlib_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjmedia_auddev_wince"="..\..\..\pjmedia\build\wince-evc4\pjmedia_auddev_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjmedia_codec_wince"="..\..\..\pjmedia\build\wince-evc4\pjmedia_codec_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjmedia_wince"="..\..\..\pjmedia\build\wince-evc4\pjmedia_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjnath_wince"="..\..\..\pjnath\build\wince-evc4\pjnath_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjsip_core_wince"="..\..\..\pjsip\build\wince-evc4\pjsip_core_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjsip_simple_wince"="..\..\..\pjsip\build\wince-evc4\pjsip_simple_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjsip_ua_wince"="..\..\..\pjsip\build\wince-evc4\pjsip_ua_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "pjsua_lib_wince"="..\..\..\pjsip\build\wince-evc4\pjsua_lib_wince.vcp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJDlg.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJDlg.cpp deleted file mode 100644 index 87caf19b084129a345c840cf8dea3bd21a09f725..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJDlg.cpp +++ /dev/null @@ -1,792 +0,0 @@ -// PocketPJDlg.cpp : implementation file -// - -#include "stdafx.h" -#include "PocketPJ.h" -#include "PocketPJDlg.h" -#include <iphlpapi.h> - -#ifdef _DEBUG -#define new DEBUG_NEW -#undef THIS_FILE -static char THIS_FILE[] = __FILE__; -#endif - -#define TIMER_ID 101 -static CPocketPJDlg *theDlg; - -///////////////////////////////////////////////////////////////////////////// -// CPocketPJDlg dialog - -CPocketPJDlg::CPocketPJDlg(CWnd* pParent /*=NULL*/) - : CDialog(CPocketPJDlg::IDD, pParent), m_PopUp(NULL) -{ - //{{AFX_DATA_INIT(CPocketPJDlg) - // NOTE: the ClassWizard will add member initialization here - //}}AFX_DATA_INIT - // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 - m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); - - theDlg = this; - - m_PopUp = new CPopUpWnd(this); - m_PopUp->Hide(); - - unsigned i; - m_PopUpCount = 0; - for (i=0; i<POPUP_MAX_TYPE; ++i) { - m_PopUpState[i] = FALSE; - } -} - -void CPocketPJDlg::DoDataExchange(CDataExchange* pDX) -{ - CDialog::DoDataExchange(pDX); - //{{AFX_DATA_MAP(CPocketPJDlg) - DDX_Control(pDX, IDC_URL, m_Url); - DDX_Control(pDX, IDC_BUDDY_LIST, m_BuddyList); - DDX_Control(pDX, IDC_BTN_ACTION, m_BtnUrlAction); - DDX_Control(pDX, IDC_BTN_ACC, m_BtnAcc); - DDX_Control(pDX, IDC_ACC_ID, m_AccId); - //}}AFX_DATA_MAP -} - -BEGIN_MESSAGE_MAP(CPocketPJDlg, CDialog) - //{{AFX_MSG_MAP(CPocketPJDlg) - ON_BN_CLICKED(IDC_BTN_ACC, OnBtnAcc) - ON_BN_CLICKED(IDC_BTN_ACTION, OnBtnAction) - ON_COMMAND(IDC_ACC_SETTINGS, OnSettings) - ON_COMMAND(IDC_URI_CALL, OnUriCall) - ON_WM_TIMER() - ON_COMMAND(IDC_URI_ADD_BUDDY, OnUriAddBuddy) - ON_COMMAND(IDC_URI_DEL_BUDDY, OnUriDelBuddy) - ON_COMMAND(IDC_ACC_ONLINE, OnAccOnline) - ON_COMMAND(IDC_ACC_INVISIBLE, OnAccInvisible) - ON_NOTIFY(NM_CLICK, IDC_BUDDY_LIST, OnClickBuddyList) - //}}AFX_MSG_MAP -END_MESSAGE_MAP() - - -void CPocketPJDlg::Error(const CString &title, pj_status_t rc) -{ - char errmsg[PJ_ERR_MSG_SIZE]; - wchar_t werrmsg[PJ_ERR_MSG_SIZE]; - - pj_strerror(rc, errmsg, sizeof(errmsg)); - pj_ansi_to_unicode(errmsg, strlen(errmsg), werrmsg, PJ_ARRAY_SIZE(werrmsg)); - - AfxMessageBox(title + _T(": ") + werrmsg); -} - -BOOL CPocketPJDlg::Restart() -{ - unsigned i; - pj_status_t status; - - char ver[80]; - sprintf(ver, "PocketPJ/%s", pj_get_version()); - - ShowWindow(SW_SHOW); - PopUp_Show(POPUP_REGISTRATION, ver, - "Starting up....", "", "", "", 0); - - KillTimer(TIMER_ID); - - // Destroy first. - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Cleaning up.."); - pjsua_destroy(); - - m_BtnAcc.SetBitmap(::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_OFFLINE)) ); - UpdateWindow(); - - - // Create - PopUp_Show(POPUP_REGISTRATION, ver, - "Starting up....", "Creating stack..", "", "", 0); - - status = pjsua_create(); - if (status != PJ_SUCCESS) { - Error(_T("Error in creating library"), status); - PopUp_Hide(POPUP_REGISTRATION); - return FALSE; - } - - pjsua_config cfg; - pjsua_logging_config log_cfg; - pjsua_media_config media_cfg; - - pjsua_config_default(&cfg); - cfg.max_calls = 1; - cfg.thread_cnt = 0; - cfg.user_agent = pj_str(ver); - - cfg.cb.on_call_state = &on_call_state; - cfg.cb.on_call_media_state = &on_call_media_state; - cfg.cb.on_incoming_call = &on_incoming_call; - cfg.cb.on_reg_state = &on_reg_state; - cfg.cb.on_buddy_state = &on_buddy_state; - cfg.cb.on_pager = &on_pager; - - /* Configure nameserver */ - char nameserver[60]; - { - FIXED_INFO fi; - PIP_ADDR_STRING pDNS = NULL; - ULONG len = sizeof(fi); - CString err; - - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Retrieving network parameters.."); - if (GetNetworkParams(&fi, &len) != ERROR_SUCCESS) { - err = _T("Info: Error querying network parameters. You must configure DNS server."); - } else if (fi.CurrentDnsServer) { - pDNS = fi.CurrentDnsServer; - } else if (fi.DnsServerList.IpAddress.String[0] != 0) { - pDNS = &fi.DnsServerList; - } else { - err = _T("Info: DNS server not configured. You must configure DNS server."); - } - - if (err.GetLength()) { - if (m_Cfg.m_DNS.GetLength()) { - pj_unicode_to_ansi((LPCTSTR)m_Cfg.m_DNS, m_Cfg.m_DNS.GetLength(), - nameserver, sizeof(nameserver)); - cfg.nameserver_count = 1; - cfg.nameserver[0] = pj_str(nameserver); - } else { - AfxMessageBox(err); - pjsua_destroy(); - PopUp_Hide(POPUP_REGISTRATION); - return FALSE; - } - } else { - strcpy(nameserver, pDNS->IpAddress.String); - cfg.nameserver_count = 1; - cfg.nameserver[0] = pj_str(nameserver); - } - } - - char tmp_stun[80]; - if (m_Cfg.m_UseStun) { - pj_unicode_to_ansi((LPCTSTR)m_Cfg.m_StunSrv, m_Cfg.m_StunSrv.GetLength(), - tmp_stun, sizeof(tmp_stun)); - cfg.stun_host = pj_str(tmp_stun); - } - - pjsua_logging_config_default(&log_cfg); - log_cfg.msg_logging = PJ_TRUE; - log_cfg.log_filename = pj_str("\\PocketPJ.TXT"); - - pjsua_media_config_default(&media_cfg); - media_cfg.clock_rate = 8000; - media_cfg.audio_frame_ptime = 40; - media_cfg.ec_tail_len = 0; - media_cfg.ilbc_mode = 30; - media_cfg.max_media_ports = 8; - // use default quality setting - //media_cfg.quality = 5; - media_cfg.thread_cnt = 1; - media_cfg.enable_ice = m_Cfg.m_UseIce; - media_cfg.no_vad = !m_Cfg.m_VAD; - - if (m_Cfg.m_EchoSuppress) { - media_cfg.ec_options = PJMEDIA_ECHO_SIMPLE; - media_cfg.ec_tail_len = m_Cfg.m_EcTail; - } - - // Init - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Initializing.."); - status = pjsua_init(&cfg, &log_cfg, &media_cfg); - if (status != PJ_SUCCESS) { - Error(_T("Error initializing library"), status); - pjsua_destroy(); - PopUp_Hide(POPUP_REGISTRATION); - return FALSE; - } - - // Create one UDP transport - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Adding UDP transport.."); - pjsua_transport_id transport_id; - pjsua_transport_config udp_cfg; - - pjsua_transport_config_default(&udp_cfg); - udp_cfg.port = 0; - status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, - &udp_cfg, &transport_id); - if (status != PJ_SUCCESS) { - Error(_T("Error creating UDP transport"), status); - pjsua_destroy(); - PopUp_Hide(POPUP_REGISTRATION); - return FALSE; - } - - // Always instantiate TCP to support auto-switching to TCP when - // packet is larger than 1300 bytes. If TCP is disabled when - // no auto-switching will occur - if (1) { - // Create one TCP transport - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Adding TCP transport.."); - pjsua_transport_id transport_id; - pjsua_transport_config tcp_cfg; - - pjsua_transport_config_default(&tcp_cfg); - tcp_cfg.port = 0; - status = pjsua_transport_create(PJSIP_TRANSPORT_TCP, - &tcp_cfg, &transport_id); - if (status != PJ_SUCCESS) { - Error(_T("Error creating TCP transport"), status); - pjsua_destroy(); - PopUp_Hide(POPUP_REGISTRATION); - return FALSE; - } - } - - // Adjust codecs priority - pj_str_t tmp; - pjsua_codec_set_priority(pj_cstr(&tmp, "*"), 0); - for (i=0; i<(unsigned)m_Cfg.m_Codecs.GetSize(); ++i) { - CString codec = m_Cfg.m_Codecs.GetAt(i); - char tmp_nam[80]; - - pj_unicode_to_ansi((LPCTSTR)codec, codec.GetLength(), - tmp_nam, sizeof(tmp_nam)); - pjsua_codec_set_priority(pj_cstr(&tmp, tmp_nam), (pj_uint8_t)(200-i)); - } - - // Start! - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Starting.."); - status = pjsua_start(); - if (status != PJ_SUCCESS) { - Error(_T("Error starting library"), status); - pjsua_destroy(); - PopUp_Hide(POPUP_REGISTRATION); - return FALSE; - } - - // Add account - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, "Adding account.."); - char domain[80], username[80], passwd[80]; - char id[80], reg_uri[80]; - pjsua_acc_config acc_cfg; - - pj_unicode_to_ansi((LPCTSTR)m_Cfg.m_Domain, m_Cfg.m_Domain.GetLength(), - domain, sizeof(domain)); - pj_unicode_to_ansi((LPCTSTR)m_Cfg.m_User, m_Cfg.m_User.GetLength(), - username, sizeof(username)); - pj_unicode_to_ansi((LPCTSTR)m_Cfg.m_Password, m_Cfg.m_Password.GetLength(), - passwd, sizeof(passwd)); - - snprintf(id, sizeof(id), "<sip:%s@%s>", username, domain); - snprintf(reg_uri, sizeof(reg_uri), "sip:%s", domain); - - pjsua_acc_config_default(&acc_cfg); - acc_cfg.id = pj_str(id); - acc_cfg.reg_uri = pj_str(reg_uri); - acc_cfg.cred_count = 1; - acc_cfg.cred_info[0].scheme = pj_str("Digest"); - acc_cfg.cred_info[0].realm = pj_str("*"); - acc_cfg.cred_info[0].username = pj_str(username); - acc_cfg.cred_info[0].data_type = 0; - acc_cfg.cred_info[0].data = pj_str(passwd); - -#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) - acc_cfg.use_srtp = (m_Cfg.m_UseSrtp ? PJMEDIA_SRTP_OPTIONAL : PJMEDIA_SRTP_DISABLED); - acc_cfg.srtp_secure_signaling = 0; -#endif - - acc_cfg.publish_enabled = m_Cfg.m_UsePublish; - - char route[80]; - if (m_Cfg.m_TCP) { - snprintf(route, sizeof(route), "<sip:%s;lr;transport=tcp>", domain); - acc_cfg.proxy[acc_cfg.proxy_cnt++] = pj_str(route); - } else { - snprintf(route, sizeof(route), "<sip:%s;lr>", domain); - acc_cfg.proxy[acc_cfg.proxy_cnt++] = pj_str(route); - } - - status = pjsua_acc_add(&acc_cfg, PJ_TRUE, &m_PjsuaAccId); - if (status != PJ_SUCCESS) { - Error(_T("Invalid account settings"), status); - pjsua_destroy(); - PopUp_Hide(POPUP_REGISTRATION); - return FALSE; - } - - CString acc_text = m_Cfg.m_User + _T("@") + m_Cfg.m_Domain; - m_AccId.SetWindowText(acc_text); - - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE1, acc_text); - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE2, "Registering.."); - PopUp_Modify(POPUP_REGISTRATION, POPUP_EL_TITLE3, ""); - - SetTimer(TIMER_ID, 100, NULL); - return TRUE; -} - - -void CPocketPJDlg::PopUp_Show( PopUpType type, - const CString& title1, - const CString& title2, - const CString& title3, - const CString& btn1, - const CString& btn2, - unsigned userData) -{ - PJ_UNUSED_ARG(userData); - - if (!m_PopUpState[type]) - ++m_PopUpCount; - - m_PopUpState[type] = TRUE; - - m_PopUpContent[type].m_Title1 = title1; - m_PopUpContent[type].m_Title2 = title2; - m_PopUpContent[type].m_Title3 = title3; - m_PopUpContent[type].m_Btn1 = btn1; - m_PopUpContent[type].m_Btn2 = btn2; - - m_PopUp->SetContent(m_PopUpContent[type]); - m_PopUp->Show(); -} - -void CPocketPJDlg::PopUp_Modify(PopUpType type, - PopUpElement el, - const CString& text) -{ - switch (el) { - case POPUP_EL_TITLE1: - m_PopUpContent[type].m_Title1 = text; - break; - case POPUP_EL_TITLE2: - m_PopUpContent[type].m_Title2 = text; - break; - case POPUP_EL_TITLE3: - m_PopUpContent[type].m_Title3 = text; - break; - case POPUP_EL_BUTTON1: - m_PopUpContent[type].m_Btn1 = text; - break; - case POPUP_EL_BUTTON2: - m_PopUpContent[type].m_Btn1 = text; - break; - } - - m_PopUp->SetContent(m_PopUpContent[type]); -} - -void CPocketPJDlg::PopUp_Hide(PopUpType type) -{ - if (m_PopUpState[type]) - --m_PopUpCount; - - m_PopUpState[type] = FALSE; - - if (m_PopUpCount == 0) { - m_PopUp->Hide(); - UpdateWindow(); - } else { - for (int i=POPUP_MAX_TYPE-1; i>=0; --i) { - if (m_PopUpState[i]) { - m_PopUp->SetContent(m_PopUpContent[i]); - break; - } - } - } -} - -void CPocketPJDlg::OnIncomingCall() -{ - pjsua_call_info ci; - - pjsua_call_get_info(0, &ci); - - PopUp_Show(POPUP_CALL, "Incoming call..", ci.remote_info.ptr, "", - "Answer", "Hangup", 0); - pjsua_call_answer(0, 180, NULL, NULL); - if (m_Cfg.m_AutoAnswer) - OnPopUpButton(1); -} - -void CPocketPJDlg::OnCallState() -{ - pjsua_call_info ci; - - pjsua_call_get_info(0, &ci); - - switch (ci.state) { - case PJSIP_INV_STATE_NULL: /**< Before INVITE is sent or received */ - break; - case PJSIP_INV_STATE_CALLING: /**< After INVITE is sent */ - PopUp_Show(POPUP_CALL, "Calling..", ci.remote_info.ptr, "", - "", "Hangup", 0); - break; - case PJSIP_INV_STATE_INCOMING: /**< After INVITE is received. */ - OnIncomingCall(); - break; - case PJSIP_INV_STATE_EARLY: /**< After response with To tag. */ - case PJSIP_INV_STATE_CONNECTING:/**< After 2xx is sent/received. */ - case PJSIP_INV_STATE_CONFIRMED: /**< After ACK is sent/received. */ - { - CString stateText = ci.state_text.ptr; - PopUp_Modify(POPUP_CALL, POPUP_EL_TITLE3, stateText); - } - break; - case PJSIP_INV_STATE_DISCONNECTED:/**< Session is terminated. */ - PopUp_Modify(POPUP_CALL, POPUP_EL_TITLE3, "Disconnected"); - PopUp_Hide(POPUP_CALL); - break; - } -} - -void CPocketPJDlg::on_call_state(pjsua_call_id call_id, pjsip_event *e) -{ - PJ_UNUSED_ARG(e); - PJ_UNUSED_ARG(call_id); - - theDlg->OnCallState(); -} - -void CPocketPJDlg::on_call_media_state(pjsua_call_id call_id) -{ - pjsua_call_info call_info; - - pjsua_call_get_info(call_id, &call_info); - if (call_info.media_status == PJSUA_CALL_MEDIA_ACTIVE) { - pjsua_conf_connect(call_info.conf_slot, 0); - pjsua_conf_connect(0, call_info.conf_slot); - } -} - -void CPocketPJDlg::on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, - pjsip_rx_data *rdata) -{ - PJ_UNUSED_ARG(acc_id); - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(rdata); - - theDlg->OnIncomingCall(); -} - -void CPocketPJDlg::OnRegState() -{ - pjsua_acc_info ai; - pjsua_acc_get_info(m_PjsuaAccId, &ai); - - CString acc_text = m_Cfg.m_User + _T("@") + m_Cfg.m_Domain; - - if (ai.expires>0 && ai.status/100==2) { - /* Registration success */ - HBITMAP old = m_BtnAcc.SetBitmap(::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_ONLINE)) ); - PJ_UNUSED_ARG(old); - acc_text += " (OK)"; - m_AccId.SetWindowText(acc_text); - } else if (ai.status/100 != 2) { - acc_text += " (err)"; - Error(_T("SIP registration error"), PJSIP_ERRNO_FROM_SIP_STATUS(ai.status)); - m_AccId.SetWindowText(acc_text); - } - PopUp_Hide(POPUP_REGISTRATION); -} - -void CPocketPJDlg::on_reg_state(pjsua_acc_id acc_id) -{ - PJ_UNUSED_ARG(acc_id); - - theDlg->OnRegState(); -} - -void CPocketPJDlg::on_buddy_state(pjsua_buddy_id buddy_id) -{ - PJ_UNUSED_ARG(buddy_id); - - theDlg->RedrawBuddyList(); -} - -void CPocketPJDlg::on_pager(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - const pj_str_t *mime_type, const pj_str_t *text) -{ - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(from); - PJ_UNUSED_ARG(to); - PJ_UNUSED_ARG(contact); - PJ_UNUSED_ARG(mime_type); - PJ_UNUSED_ARG(text); -} - -///////////////////////////////////////////////////////////////////////////// -// CPocketPJDlg message handlers - -BOOL CPocketPJDlg::OnInitDialog() -{ - CDialog::OnInitDialog(); - - // Set the icon for this dialog. The framework does this automatically - // when the application's main window is not a dialog - SetIcon(m_hIcon, TRUE); // Set big icon - SetIcon(m_hIcon, FALSE); // Set small icon - - CenterWindow(GetDesktopWindow()); // center to the hpc screen - - // TODO: Add extra initialization here - - m_Cfg.LoadRegistry(); - //ShowWindow(SW_SHOW); - m_AccId.SetWindowText(m_Cfg.m_User); - - CImageList *il = new CImageList; - VERIFY(il->Create(16, 16, ILC_COLOR|ILC_MASK, 2, 4)); - - CBitmap *bmp = new CBitmap; - bmp->LoadBitmap(MAKEINTRESOURCE(IDB_BLANK)); - il->Add(bmp, RGB(255,255,255)); - bmp = new CBitmap; - bmp->LoadBitmap(MAKEINTRESOURCE(IDB_ONLINE)); - il->Add(bmp, RGB(255,255,255)); - - m_BuddyList.SetImageList(il, LVSIL_SMALL); - - if (m_Cfg.m_Domain.GetLength()==0 || Restart() == FALSE) { - for (;;) { - CSettingsDlg dlg(m_Cfg); - if (dlg.DoModal() != IDOK) { - EndDialog(IDOK); - return TRUE; - } - - m_Cfg.SaveRegistry(); - - if (Restart()) - break; - } - } - - RedrawBuddyList(); - return TRUE; // return TRUE unless you set the focus to a control -} - - - -void CPocketPJDlg::OnBtnAcc() -{ - CMenu menu; - VERIFY(menu.LoadMenu(IDR_ACC_MENU)); - CMenu* pPopup = menu.GetSubMenu(0); - ASSERT(pPopup != NULL); - - RECT r; - m_BtnAcc.GetWindowRect(&r); - pPopup->TrackPopupMenu(TPM_LEFTALIGN, r.left+4, r.top+4, this); -} - -void CPocketPJDlg::OnBtnAction() -{ - CMenu menu; - VERIFY(menu.LoadMenu(IDR_URI_MENU)); - CMenu* pPopup = menu.GetSubMenu(0); - ASSERT(pPopup != NULL); - - RECT r; - this->m_BtnUrlAction.GetWindowRect(&r); - pPopup->TrackPopupMenu(TPM_LEFTALIGN, r.left+4, r.top+4, this); -} - -void CPocketPJDlg::OnSettings() -{ - for (;;) { - CSettingsDlg dlg(m_Cfg); - if (dlg.DoModal() != IDOK) { - return; - } - - m_Cfg.SaveRegistry(); - - if (Restart()) - break; - } -} - -void CPocketPJDlg::OnOK() -{ - if (AfxMessageBox(_T("Quit PocketPJ?"), MB_YESNO)==IDYES) { - KillTimer(TIMER_ID); - PopUp_Show(POPUP_REGISTRATION, "", "Shutting down..", "", "", "", 0); - pjsua_destroy(); - CDialog::OnOK(); - PopUp_Hide(POPUP_REGISTRATION); - m_Cfg.SaveRegistry(); - return; - } -} - -void CPocketPJDlg::OnTimer(UINT nIDEvent) -{ - pjsua_handle_events(10); - CDialog::OnTimer(nIDEvent); -} - -int CPocketPJDlg::FindBuddyInPjsua(const CString &Uri) -{ - char uri[80]; - pjsua_buddy_id id[128]; - unsigned i, count = PJ_ARRAY_SIZE(id); - - if (pjsua_enum_buddies(id, &count) != PJ_SUCCESS) - return PJSUA_INVALID_ID; - if (count==0) - return PJSUA_INVALID_ID; - - pj_unicode_to_ansi((LPCTSTR)Uri, Uri.GetLength(), uri, sizeof(uri)); - - for (i=0; i<count; ++i) { - pjsua_buddy_info bi; - pjsua_buddy_get_info(id[i], &bi); - if (pj_strcmp2(&bi.uri, uri)==0) - return i; - } - - return PJSUA_INVALID_ID; -} - -int CPocketPJDlg::FindBuddyInCfg(const CString &uri) -{ - int i; - for (i=0; i<m_Cfg.m_BuddyList.GetSize(); ++i) { - if (m_Cfg.m_BuddyList.GetAt(0) == uri) { - return i; - } - } - return -1; -} - -void CPocketPJDlg::RedrawBuddyList() -{ - int i; - - m_BuddyList.DeleteAllItems(); - - for (i=0; i<m_Cfg.m_BuddyList.GetSize(); ++i) { - int isOnline; - int id; - - id = FindBuddyInPjsua(m_Cfg.m_BuddyList.GetAt(i)); - if (id != PJSUA_INVALID_ID) { - pjsua_buddy_info bi; - pjsua_buddy_get_info(id, &bi); - isOnline = (bi.status == PJSUA_BUDDY_STATUS_ONLINE); - } else { - isOnline = 0; - } - - LVITEM lvi; - memset(&lvi, 0, sizeof(lvi)); - lvi.mask = LVIF_TEXT | LVIF_IMAGE; - lvi.iItem = i; - lvi.iImage = isOnline; - lvi.pszText = (LPTSTR)(LPCTSTR)m_Cfg.m_BuddyList.GetAt(i); - - m_BuddyList.InsertItem(&lvi); - } -} - -void CPocketPJDlg::OnUriCall() -{ - char tmp[120]; - CString uri; - pj_status_t status; - - m_Url.GetWindowText(uri); - pj_unicode_to_ansi((LPCTSTR)uri, uri.GetLength(), tmp, sizeof(tmp)); - if ((status=pjsua_verify_sip_url(tmp)) != PJ_SUCCESS) { - Error("The URL is not valid SIP URL", status); - return; - } - - pj_str_t dest_uri = pj_str(tmp); - pjsua_call_id call_id; - - status = pjsua_call_make_call(m_PjsuaAccId, &dest_uri, 0, NULL, NULL, &call_id); - - if (status != PJ_SUCCESS) - Error("Unable to make call", status); -} - -void CPocketPJDlg::OnUriAddBuddy() -{ - int i; - char tmp[120]; - CString uri; - pj_status_t status; - - m_Url.GetWindowText(uri); - pj_unicode_to_ansi((LPCTSTR)uri, uri.GetLength(), tmp, sizeof(tmp)); - if ((status=pjsua_verify_sip_url(tmp)) != PJ_SUCCESS) { - Error("The URL is not valid SIP URL", status); - return; - } - - for (i=0; i<m_Cfg.m_BuddyList.GetSize(); ++i) { - if (m_Cfg.m_BuddyList.GetAt(0) == uri) { - AfxMessageBox(_T("The URI is already in the buddy list")); - return; - } - } - - m_Cfg.m_BuddyList.Add(uri); - RedrawBuddyList(); -} - -void CPocketPJDlg::OnUriDelBuddy() -{ - CString uri; - - m_Url.GetWindowText(uri); - int i = FindBuddyInCfg(uri); - if (i<0) { - /* Buddy not found */ - return; - } - - m_Cfg.m_BuddyList.RemoveAt(i); - RedrawBuddyList(); - AfxMessageBox(_T("Buddy " + uri + " deleted")); -} - -void CPocketPJDlg::OnAccOnline() -{ - pjsua_acc_set_online_status(m_PjsuaAccId, PJ_TRUE); - m_BtnAcc.SetBitmap(::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_ONLINE)) ); -} - -void CPocketPJDlg::OnAccInvisible() -{ - pjsua_acc_set_online_status(m_PjsuaAccId, PJ_FALSE); - m_BtnAcc.SetBitmap(::LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_INVISIBLE)) ); -} - -void CPocketPJDlg::OnPopUpButton(int btnNo) -{ - if (btnNo == 1) { - pjsua_call_answer(0, 200, NULL, 0); - PopUp_Modify(POPUP_CALL, POPUP_EL_BUTTON1, ""); - } else if (btnNo == 2) { - // Hangup button - PopUp_Modify(POPUP_CALL, POPUP_EL_TITLE2, "Hang up.."); - PopUp_Modify(POPUP_CALL, POPUP_EL_TITLE3, ""); - pjsua_call_hangup(0, PJSIP_SC_DECLINE, 0, 0); - } -} - -void CPocketPJDlg::OnClickBuddyList(NMHDR* pNMHDR, LRESULT* pResult) -{ - POSITION pos = m_BuddyList.GetFirstSelectedItemPosition(); - - PJ_UNUSED_ARG(pNMHDR); - - if (pos != NULL) { - int iItem = m_BuddyList.GetNextSelectedItem(pos); - CString uri = m_BuddyList.GetItemText(iItem, 0); - m_Url.SetWindowText(uri); - } - *pResult = 0; -} diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJDlg.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJDlg.h deleted file mode 100644 index 2b3eb97724a6edd98cd547e9625a510303eb2fe4..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PocketPJDlg.h +++ /dev/null @@ -1,129 +0,0 @@ -// PocketPJDlg.h : header file -// - -#if !defined(AFX_POCKETPJDLG_H__DF5F90C9_E72B_4557_9126_AFE75A3ADE9D__INCLUDED_) -#define AFX_POCKETPJDLG_H__DF5F90C9_E72B_4557_9126_AFE75A3ADE9D__INCLUDED_ - -#if _MSC_VER >= 1000 -#pragma once -#endif // _MSC_VER >= 1000 - -#include "SettingsDlg.h" -#include "PopUpWnd.h" -#include <pjsua-lib/pjsua.h> - - -///////////////////////////////////////////////////////////////////////////// -// CPocketPJDlg dialog - -class CPocketPJDlg : public CDialog -{ -// Construction -public: - CPocketPJDlg(CWnd* pParent = NULL); // standard constructor - - void OnPopUpButton(int btnNo); - void OnIncomingCall(); - -// Dialog Data - //{{AFX_DATA(CPocketPJDlg) - enum { IDD = IDD_POCKETPJ_DIALOG }; - CEdit m_Url; - CListCtrl m_BuddyList; - CStatic m_BtnUrlAction; - CStatic m_BtnAcc; - CStatic m_AccId; - //}}AFX_DATA - - // ClassWizard generated virtual function overrides - //{{AFX_VIRTUAL(CPocketPJDlg) - protected: - virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support - //}}AFX_VIRTUAL - - -// Implementation -protected: - HICON m_hIcon; - - // Generated message map functions - //{{AFX_MSG(CPocketPJDlg) - virtual BOOL OnInitDialog(); - afx_msg void OnBtnAcc(); - afx_msg void OnBtnAction(); - afx_msg void OnSettings(); - afx_msg void OnUriCall(); - afx_msg void OnTimer(UINT nIDEvent); - afx_msg void OnUriAddBuddy(); - afx_msg void OnUriDelBuddy(); - afx_msg void OnAccOnline(); - afx_msg void OnAccInvisible(); - afx_msg void OnClickBuddyList(NMHDR* pNMHDR, LRESULT* pResult); - //}}AFX_MSG - DECLARE_MESSAGE_MAP() - -private: - enum PopUpType - { - POPUP_REGISTRATION, - POPUP_CALL, - - POPUP_MAX_TYPE - }; - enum PopUpElement - { - POPUP_EL_TITLE1, - POPUP_EL_TITLE2, - POPUP_EL_TITLE3, - POPUP_EL_BUTTON1, - POPUP_EL_BUTTON2, - }; - CPopUpWnd *m_PopUp; - int m_PopUpCount; - BOOL m_PopUpState[POPUP_MAX_TYPE]; - CPopUpContent m_PopUpContent[POPUP_MAX_TYPE]; - - void PopUp_Show(PopUpType type, - const CString& title1, - const CString& title2, - const CString& title3, - const CString& btn1, - const CString& btn2, - unsigned userData); - void PopUp_Modify(PopUpType type, - PopUpElement el, - const CString& text); - void PopUp_Hide(PopUpType type); - -private: - CPocketPJSettings m_Cfg; - - void Error(const CString &title, pj_status_t rc); - BOOL Restart(); - void OnOK(); - int FindBuddyInCfg(const CString &uri); - int FindBuddyInPjsua(const CString &uri); - void RedrawBuddyList(); - -private: - pjsua_acc_id m_PjsuaAccId; - - void OnRegState(); - void OnCallState(); - - // pjsua callbacks - static void on_call_state(pjsua_call_id call_id, pjsip_event *e); - static void on_call_media_state(pjsua_call_id call_id); - static void on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, - pjsip_rx_data *rdata); - static void on_reg_state(pjsua_acc_id acc_id); - static void on_buddy_state(pjsua_buddy_id buddy_id); - static void on_pager(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - const pj_str_t *mime_type, const pj_str_t *text); -}; - -//{{AFX_INSERT_LOCATION}} -// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line. - -#endif // !defined(AFX_POCKETPJDLG_H__DF5F90C9_E72B_4557_9126_AFE75A3ADE9D__INCLUDED_) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PopUpWnd.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PopUpWnd.cpp deleted file mode 100644 index 1f1654f0621eca2dd67e4686be3002f1a647eff5..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PopUpWnd.cpp +++ /dev/null @@ -1,235 +0,0 @@ -#include "stdafx.h" -#include "PopUpWnd.h" -#include "resource.h" -#include "PocketPJDlg.h" - -#ifdef _DEBUG -#define new DEBUG_NEW -#undef THIS_FILE -static char THIS_FILE[] = __FILE__; -#endif - -#define IDC_BTN1 10 -#define IDC_BTN2 11 - - -///////////////////////////////////////////////////////////////////////////// -// CPopUpWnd - -CPopUpWnd::CPopUpWnd(CPocketPJDlg* pParent) -{ - Create(pParent); -} - -CPopUpWnd::~CPopUpWnd() -{ - DestroyWindow(); -} - -BOOL CPopUpWnd::Create(CPocketPJDlg* pParent) -{ - BOOL bSuccess; - - m_ParentWnd = pParent; - - // Register window class - CString csClassName = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW, - 0, - CBrush(::GetSysColor(COLOR_BTNFACE))); - - // Create popup window - bSuccess = CreateEx(WS_EX_DLGMODALFRAME|WS_EX_TOPMOST, // Extended style - csClassName, // Classname - _T("PocketPJ"), // Title - WS_POPUP|WS_BORDER|WS_CAPTION, // style - 0,0, // position - updated soon. - 1,1, // Size - updated soon - pParent->GetSafeHwnd(), // handle to parent - 0, // No menu - NULL); - if (!bSuccess) - return FALSE; - - ShowWindow(SW_HIDE); - - // Now create the controls - CRect TempRect(0,0,10,10); - - /* |SS_LEFTNOWORDWRAP */ - bSuccess = m_Title1.Create(_T("Title1"), WS_CHILD|WS_VISIBLE|SS_NOPREFIX, - TempRect, this, IDC_TITLE1); - if (!bSuccess) - return FALSE; - - bSuccess = m_Title2.Create(_T("Title2"), WS_CHILD|WS_VISIBLE|SS_NOPREFIX, - TempRect, this, IDC_TITLE2); - if (!bSuccess) - return FALSE; - - bSuccess = m_Title3.Create(_T("Title3"), WS_CHILD|WS_VISIBLE|SS_NOPREFIX, - TempRect, this, IDC_TITLE3); - if (!bSuccess) - return FALSE; - - bSuccess = m_Btn1.Create(_T("Button1"), - WS_CHILD|WS_VISIBLE|WS_TABSTOP| BS_PUSHBUTTON, - TempRect, this, IDC_BTN1); - if (!bSuccess) - return FALSE; - - bSuccess = m_Btn2.Create(_T("Button2"), - WS_CHILD|WS_VISIBLE|WS_TABSTOP| BS_PUSHBUTTON, - TempRect, this, IDC_BTN2); - if (!bSuccess) - return FALSE; - - CFont *ft1 = new CFont, - *ft2 = new CFont, - *ft3 = new CFont; - - - LOGFONT lf; - memset(&lf, 0, sizeof(LOGFONT)); - lf.lfHeight = 12; - lstrcpy(lf.lfFaceName, _T("Arial")); - VERIFY(ft1->CreateFontIndirect(&lf)); - VERIFY(ft3->CreateFontIndirect(&lf)); - - lf.lfHeight = 20; - VERIFY(ft2->CreateFontIndirect(&lf)); - - m_Title1.SetFont(ft1, TRUE); - m_Title2.SetFont(ft2, TRUE); - m_Title3.SetFont(ft3, TRUE); - - - SetWindowSize(); - - // Center and show window - CenterWindow(); - - Show(); - - return TRUE; -} - -void CPopUpWnd::SetContent(const CPopUpContent &content) -{ - m_Title1.SetWindowText(content.m_Title1); - m_Title2.SetWindowText(content.m_Title2); - m_Title3.SetWindowText(content.m_Title3); - - if (content.m_Btn1 != "") { - m_Btn1.SetWindowText(content.m_Btn1); - m_Btn1.ShowWindow(SW_SHOW); - } else { - m_Btn1.ShowWindow(SW_HIDE); - } - - if (content.m_Btn2 != "") { - m_Btn2.SetWindowText(content.m_Btn2); - m_Btn2.ShowWindow(SW_SHOW); - } else { - m_Btn2.ShowWindow(SW_HIDE); - } - - UpdateWindow(); - ShowWindow(SW_SHOW); -} - -void CPopUpWnd::SetWindowSize(int width, int height) -{ - enum { H1 = 16, H2 = 40, H3 = 16, S = 5, G = 10, BW=60, BH=20, BG=40}; - - CRect rootRect(0, 0, 320, 240); - int Y; - - MoveWindow((rootRect.Width() - width)/2, (rootRect.Height() - height)/2, - width, height); - - m_Title1.MoveWindow(10, Y=S, width-20, H1); - m_Title2.MoveWindow(10, Y+=H1+G, width-20, H2); - m_Title3.MoveWindow(10, Y+=H2+G, width-20, H3); - - m_Btn1.MoveWindow((width-2*BW-BG)/2, Y+=H3+G, BW, BH); - m_Btn2.MoveWindow((width-2*BW-BG)/2+BW+BG, Y, BW, BH); -} - -void CPopUpWnd::Hide() -{ - if (!::IsWindow(GetSafeHwnd())) - return; - - if (IsWindowVisible()) - { - ShowWindow(SW_HIDE); - ModifyStyle(WS_VISIBLE, 0); - } -} - -void CPopUpWnd::Show() -{ - if (!::IsWindow(GetSafeHwnd())) - return; - - ModifyStyle(0, WS_VISIBLE); - ShowWindow(SW_SHOWNA); - RedrawWindow(NULL,NULL,RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW); -} - -BEGIN_MESSAGE_MAP(CPopUpWnd, CWnd) - //{{AFX_MSG_MAP(CPopUpWnd) - ON_WM_ERASEBKGND() - //}}AFX_MSG_MAP - ON_BN_CLICKED(IDC_BTN1, OnCancel1) - ON_BN_CLICKED(IDC_BTN2, OnCancel2) -END_MESSAGE_MAP() - - -///////////////////////////////////////////////////////////////////////////// -// CPopUpWnd message handlers - -BOOL CPopUpWnd::OnEraseBkgnd(CDC* pDC) -{ - CBrush backBrush; - backBrush.CreateSolidBrush(RGB(255,255,255)); - CBrush* pOldBrush = pDC->SelectObject(&backBrush); - - CRect rect; - pDC->GetClipBox(&rect); // Erase the area needed - pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATCOPY); - pDC->SelectObject(pOldBrush); - - return TRUE; -} - -void CPopUpWnd::OnCancel1() -{ - m_ParentWnd->OnPopUpButton(1); -} - - -void CPopUpWnd::OnCancel2() -{ - m_ParentWnd->OnPopUpButton(2); -} - - -BOOL CPopUpWnd::DestroyWindow() -{ - return CWnd::DestroyWindow(); -} - -void CPopUpWnd::PeekAndPump() -{ - MSG msg; - while (::PeekMessage(&msg, NULL,0,0,PM_NOREMOVE)) - { - if (!AfxGetApp()->PumpMessage()) - { - ::PostQuitMessage(0); - return; - } - } -} - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PopUpWnd.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PopUpWnd.h deleted file mode 100644 index 55c4a24b72fd7f194f312ded56419f925a7df40e..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/PopUpWnd.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef __POPUP_WND_H__ -#define __POPUP_WND_H__ - - -class CPocketPJDlg; - -///////////////////////////////////////////////////////////////////////////// -struct CPopUpContent -{ - CString m_Title1; - CString m_Title2; - CString m_Title3; - CString m_Btn1; - CString m_Btn2; -}; - - -///////////////////////////////////////////////////////////////////////////// -// CPopUpWnd window - -class CPopUpWnd : public CWnd -{ -public: - CPopUpWnd(CPocketPJDlg* pParent); - virtual ~CPopUpWnd(); - - void SetContent(const CPopUpContent &content); - void Hide(); - void Show(); - - void SetWindowSize(int nWindowWidth = 200, int nWindowHeight = 180); - - void PeekAndPump(); - -// Implementation -protected: - CPocketPJDlg * m_ParentWnd; - - CStatic m_Title1; - CStatic m_Title2; - CStatic m_Title3; - CButton m_Btn1; - CButton m_Btn2; - - BOOL Create(CPocketPJDlg* pParent); - -// Overrides - // ClassWizard generated virtual function overrides - //{{AFX_VIRTUAL(CPopUpWnd) - public: - virtual BOOL DestroyWindow(); - //}}AFX_VIRTUAL - -// Generated message map functions -protected: - //{{AFX_MSG(CPopUpWnd) - afx_msg BOOL OnEraseBkgnd(CDC* pDC); - //}}AFX_MSG - afx_msg void OnCancel1(); - afx_msg void OnCancel2(); - DECLARE_MESSAGE_MAP() -}; - - -#endif -///////////////////////////////////////////////////////////////////////////// - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/ReadMe.txt b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/ReadMe.txt deleted file mode 100644 index a52cd9d4ef5c9f46ab7ad61a6971df74643ad41f..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/ReadMe.txt +++ /dev/null @@ -1,81 +0,0 @@ -======================================================================== - Microsoft Foundation Class Library for Windows CE: PocketPJ -======================================================================== - - -AppWizard has created this PocketPJ application for you. This application -not only demonstrates the basics of using the Microsoft Foundation classes -but is also a starting point for writing your application. - -This file contains a summary of what you will find in each of the files that -make up your PocketPJ application. - -PocketPJ.h - This is the main header file for the application. It includes other - project specific headers (including Resource.h) and declares the - CPocketPJApp application class. - -PocketPJ.cpp - This is the main application source file that contains the application - class CPocketPJApp. - -PocketPJ.rc - This is a listing of all of the Microsoft Windows CE resources that the - program uses. It includes the icons, bitmaps, and cursors that are stored - in the RES subdirectory. This file can be directly edited in Microsoft - eMbedded Visual C++. - -res\PocketPJ.ico - This is an icon file, which is used as the application's icon. This - icon is included by the main resource file PocketPJ.rc. - -res\PocketPJ.rc2 - This file contains resources that are not edited by Microsoft - eMbedded Visual C++. You should place all resources not - editable by the resource editor in this file. - -PocketPJ.vcc - This file contains information used by ClassWizard to edit existing - classes or add new classes. ClassWizard also uses this file to store - information needed to create and edit message maps and dialog data - maps and to create prototype member functions. - -///////////////////////////////////////////////////////////////////////////// - -AppWizard creates one dialog class: - -PocketPJDlg.h, PocketPJDlg.cpp - the dialog - These files contain your CPocketPJDlg class. This class defines - the behavior of your application's main dialog. The dialog's - template is in PocketPJ.rc, which can be edited in Microsoft - Developer Studio. - - - -///////////////////////////////////////////////////////////////////////////// -Other standard files: - -StdAfx.h, StdAfx.cpp - These files are used to build a precompiled header (PCH) file - named PocketPJ.pch and a precompiled types file named StdAfx.obj. - -Resource.h - This is the standard header file, which defines new resource IDs. - Microsoft eMbedded Visual C++ reads and updates this file. - -///////////////////////////////////////////////////////////////////////////// -Other notes: - -AppWizard uses "TODO:" to indicate parts of the source code you -should add to or customize. - -If your application uses MFC in a shared DLL, and your application is -in a language other than the operating system's current language, you -will need to copy the corresponding localized resources MFCWCXXX.DLL from -the Microsoft eMbedded Visual C++ CD-ROM onto the system or system32 directory, -and rename it to be MFCLOC.DLL. ("XXX" stands for the language abbreviation. -For example, MFCWCDEU.DLL contains resources translated to German.) If you -don't do this, some of the UI elements of your application will remain in the -language of the operating system. - -///////////////////////////////////////////////////////////////////////////// diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/SettingsDlg.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/SettingsDlg.cpp deleted file mode 100644 index 1357044ae2c4675b973a6de003ba6a4a8476b784..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/SettingsDlg.cpp +++ /dev/null @@ -1,376 +0,0 @@ -// SettingsDlg.cpp : implementation file -// - -#include "stdafx.h" -#include "PocketPJ.h" -#include "SettingsDlg.h" -#include <pjsua-lib/pjsua.h> -#include <atlbase.h> - -#ifdef _DEBUG -#define new DEBUG_NEW -#undef THIS_FILE -static char THIS_FILE[] = __FILE__; -#endif - -#define REG_PATH _T("pjsip.org\\PocketPC") -#define REG_DOMAIN _T("Domain") -#define REG_USER _T("User") -#define REG_PASSWD _T("Data") -#define REG_USE_STUN _T("UseSTUN") -#define REG_STUN_SRV _T("STUNSrv") -#define REG_DNS _T("DNS") -#define REG_USE_ICE _T("UseICE") -#define REG_USE_SRTP _T("UseSRTP") -#define REG_USE_PUBLISH _T("UsePUBLISH") -#define REG_BUDDY_CNT _T("BuddyCnt") -#define REG_BUDDY_X _T("Buddy%u") -#define REG_ENABLE_EC _T("EnableEC") -#define REG_EC_TAIL _T("ECTail") -#define REG_ENABLE_VAD _T("EnableVAD") -#define REG_ENABLE_TCP _T("EnableTCP") -#define REG_CODEC_CNT _T("CodecCnt") -#define REG_CODEC_X _T("Codec%u") -#define REG_AUTO_ANSWER _T("AutoAnswer") - - -///////////////////////////////////////////////////////////////////////////// -// Settings -CPocketPJSettings::CPocketPJSettings() -: m_UseStun(FALSE), m_UseIce(FALSE), m_UseSrtp(FALSE), m_UsePublish(FALSE), - m_EchoSuppress(TRUE), m_EcTail(200), m_TCP(FALSE), m_VAD(FALSE), - m_AutoAnswer(FALSE) -{ - /* Init codec list */ -#if defined(PJMEDIA_HAS_GSM_CODEC) && PJMEDIA_HAS_GSM_CODEC - m_Codecs.Add(_T("GSM")); -#endif -#if defined(PJMEDIA_HAS_G711_CODEC) && PJMEDIA_HAS_G711_CODEC - m_Codecs.Add(_T("PCMU")); - m_Codecs.Add(_T("PCMA")); -#endif -#if defined(PJMEDIA_HAS_SPEEX_CODEC) && PJMEDIA_HAS_SPEEX_CODEC - m_Codecs.Add(_T("Speex")); -#endif -} - -// Load from registry -void CPocketPJSettings::LoadRegistry() -{ - CRegKey key; - wchar_t textVal[256]; - DWORD dwordVal; - DWORD cbData; - - - if (key.Open(HKEY_CURRENT_USER, REG_PATH) != ERROR_SUCCESS) - return; - - cbData = sizeof(textVal); - if (key.QueryValue(textVal, REG_DOMAIN, &cbData) == ERROR_SUCCESS) { - m_Domain = textVal; - } - - cbData = sizeof(textVal); - if (key.QueryValue(textVal, REG_USER, &cbData) == ERROR_SUCCESS) { - m_User = textVal; - } - - cbData = sizeof(textVal); - if (key.QueryValue(textVal, REG_PASSWD, &cbData) == ERROR_SUCCESS) { - m_Password = textVal; - } - - cbData = sizeof(textVal); - if (key.QueryValue(textVal, REG_STUN_SRV, &cbData) == ERROR_SUCCESS) { - m_StunSrv = textVal; - } - - cbData = sizeof(textVal); - if (key.QueryValue(textVal, REG_DNS, &cbData) == ERROR_SUCCESS) { - m_DNS = textVal; - } - - dwordVal = 0; - if (key.QueryValue(dwordVal, REG_USE_STUN) == ERROR_SUCCESS) { - m_UseStun = dwordVal != 0; - } - - if (key.QueryValue(dwordVal, REG_USE_ICE) == ERROR_SUCCESS) { - m_UseIce = dwordVal != 0; - } - - - if (key.QueryValue(dwordVal, REG_USE_SRTP) == ERROR_SUCCESS) { - m_UseSrtp = dwordVal != 0; - } - - - cbData = sizeof(dwordVal); - if (key.QueryValue(dwordVal, REG_USE_PUBLISH) == ERROR_SUCCESS) { - m_UsePublish = dwordVal != 0; - } - - cbData = sizeof(dwordVal); - if (key.QueryValue(dwordVal, REG_ENABLE_EC) == ERROR_SUCCESS) { - m_EchoSuppress = dwordVal != 0; - } - - cbData = sizeof(dwordVal); - if (key.QueryValue(dwordVal, REG_EC_TAIL) == ERROR_SUCCESS) { - m_EcTail = dwordVal; - } - - cbData = sizeof(dwordVal); - if (key.QueryValue(dwordVal, REG_ENABLE_TCP) == ERROR_SUCCESS) { - m_TCP = dwordVal != 0; - } - - cbData = sizeof(dwordVal); - if (key.QueryValue(dwordVal, REG_ENABLE_VAD) == ERROR_SUCCESS) { - m_VAD = dwordVal != 0; - } - - cbData = sizeof(dwordVal); - if (key.QueryValue(dwordVal, REG_AUTO_ANSWER) == ERROR_SUCCESS) { - m_AutoAnswer = dwordVal != 0; - } - - m_BuddyList.RemoveAll(); - - DWORD buddyCount = 0; - cbData = sizeof(dwordVal); - if (key.QueryValue(dwordVal, REG_BUDDY_CNT) == ERROR_SUCCESS) { - buddyCount = dwordVal; - } - - unsigned i; - for (i=0; i<buddyCount; ++i) { - CString entry; - entry.Format(REG_BUDDY_X, i); - - cbData = sizeof(textVal); - if (key.QueryValue(textVal, entry, &cbData) == ERROR_SUCCESS) { - m_BuddyList.Add(textVal); - } - } - - DWORD codecCount = 0; - cbData = sizeof(dwordVal); - if (key.QueryValue(codecCount, REG_CODEC_CNT) == ERROR_SUCCESS) { - - m_Codecs.RemoveAll(); - - for (i=0; i<codecCount; ++i) { - CString entry; - entry.Format(REG_CODEC_X, i); - - cbData = sizeof(textVal); - if (key.QueryValue(textVal, entry, &cbData) == ERROR_SUCCESS) { - m_Codecs.Add(textVal); - } - } - } - - key.Close(); -} - -// Save to registry -void CPocketPJSettings::SaveRegistry() -{ - CRegKey key; - - if (key.Create(HKEY_CURRENT_USER, REG_PATH) != ERROR_SUCCESS) - return; - - key.SetValue(m_Domain, REG_DOMAIN); - key.SetValue(m_User, REG_USER); - key.SetValue(m_Password, REG_PASSWD); - key.SetValue(m_StunSrv, REG_STUN_SRV); - key.SetValue(m_DNS, REG_DNS); - - key.SetValue(m_UseStun, REG_USE_STUN); - key.SetValue(m_UseIce, REG_USE_ICE); - key.SetValue(m_UseSrtp, REG_USE_SRTP); - key.SetValue(m_UsePublish, REG_USE_PUBLISH); - - key.SetValue(m_EchoSuppress, REG_ENABLE_EC); - key.SetValue(m_EcTail, REG_EC_TAIL); - - key.SetValue(m_TCP, REG_ENABLE_TCP); - key.SetValue(m_VAD, REG_ENABLE_VAD); - key.SetValue(m_AutoAnswer, REG_AUTO_ANSWER); - - key.SetValue(m_BuddyList.GetSize(), REG_BUDDY_CNT); - - int i; - for (i=0; i<m_BuddyList.GetSize(); ++i) { - CString entry; - entry.Format(REG_BUDDY_X, i); - key.SetValue(m_BuddyList.GetAt(i), entry); - } - - DWORD N = m_Codecs.GetSize(); - key.SetValue(N, REG_CODEC_CNT); - for (i=0; i<m_Codecs.GetSize(); ++i) { - CString entry; - entry.Format(REG_CODEC_X, i); - key.SetValue(m_Codecs.GetAt(i), entry); - } - - key.Close(); -} - - -///////////////////////////////////////////////////////////////////////////// -// CSettingsDlg dialog - - -CSettingsDlg::CSettingsDlg(CPocketPJSettings &cfg, CWnd* pParent) - : CDialog(CSettingsDlg::IDD, pParent), m_Cfg(cfg) -{ - //{{AFX_DATA_INIT(CSettingsDlg) - m_Domain = _T(""); - m_ICE = FALSE; - m_Passwd = _T(""); - m_PUBLISH = FALSE; - m_SRTP = FALSE; - m_STUN = FALSE; - m_StunSrv = _T(""); - m_User = _T(""); - m_Dns = _T(""); - m_EchoSuppress = FALSE; - m_EcTail = _T(""); - m_TCP = FALSE; - m_VAD = FALSE; - m_AutoAnswer = FALSE; - //}}AFX_DATA_INIT - - m_Domain = m_Cfg.m_Domain; - m_ICE = m_Cfg.m_UseIce; - m_Passwd = m_Cfg.m_Password; - m_PUBLISH = m_Cfg.m_UsePublish; - m_SRTP = m_Cfg.m_UseSrtp; - m_STUN = m_Cfg.m_UseStun; - m_StunSrv = m_Cfg.m_StunSrv; - m_User = m_Cfg.m_User; - m_Dns = m_Cfg.m_DNS; - m_EchoSuppress = m_Cfg.m_EchoSuppress; - m_TCP = m_Cfg.m_TCP; - m_VAD = m_Cfg.m_VAD; - m_AutoAnswer= m_Cfg.m_AutoAnswer; - - CString s; - s.Format(_T("%d"), m_Cfg.m_EcTail); - m_EcTail = s; - -} - - -void CSettingsDlg::DoDataExchange(CDataExchange* pDX) -{ - CDialog::DoDataExchange(pDX); - //{{AFX_DATA_MAP(CSettingsDlg) - DDX_Control(pDX, IDC_CODECS, m_Codecs); - DDX_Text(pDX, IDC_DOMAIN, m_Domain); - DDX_Check(pDX, IDC_ICE, m_ICE); - DDX_Text(pDX, IDC_PASSWD, m_Passwd); - DDX_Check(pDX, IDC_PUBLISH, m_PUBLISH); - DDX_Check(pDX, IDC_SRTP, m_SRTP); - DDX_Check(pDX, IDC_STUN, m_STUN); - DDX_Text(pDX, IDC_STUN_SRV, m_StunSrv); - DDX_Text(pDX, IDC_USER, m_User); - DDX_Text(pDX, IDC_DNS, m_Dns); - DDX_Check(pDX, IDC_ECHO_SUPPRESS, m_EchoSuppress); - DDX_Text(pDX, IDC_EC_TAIL, m_EcTail); - DDX_Check(pDX, IDC_TCP, m_TCP); - DDX_Check(pDX, IDC_VAD, m_VAD); - DDX_Check(pDX, IDC_AA, m_AutoAnswer); - //}}AFX_DATA_MAP - - - if (m_Codecs.GetCount() == 0) { - int i; - for (i=0; i<m_Cfg.m_Codecs.GetSize(); ++i) { - m_Codecs.AddString(m_Cfg.m_Codecs.GetAt(i)); - } - m_Codecs.SetCurSel(0); - } -} - - -BEGIN_MESSAGE_MAP(CSettingsDlg, CDialog) - //{{AFX_MSG_MAP(CSettingsDlg) - ON_BN_CLICKED(IDC_STUN, OnStun) - ON_BN_CLICKED(IDC_ECHO_SUPPRESS, OnEchoSuppress) - ON_CBN_SELCHANGE(IDC_CODECS, OnSelchangeCodecs) - //}}AFX_MSG_MAP -END_MESSAGE_MAP() - -///////////////////////////////////////////////////////////////////////////// -// CSettingsDlg message handlers - -int CSettingsDlg::DoModal() -{ - int rc = CDialog::DoModal(); - - return rc; -} - -void CSettingsDlg::OnStun() -{ -} - -void CSettingsDlg::OnEchoSuppress() -{ -} - -void CSettingsDlg::OnSelchangeCodecs() -{ - int cur = m_Codecs.GetCurSel(); - if (cur < 1) - return; - - CString codec; - DWORD N; - - m_Codecs.GetLBText(cur, codec); - N = m_Codecs.GetCount(); - m_Codecs.DeleteString(cur); - N = m_Codecs.GetCount(); - m_Codecs.InsertString(0, codec); - N = m_Codecs.GetCount(); - m_Codecs.SetCurSel(0); -} - - -void CSettingsDlg::OnOK() -{ - UpdateData(TRUE); - - m_Cfg.m_Domain = m_Domain; - m_Cfg.m_UseIce = m_ICE != 0; - m_Cfg.m_Password = m_Passwd; - m_Cfg.m_UsePublish = m_PUBLISH != 0; - m_Cfg.m_UseSrtp = m_SRTP != 0; - m_Cfg.m_UseStun = m_STUN != 0; - m_Cfg.m_StunSrv = m_StunSrv; - m_Cfg.m_User = m_User; - m_Cfg.m_DNS = m_Dns; - m_Cfg.m_EchoSuppress= m_EchoSuppress != 0; - m_Cfg.m_EcTail = _ttoi(m_EcTail); - m_Cfg.m_TCP = m_TCP != 0; - m_Cfg.m_VAD = m_VAD != 0; - m_Cfg.m_AutoAnswer = m_AutoAnswer != 0; - - unsigned i; - m_Cfg.m_Codecs.RemoveAll(); - DWORD N = m_Codecs.GetCount(); - for (i=0; i<N; ++i) { - CString codec; - m_Codecs.GetLBText(i, codec); - m_Cfg.m_Codecs.Add(codec); - } - - CDialog::OnOK(); -} diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/SettingsDlg.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/SettingsDlg.h deleted file mode 100644 index 816ede999e0deadfa601d251a568db03c652d989..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/SettingsDlg.h +++ /dev/null @@ -1,99 +0,0 @@ -#if !defined(AFX_SETTINGSDLG_H__46F18E6E_F411_4D9E_BEE9_619D80BC81DC__INCLUDED_) -#define AFX_SETTINGSDLG_H__46F18E6E_F411_4D9E_BEE9_619D80BC81DC__INCLUDED_ - -#if _MSC_VER > 1000 -#pragma once -#endif // _MSC_VER > 1000 -// SettingsDlg.h : header file -// -#include <Afxtempl.h> - -///////////////////////////////////////////////////////////////////////////// -// Settings -struct CPocketPJSettings -{ - CString m_Domain; - CString m_User; - CString m_Password; - bool m_UseStun; - CString m_StunSrv; - bool m_UseIce; - bool m_UseSrtp; - bool m_UsePublish; - CString m_DNS; - bool m_EchoSuppress; - DWORD m_EcTail; - bool m_TCP; - bool m_VAD; - bool m_AutoAnswer; - - CArray<CString,CString> m_Codecs; - CArray<CString,CString> m_BuddyList; - - CPocketPJSettings(); - - // Load from registry - void LoadRegistry(); - - // Save to registry - void SaveRegistry(); -}; - - -///////////////////////////////////////////////////////////////////////////// -// CSettingsDlg dialog - -class CSettingsDlg : public CDialog -{ -// Construction -public: - CSettingsDlg(CPocketPJSettings & cfg, CWnd* pParent = NULL); - -// Dialog Data - //{{AFX_DATA(CSettingsDlg) - enum { IDD = IDD_SETTING }; - CComboBox m_Codecs; - CString m_Domain; - BOOL m_ICE; - CString m_Passwd; - BOOL m_PUBLISH; - BOOL m_SRTP; - BOOL m_STUN; - CString m_StunSrv; - CString m_User; - CString m_Dns; - BOOL m_EchoSuppress; - CString m_EcTail; - BOOL m_TCP; - BOOL m_VAD; - BOOL m_AutoAnswer; - //}}AFX_DATA - - -// Overrides - // ClassWizard generated virtual function overrides - //{{AFX_VIRTUAL(CSettingsDlg) - public: - virtual int DoModal(); - protected: - virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support - //}}AFX_VIRTUAL - -// Implementation -protected: - CPocketPJSettings & m_Cfg; - - // Generated message map functions - //{{AFX_MSG(CSettingsDlg) - afx_msg void OnStun(); - afx_msg void OnEchoSuppress(); - afx_msg void OnSelchangeCodecs(); - virtual void OnOK(); - //}}AFX_MSG - DECLARE_MESSAGE_MAP() -}; - -//{{AFX_INSERT_LOCATION}} -// Microsoft Visual C++ will insert additional declarations immediately before the previous line. - -#endif // !defined(AFX_SETTINGSDLG_H__46F18E6E_F411_4D9E_BEE9_619D80BC81DC__INCLUDED_) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/StdAfx.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/StdAfx.cpp deleted file mode 100644 index 78794a399d1d27c1231b8a79ab56f8da3a911ea0..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/StdAfx.cpp +++ /dev/null @@ -1,6 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// PocketPJ.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/StdAfx.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/StdAfx.h deleted file mode 100644 index 4142afee5bdbc452b8f4799c65de7937f1afd85e..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/StdAfx.h +++ /dev/null @@ -1,32 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, but -// are changed infrequently -// - -#if !defined(AFX_STDAFX_H__20B05C7D_B63E_4E5C_B3BB_E76C6C9E70B7__INCLUDED_) -#define AFX_STDAFX_H__20B05C7D_B63E_4E5C_B3BB_E76C6C9E70B7__INCLUDED_ - -#if _MSC_VER >= 1000 -#pragma once -#endif // _MSC_VER >= 1000 - -#pragma warning(disable:4496) - - -#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers - -#include <afxwin.h> // MFC core and standard components -#include <afxext.h> // MFC extensions - -#if defined(_AFXDLL) -#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls -#endif - -#ifndef _AFX_NO_AFXCMN_SUPPORT -#include <afxcmn.h> // MFC support for Windows Common Controls -#endif // _AFX_NO_AFXCMN_SUPPORT - -//{{AFX_INSERT_LOCATION}} -// Microsoft eMbedded Visual C++ will insert additional declarations immediately before the previous line. - -#endif // !defined(AFX_STDAFX_H__20B05C7D_B63E_4E5C_B3BB_E76C6C9E70B7__INCLUDED_) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/newres.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/newres.h deleted file mode 100644 index 31c3a433e8ef44f99d1b5b7c3ef547702cb1995c..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/newres.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __NEWRES_H__ -#define __NEWRES_H__ - -#define SHMENUBAR RCDATA -#if !(defined(_WIN32_WCE_PSPC) && (_WIN32_WCE >= 300)) - #undef HDS_HORZ - #undef HDS_BUTTONS - #undef HDS_HIDDEN - - #include <commctrl.h> - // for MenuBar - #define I_IMAGENONE (-2) - #define NOMENU 0xFFFF - #define IDS_SHNEW 1 - #define IDM_SHAREDNEW 10 - #define IDM_SHAREDNEWDEFAULT 11 - - // for Tab Control - #define TCS_SCROLLOPPOSITE 0x0001 // assumes multiline tab - #define TCS_BOTTOM 0x0002 - #define TCS_RIGHT 0x0002 - #define TCS_VERTICAL 0x0080 - #define TCS_MULTISELECT 0x0004 // allow multi-select in button mode - #define TCS_FLATBUTTONS 0x0008 -#endif //_WIN32_WCE_PSPC - - -#endif //__NEWRES_H__ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/PocketPJ.ico b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/PocketPJ.ico deleted file mode 100644 index 51a182ea7cb7ad75ea832d1119ab539537ae2ac6..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/PocketPJ.ico and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/PocketPJ.rc2 b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/PocketPJ.rc2 deleted file mode 100644 index 50048ba31ff6ffc26fc4023ca7f874d810755a4d..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/PocketPJ.rc2 +++ /dev/null @@ -1,13 +0,0 @@ -// -// POCKETPJ.RC2 - resources Microsoft eMbedded Visual C++ does not edit directly -// - -#ifdef APSTUDIO_INVOKED - #error this file is not editable by Microsoft eMbedded Visual C++ -#endif //APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// Add manually edited resources here... - -///////////////////////////////////////////////////////////////////////////// diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/action.bmp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/action.bmp deleted file mode 100644 index dac70fe17f9d99f975fe86a15513b98999094702..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/action.bmp and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/blank.bmp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/blank.bmp deleted file mode 100644 index d9521c452da24d11c3204b32f66f2c34507648e4..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/blank.bmp and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/invisibl.bmp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/invisibl.bmp deleted file mode 100644 index 88194067c3a2d4dd4165b4c6ca408858716d894a..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/invisibl.bmp and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/invisibl.ico b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/invisibl.ico deleted file mode 100644 index 740426192078e63a88c2ea43b71b7151eba02fe8..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/invisibl.ico and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/offline.bmp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/offline.bmp deleted file mode 100644 index cf181622478ba0b01a5cb87d5b1002561500d831..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/offline.bmp and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/offline.ico b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/offline.ico deleted file mode 100644 index 207c666ad3675ba45036597ed91d5bc22646680c..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/offline.ico and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/online.bmp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/online.bmp deleted file mode 100644 index 7d87554dc275c185315ac7cff76941adf98cad4c..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/online.bmp and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/online.ico b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/online.ico deleted file mode 100644 index c999c2bb51d99c594a60e688314f6376a600896a..0000000000000000000000000000000000000000 Binary files a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/res/online.ico and /dev/null differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/resource.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/resource.h deleted file mode 100644 index 85eefa2e151f4b72c5f35e7de83386d6a7739c87..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pocketpj/resource.h +++ /dev/null @@ -1,71 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft eMbedded Visual C++ generated include file. -// Used by PocketPJ.rc -// -#define IDD_POCKETPJ_DIALOG 102 -#define IDR_MAINFRAME 128 -#define IDI_ONLINE 131 -#define IDI_OFFLINE 132 -#define IDI_INVISIBLE 133 -#define IDB_ONLINE 135 -#define IDB_OFFLINE 136 -#define IDB_INVISIBLE 137 -#define IDB_ACTION 138 -#define IDR_ACC_MENU 139 -#define IDR_URI_MENU 140 -#define IDD_SETTING 141 -#define IDD_POPUP 143 -#define IDB_BLANK 144 -#define IDC_BTN_ACC 1006 -#define IDC_BTN_ACTION 1007 -#define IDC_ACC_ID 1008 -#define IDC_BUDDY_LIST 1009 -#define IDC_URL 1010 -#define IDC_DOMAIN 1011 -#define IDC_USER 1012 -#define IDC_PASSWD 1013 -#define IDC_STUN 1014 -#define IDC_STUN_SRV 1015 -#define IDC_ICE 1016 -#define IDC_SRTP 1017 -#define IDC_TITLE1 1017 -#define IDC_PUBLISH 1018 -#define IDC_TITLE2 1018 -#define IDC_DNS 1019 -#define IDC_TITLE3 1020 -#define IDC_ECHO_SUPPRESS 1020 -#define IDC_BUTTON1 1021 -#define IDC_EC_TAIL 1021 -#define IDC_BUTTON2 1022 -#define IDC_VAD 1022 -#define IDC_TCP 1023 -#define IDC_CODECS 1024 -#define IDC_AA 1025 -#define IDS_CAP_ONLINE 32772 -#define IDS_CAP_OFFLINE 32774 -#define IDS_CAP_INVISIBLE 32776 -#define IDC_ONLINE 32777 -#define IDC_ACC_ONLINE 32777 -#define IDS_CAP_MENUITEM32783 32784 -#define IDC_MENU1 32785 -#define IDS_CAP_MENUITEM32786 32787 -#define IDC_SETTINGS 32788 -#define IDC_ACC_SETTINGS 32788 -#define IDC_MENU2 32789 -#define IDS_CAP_MENUITEM32790 32791 -#define IDC_URI_CALL 32792 -#define IDC_URI_ADD_BUDDY 32793 -#define ID_URI_DEL_BUDDY 32794 -#define IDC_URI_DEL_BUDDY 32794 -#define IDC_ACC_INVISIBLE 32795 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 145 -#define _APS_NEXT_COMMAND_VALUE 32796 -#define _APS_NEXT_CONTROL_VALUE 1025 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/main_symbian.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/main_symbian.cpp deleted file mode 100644 index cb9b0bc39ce0b48c45d31c0202f0cb7952131cac..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/main_symbian.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/* $Id: main_symbian.cpp 3553 2011-05-05 06:14:19Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include "ua.h" - -#include <e32std.h> -#include <e32base.h> -#include <e32std.h> -#include <stdlib.h> - - -// Global Variables -CConsoleBase* console; - -// Needed by APS -//TPtrC APP_UID = _L("200235D3"); -TPtrC APP_UID = _L("A000000D"); - - -//////////////////////////////////////////////////////////////////////////// - -LOCAL_C void DoStartL() -{ - CActiveScheduler *scheduler = new (ELeave) CActiveScheduler; - CleanupStack::PushL(scheduler); - CActiveScheduler::Install(scheduler); - - ua_main(); - - CActiveScheduler::Install(NULL); - CleanupStack::Pop(scheduler); - delete scheduler; -} - - -//////////////////////////////////////////////////////////////////////////// - -// E32Main() -GLDEF_C TInt E32Main() -{ - // Mark heap usage - __UHEAP_MARK; - - // Create cleanup stack - CTrapCleanup* cleanup = CTrapCleanup::New(); - - // Create output console - TRAPD(createError, console = Console::NewL(_L("Console"), TSize(KConsFullScreen,KConsFullScreen))); - if (createError) - return createError; - - TRAPD(startError, DoStartL()); - - console->Printf(_L("[press any key to close]\n")); - console->Getch(); - - delete console; - delete cleanup; - - CloseSTDLIB(); - - // Mark end of heap usage, detect memory leaks - __UHEAP_MARKEND; - return KErrNone; -} - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/symbian_ua_reg.rss b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/symbian_ua_reg.rss deleted file mode 100644 index a51366553d10368d046609cea08bc5571513350b..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/symbian_ua_reg.rss +++ /dev/null @@ -1,10 +0,0 @@ -#include <appinfo.rh> - -UID2 KUidAppRegistrationResourceFile -UID3 0xA000000D - -RESOURCE APP_REGISTRATION_INFO -{ - app_file="symbian_ua"; -} - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/ua.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/ua.cpp deleted file mode 100644 index 53e2329792b2b1bbb14e5c64c880f0914cc6b7f5..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/ua.cpp +++ /dev/null @@ -1,1186 +0,0 @@ -/* $Id: ua.cpp 3999 2012-03-30 07:10:13Z bennylp $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include <pjsua-lib/pjsua.h> -#include <pjsua-lib/pjsua_internal.h> -//#include <pjmedia/symbian_sound_aps.h> -#include "ua.h" - -#define THIS_FILE "symbian_ua.cpp" -#define CON_LOG_LEVEL 3 // console log level -#define FILE_LOG_LEVEL 4 // logfile log level - -// -// Basic config. -// -#define SIP_PORT 5060 - - -// -// Destination URI (to make call, or to subscribe presence) -// -#define SIP_DST_URI "<sip:100@pjsip.lab>" - -// -// Account -// -#define HAS_SIP_ACCOUNT 0 // 1 to enable registration -#define SIP_DOMAIN "pjsip.lab" -#define SIP_USER "400" -#define SIP_PASSWD "400" - -// -// Outbound proxy for all accounts -// -#define SIP_PROXY NULL -//#define SIP_PROXY "<sip:192.168.0.8;lr>" - -// -// SIP transports -// -#define ENABLE_SIP_UDP 1 -#define ENABLE_SIP_TCP 0 // experimental -#define ENABLE_SIP_TLS 0 // experimental - -// -// Configure nameserver if DNS SRV is to be used with both SIP -// or STUN (for STUN see other settings below) -// -#define NAMESERVER NULL -//#define NAMESERVER "192.168.0.2" - -// -// STUN server -#if 0 - // Use this to have the STUN server resolved normally -# define STUN_DOMAIN NULL -# define STUN_SERVER "stun.pjsip.org" -#elif 0 - // Use this to have the STUN server resolved with DNS SRV -# define STUN_DOMAIN "pjsip.org" -# define STUN_SERVER NULL -#else - // Use this to disable STUN -# define STUN_DOMAIN NULL -# define STUN_SERVER NULL -#endif - -// -// Use ICE? -// -#define USE_ICE 1 - -// -// Use SRTP? -// -#define USE_SRTP PJSUA_DEFAULT_USE_SRTP - -// -// Set QoS on transports? Yes! -// As an example, we set SIP transports DSCP value to CS3 (DSCP -// value 24 or 0x18), for no reason, and tag RTP/RTCP packets -// with VOICE type. -// -#define SIP_QOS_DSCP 0x18 -#define RTP_QOS_TYPE PJ_QOS_TYPE_VOICE - - -// -// Globals -// -static pjsua_acc_id g_acc_id = PJSUA_INVALID_ID; -static pjsua_call_id g_call_id = PJSUA_INVALID_ID; -static pjsua_buddy_id g_buddy_id = PJSUA_INVALID_ID; - - -/* Callback called by the library upon receiving incoming call */ -static void on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, - pjsip_rx_data *rdata) -{ - pjsua_call_info ci; - - PJ_UNUSED_ARG(acc_id); - PJ_UNUSED_ARG(rdata); - - if (g_call_id != PJSUA_INVALID_ID) { - pjsua_call_answer(call_id, PJSIP_SC_BUSY_HERE, NULL, NULL); - return; - } - - pjsua_call_get_info(call_id, &ci); - - PJ_LOG(3,(THIS_FILE, "Incoming call from %.*s!!", - (int)ci.remote_info.slen, - ci.remote_info.ptr)); - - g_call_id = call_id; - - /* Automatically answer incoming calls with 180/Ringing */ - pjsua_call_answer(call_id, 180, NULL, NULL); -} - -/* Callback called by the library when call's state has changed */ -static void on_call_state(pjsua_call_id call_id, pjsip_event *e) -{ - pjsua_call_info ci; - - PJ_UNUSED_ARG(e); - - pjsua_call_get_info(call_id, &ci); - - if (ci.state == PJSIP_INV_STATE_DISCONNECTED) { - if (call_id == g_call_id) - g_call_id = PJSUA_INVALID_ID; - } else if (ci.state != PJSIP_INV_STATE_INCOMING) { - if (g_call_id == PJSUA_INVALID_ID) - g_call_id = call_id; - } - - PJ_LOG(3,(THIS_FILE, "Call %d state=%.*s", call_id, - (int)ci.state_text.slen, - ci.state_text.ptr)); -} - -/* Callback called by the library when call's media state has changed */ -static void on_call_media_state(pjsua_call_id call_id) -{ - pjsua_call_info ci; - - pjsua_call_get_info(call_id, &ci); - - if (ci.media_status == PJSUA_CALL_MEDIA_ACTIVE) { - // When media is active, connect call to sound device. - pjsua_conf_connect(ci.conf_slot, 0); - pjsua_conf_connect(0, ci.conf_slot); - } -} - - -/* Handler on buddy state changed. */ -static void on_buddy_state(pjsua_buddy_id buddy_id) -{ - pjsua_buddy_info info; - pjsua_buddy_get_info(buddy_id, &info); - - PJ_LOG(3,(THIS_FILE, "%.*s status is %.*s", - (int)info.uri.slen, - info.uri.ptr, - (int)info.status_text.slen, - info.status_text.ptr)); -} - - -/* Incoming IM message (i.e. MESSAGE request)! */ -static void on_pager(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - const pj_str_t *mime_type, const pj_str_t *text) -{ - /* Note: call index may be -1 */ - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(to); - PJ_UNUSED_ARG(contact); - PJ_UNUSED_ARG(mime_type); - - PJ_LOG(3,(THIS_FILE,"MESSAGE from %.*s: %.*s", - (int)from->slen, from->ptr, - (int)text->slen, text->ptr)); -} - - -/* Received typing indication */ -static void on_typing(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - pj_bool_t is_typing) -{ - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(to); - PJ_UNUSED_ARG(contact); - - PJ_LOG(3,(THIS_FILE, "IM indication: %.*s %s", - (int)from->slen, from->ptr, - (is_typing?"is typing..":"has stopped typing"))); -} - - -/* Call transfer request status. */ -static void on_call_transfer_status(pjsua_call_id call_id, - int status_code, - const pj_str_t *status_text, - pj_bool_t final, - pj_bool_t *p_cont) -{ - PJ_LOG(3,(THIS_FILE, "Call %d: transfer status=%d (%.*s) %s", - call_id, status_code, - (int)status_text->slen, status_text->ptr, - (final ? "[final]" : ""))); - - if (status_code/100 == 2) { - PJ_LOG(3,(THIS_FILE, - "Call %d: call transfered successfully, disconnecting call", - call_id)); - pjsua_call_hangup(call_id, PJSIP_SC_GONE, NULL, NULL); - *p_cont = PJ_FALSE; - } -} - - -/* NAT detection result */ -static void on_nat_detect(const pj_stun_nat_detect_result *res) -{ - if (res->status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "NAT detection failed", res->status); - } else { - PJ_LOG(3, (THIS_FILE, "NAT detected as %s", res->nat_type_name)); - } -} - -/* Notification that call is being replaced. */ -static void on_call_replaced(pjsua_call_id old_call_id, - pjsua_call_id new_call_id) -{ - pjsua_call_info old_ci, new_ci; - - pjsua_call_get_info(old_call_id, &old_ci); - pjsua_call_get_info(new_call_id, &new_ci); - - PJ_LOG(3,(THIS_FILE, "Call %d with %.*s is being replaced by " - "call %d with %.*s", - old_call_id, - (int)old_ci.remote_info.slen, old_ci.remote_info.ptr, - new_call_id, - (int)new_ci.remote_info.slen, new_ci.remote_info.ptr)); -} - -/* - * Transport status notification - */ -static void on_transport_state(pjsip_transport *tp, - pjsip_transport_state state, - const pjsip_transport_state_info *info) -{ - char host_port[128]; - - pj_ansi_snprintf(host_port, sizeof(host_port), "[%.*s:%d]", - (int)tp->remote_name.host.slen, - tp->remote_name.host.ptr, - tp->remote_name.port); - - switch (state) { - case PJSIP_TP_STATE_CONNECTED: - { - PJ_LOG(3,(THIS_FILE, "SIP transport %s is connected to %s", - tp->type_name, host_port)); - } - break; - - case PJSIP_TP_STATE_DISCONNECTED: - { - char buf[100]; - - snprintf(buf, sizeof(buf), "SIP transport %s is disconnected from %s", - tp->type_name, host_port); - pjsua_perror(THIS_FILE, buf, info->status); - } - break; - - default: - break; - } - -#if defined(PJSIP_HAS_TLS_TRANSPORT) && PJSIP_HAS_TLS_TRANSPORT!=0 - - if (!pj_ansi_stricmp(tp->type_name, "tls") && info->ext_info && - state == PJSIP_TP_STATE_CONNECTED) - { - pjsip_tls_state_info *tls_info = (pjsip_tls_state_info*)info->ext_info; - pj_ssl_sock_info *ssl_sock_info = (pj_ssl_sock_info*) - tls_info->ssl_sock_info; - char buf[2048]; - - /* Dump server TLS certificate */ - pj_ssl_cert_info_dump(ssl_sock_info->remote_cert_info, " ", - buf, sizeof(buf)); - PJ_LOG(4,(THIS_FILE, "TLS cert info of %s:\n%s", host_port, buf)); - } - -#endif -} - - -//#include<e32debug.h> - -/* Logging callback */ -static void log_writer(int level, const char *buf, int len) -{ - static wchar_t buf16[PJ_LOG_MAX_SIZE]; - - PJ_UNUSED_ARG(level); - - pj_ansi_to_unicode(buf, len, buf16, PJ_ARRAY_SIZE(buf16)); - - TPtrC16 aBuf((const TUint16*)buf16, (TInt)len); - //RDebug::Print(aBuf); - console->Write(aBuf); - -} - -/* - * app_startup() - * - * url may contain URL to call. - */ -static pj_status_t app_startup() -{ - pj_status_t status; - - /* Redirect log before pjsua_init() */ - pj_log_set_log_func(&log_writer); - - /* Set log level */ - pj_log_set_level(CON_LOG_LEVEL); - - /* Create pjsua first! */ - status = pjsua_create(); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pjsua_create() error", status); - return status; - } - - /* Init pjsua */ - pjsua_config cfg; - pjsua_logging_config log_cfg; - pjsua_media_config med_cfg; - - pjsua_config_default(&cfg); - cfg.max_calls = 2; - cfg.thread_cnt = 0; // Disable threading on Symbian - cfg.use_srtp = USE_SRTP; - cfg.srtp_secure_signaling = 0; - - cfg.cb.on_incoming_call = &on_incoming_call; - cfg.cb.on_call_media_state = &on_call_media_state; - cfg.cb.on_call_state = &on_call_state; - cfg.cb.on_buddy_state = &on_buddy_state; - cfg.cb.on_pager = &on_pager; - cfg.cb.on_typing = &on_typing; - cfg.cb.on_call_transfer_status = &on_call_transfer_status; - cfg.cb.on_call_replaced = &on_call_replaced; - cfg.cb.on_nat_detect = &on_nat_detect; - cfg.cb.on_transport_state = &on_transport_state; - - if (SIP_PROXY) { - cfg.outbound_proxy_cnt = 1; - cfg.outbound_proxy[0] = pj_str(SIP_PROXY); - } - - if (NAMESERVER) { - cfg.nameserver_count = 1; - cfg.nameserver[0] = pj_str(NAMESERVER); - } - - if (NAMESERVER && STUN_DOMAIN) { - cfg.stun_domain = pj_str(STUN_DOMAIN); - } else if (STUN_SERVER) { - cfg.stun_host = pj_str(STUN_SERVER); - } - - - pjsua_logging_config_default(&log_cfg); - log_cfg.level = FILE_LOG_LEVEL; - log_cfg.console_level = CON_LOG_LEVEL; - log_cfg.cb = &log_writer; - log_cfg.log_filename = pj_str("C:\\data\\symbian_ua.log"); - - pjsua_media_config_default(&med_cfg); - med_cfg.thread_cnt = 0; // Disable threading on Symbian - med_cfg.has_ioqueue = PJ_FALSE; - med_cfg.clock_rate = 8000; - med_cfg.audio_frame_ptime = 40; - med_cfg.ec_tail_len = 0; - med_cfg.enable_ice = USE_ICE; - med_cfg.snd_auto_close_time = 0; // wait for 0 seconds idle before sound dev get auto-closed - //med_cfg.no_vad = PJ_TRUE; - - status = pjsua_init(&cfg, &log_cfg, &med_cfg); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pjsua_init() error", status); - pjsua_destroy(); - return status; - } - - /* Adjust Speex priority and enable only the narrowband */ - { - pj_str_t codec_id = pj_str("speex/8000"); - pjmedia_codec_mgr_set_codec_priority( - pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt), - &codec_id, PJMEDIA_CODEC_PRIO_NORMAL+1); - - codec_id = pj_str("speex/16000"); - pjmedia_codec_mgr_set_codec_priority( - pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt), - &codec_id, PJMEDIA_CODEC_PRIO_DISABLED); - - codec_id = pj_str("speex/32000"); - pjmedia_codec_mgr_set_codec_priority( - pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt), - &codec_id, PJMEDIA_CODEC_PRIO_DISABLED); - } - - - pjsua_transport_config tcfg; - pjsua_transport_id tid; - -#if ENABLE_SIP_UDP - /* Add UDP transport. */ - pjsua_transport_config_default(&tcfg); - tcfg.port = SIP_PORT; - if (SIP_QOS_DSCP) { - tcfg.qos_params.flags |= PJ_QOS_PARAM_HAS_DSCP; - tcfg.qos_params.dscp_val = SIP_QOS_DSCP; - } - status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &tcfg, &tid); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error creating UDP transport", status); - pjsua_destroy(); - return status; - } -#endif - -#if ENABLE_SIP_TCP - /* Add TCP transport */ - pjsua_transport_config_default(&tcfg); - tcfg.port = SIP_PORT; - if (SIP_QOS_DSCP) { - tcfg.qos_params.flags |= PJ_QOS_PARAM_HAS_DSCP; - tcfg.qos_params.dscp_val = SIP_QOS_DSCP; - } - status = pjsua_transport_create(PJSIP_TRANSPORT_TCP, &tcfg, &tid); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error creating TCP transport", status); - pjsua_destroy(); - return status; - } -#endif - -#if ENABLE_SIP_TLS - /* Add TLS transport */ - pjsua_transport_config_default(&tcfg); - tcfg.port = SIP_PORT + 1; - if (SIP_QOS_DSCP) { - tcfg.qos_params.flags |= PJ_QOS_PARAM_HAS_DSCP; - tcfg.qos_params.dscp_val = SIP_QOS_DSCP; - tcfg.tls_setting.qos_params = tcfg.qos_params; - } - status = pjsua_transport_create(PJSIP_TRANSPORT_TLS, &tcfg, &tid); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error creating TLS transport", status); - pjsua_destroy(); - return status; - } -#endif - - /* Add account for the transport */ - pjsua_acc_add_local(tid, PJ_TRUE, &g_acc_id); - -#if DISABLED_FOR_TICKET_1185 - /* Create media transports */ - pjsua_transport_config mtcfg; - pjsua_transport_config_default(&mtcfg); - mtcfg.port = 4000; - mtcfg.qos_type = RTP_QOS_TYPE; - status = pjsua_media_transports_create(&mtcfg); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error creating media transports", status); - pjsua_destroy(); - return status; - } -#endif - - /* Initialization is done, now start pjsua */ - status = pjsua_start(); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error starting pjsua", status); - pjsua_destroy(); - return status; - } - - /* Register to SIP server by creating SIP account. */ - if (HAS_SIP_ACCOUNT) { - pjsua_acc_config cfg; - - pjsua_acc_config_default(&cfg); - cfg.id = pj_str("sip:" SIP_USER "@" SIP_DOMAIN); - cfg.reg_uri = pj_str("sip:" SIP_DOMAIN); - cfg.cred_count = 1; - cfg.cred_info[0].realm = pj_str("*"); - cfg.cred_info[0].scheme = pj_str("digest"); - cfg.cred_info[0].username = pj_str(SIP_USER); - cfg.cred_info[0].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD; - cfg.cred_info[0].data = pj_str(SIP_PASSWD); - - status = pjsua_acc_add(&cfg, PJ_TRUE, &g_acc_id); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error adding account", status); - pjsua_destroy(); - return status; - } - } - - if (SIP_DST_URI) { - pjsua_buddy_config bcfg; - - pjsua_buddy_config_default(&bcfg); - bcfg.uri = pj_str(SIP_DST_URI); - bcfg.subscribe = PJ_FALSE; - - pjsua_buddy_add(&bcfg, &g_buddy_id); - } - return PJ_SUCCESS; -} - - -//////////////////////////////////////////////////////////////////////////// -/* - * The interractive console UI - */ -#include <e32base.h> - -class ConsoleUI : public CActive -{ -public: - ConsoleUI(CConsoleBase *con); - ~ConsoleUI(); - - // Run console UI - void Run(); - - // Stop - void Stop(); - -protected: - // Cancel asynchronous read. - void DoCancel(); - - // Implementation: called when read has completed. - void RunL(); - -private: - CConsoleBase *con_; -}; - - -ConsoleUI::ConsoleUI(CConsoleBase *con) -: CActive(EPriorityStandard), con_(con) -{ - CActiveScheduler::Add(this); -} - -ConsoleUI::~ConsoleUI() -{ - Stop(); -} - -// Run console UI -void ConsoleUI::Run() -{ - con_->Read(iStatus); - SetActive(); -} - -// Stop console UI -void ConsoleUI::Stop() -{ - Cancel(); -} - -// Cancel asynchronous read. -void ConsoleUI::DoCancel() -{ - con_->ReadCancel(); -} - -static void PrintMainMenu() -{ - const char *menu = - "\n\n" - "Main Menu:\n" - " d Enable/disable codecs\n" - " m Call " SIP_DST_URI "\n" - " a Answer call\n" - " g Hangup all calls\n" - " t Toggle audio route\n" -#if !defined(PJMEDIA_CONF_USE_SWITCH_BOARD) || PJMEDIA_CONF_USE_SWITCH_BOARD==0 - " j Toggle loopback audio\n" -#endif - "up/dn Increase/decrease output volume\n" - " s Subscribe " SIP_DST_URI "\n" - " S Unsubscribe presence\n" - " o Set account online\n" - " O Set account offline\n" - " w Quit\n"; - - PJ_LOG(3, (THIS_FILE, menu)); -} - -static void PrintCodecMenu() -{ - const char *menu = - "\n\n" - "Codec Menu:\n" - " a Enable all codecs\n" -#if PJMEDIA_HAS_PASSTHROUGH_CODECS && PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR - " d Enable only AMR\n" -#endif -#if PJMEDIA_HAS_PASSTHROUGH_CODECS && PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 - " g Enable only G.729\n" -#endif -#if PJMEDIA_HAS_PASSTHROUGH_CODECS && PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC - " j Enable only iLBC\n" -#endif - " m Enable only Speex\n" - " p Enable only GSM\n" - " t Enable only PCMU\n" - " w Enable only PCMA\n"; - - PJ_LOG(3, (THIS_FILE, menu)); -} - -static void HandleMainMenu(TKeyCode kc) { - switch (kc) { - - case EKeyUpArrow: - case EKeyDownArrow: - { - unsigned vol; - pj_status_t status; - - status = pjsua_snd_get_setting( - PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, &vol); - if (status == PJ_SUCCESS) { - if (kc == EKeyUpArrow) - vol = PJ_MIN(100, vol+10); - else - vol = (vol>=10 ? vol-10 : 0); - status = pjsua_snd_set_setting( - PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, - &vol, PJ_TRUE); - } - - if (status == PJ_SUCCESS) { - PJ_LOG(3,(THIS_FILE, "Output volume set to %d", vol)); - } else { - pjsua_perror(THIS_FILE, "Error setting volume", status); - } - } - break; - - case 't': - { - pjmedia_aud_dev_route route; - pj_status_t status; - - status = pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, - &route); - - if (status == PJ_SUCCESS) { - if (route == PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER) - route = PJMEDIA_AUD_DEV_ROUTE_EARPIECE; - else - route = PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER; - - status = pjsua_snd_set_setting( - PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, - &route, PJ_TRUE); - } - - if (status != PJ_SUCCESS) - pjsua_perror(THIS_FILE, "Error switch audio route", status); - } - break; - - case 'j': - { - static pj_bool_t loopback_active = PJ_FALSE; - if (!loopback_active) - pjsua_conf_connect(0, 0); - else - pjsua_conf_disconnect(0, 0); - loopback_active = !loopback_active; - } - break; - - case 'm': - if (g_call_id != PJSUA_INVALID_ID) { - PJ_LOG(3,(THIS_FILE, "Another call is active")); - break; - } - - if (pjsua_verify_url(SIP_DST_URI) == PJ_SUCCESS) { - pj_str_t dst = pj_str(SIP_DST_URI); - pjsua_call_make_call(g_acc_id, &dst, 0, NULL, - NULL, &g_call_id); - } else { - PJ_LOG(3,(THIS_FILE, "Invalid SIP URI")); - } - break; - case 'a': - if (g_call_id != PJSUA_INVALID_ID) - pjsua_call_answer(g_call_id, 200, NULL, NULL); - break; - case 'g': - pjsua_call_hangup_all(); - break; - case 's': - case 'S': - if (g_buddy_id != PJSUA_INVALID_ID) - pjsua_buddy_subscribe_pres(g_buddy_id, kc=='s'); - break; - case 'o': - case 'O': - pjsua_acc_set_online_status(g_acc_id, kc=='o'); - break; - - default: - PJ_LOG(3,(THIS_FILE, "Keycode '%c' (%d) is pressed", kc, kc)); - break; - } - - PrintMainMenu(); -} - -static void HandleCodecMenu(TKeyCode kc) { - const pj_str_t ID_ALL = {"*", 1}; - pj_str_t codec = {NULL, 0}; - - if (kc == 'a') { - pjsua_codec_set_priority(&ID_ALL, PJMEDIA_CODEC_PRIO_NORMAL); - PJ_LOG(3,(THIS_FILE, "All codecs activated")); - } else { - switch (kc) { - case 'd': - codec = pj_str("AMR"); - break; - case 'g': - codec = pj_str("G729"); - break; - case 'j': - codec = pj_str("ILBC"); - break; - case 'm': - codec = pj_str("SPEEX/8000"); - break; - case 'p': - codec = pj_str("GSM"); - break; - case 't': - codec = pj_str("PCMU"); - break; - case 'w': - codec = pj_str("PCMA"); - break; - default: - PJ_LOG(3,(THIS_FILE, "Keycode '%c' (%d) is pressed", kc, kc)); - break; - } - - if (codec.slen) { - pj_status_t status; - - pjsua_codec_set_priority(&ID_ALL, PJMEDIA_CODEC_PRIO_DISABLED); - - status = pjsua_codec_set_priority(&codec, - PJMEDIA_CODEC_PRIO_NORMAL); - if (status == PJ_SUCCESS) - PJ_LOG(3,(THIS_FILE, "%s activated", codec.ptr)); - else - PJ_LOG(3,(THIS_FILE, "Failed activating %s, err=%d", - codec.ptr, status)); - } - } -} - -// Implementation: called when read has completed. -void ConsoleUI::RunL() -{ - enum { - MENU_TYPE_MAIN = 0, - MENU_TYPE_CODEC = 1 - }; - static int menu_type = MENU_TYPE_MAIN; - TKeyCode kc = con_->KeyCode(); - pj_bool_t reschedule = PJ_TRUE; - - if (menu_type == MENU_TYPE_MAIN) { - if (kc == 'w') { - CActiveScheduler::Stop(); - reschedule = PJ_FALSE; - } else if (kc == 'd') { - menu_type = MENU_TYPE_CODEC; - PrintCodecMenu(); - } else { - HandleMainMenu(kc); - } - } else { - HandleCodecMenu(kc); - - menu_type = MENU_TYPE_MAIN; - PrintMainMenu(); - } - - if (reschedule) - Run(); -} - -#if 0 -// IP networking related testing -static pj_status_t test_addr(void) -{ - int af; - unsigned i, count; - pj_addrinfo ai[8]; - pj_sockaddr ifs[8]; - const pj_str_t *hostname; - pj_hostent he; - pj_status_t status; - - pj_log_set_log_func(&log_writer); - - status = pj_init(); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pj_init() error", status); - return status; - } - - af = pj_AF_INET(); - -#if 0 - pj_in_addr in_addr; - pj_str_t aa = pj_str("1.1.1.1"); - in_addr = pj_inet_addr(&aa); - char *the_addr = pj_inet_ntoa(in_addr); - PJ_LOG(3,(THIS_FILE, "IP addr=%s", the_addr)); - - aa = pj_str("192.168.0.15"); - in_addr = pj_inet_addr(&aa); - the_addr = pj_inet_ntoa(in_addr); - PJ_LOG(3,(THIS_FILE, "IP addr=%s", the_addr)); - - aa = pj_str("2.2.2.2"); - in_addr = pj_inet_addr(&aa); - the_addr = pj_inet_ntoa(in_addr); - PJ_LOG(3,(THIS_FILE, "IP addr=%s", the_addr)); - - return -1; -#endif - - // Hostname - hostname = pj_gethostname(); - if (hostname == NULL) { - status = PJ_ERESOLVE; - pjsua_perror(THIS_FILE, "pj_gethostname() error", status); - goto on_return; - } - - PJ_LOG(3,(THIS_FILE, "Hostname: %.*s", hostname->slen, hostname->ptr)); - - // Gethostbyname - status = pj_gethostbyname(hostname, &he); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pj_gethostbyname() error", status); - } else { - PJ_LOG(3,(THIS_FILE, "gethostbyname: %s", - pj_inet_ntoa(*(pj_in_addr*)he.h_addr))); - } - - // Getaddrinfo - count = PJ_ARRAY_SIZE(ai); - status = pj_getaddrinfo(af, hostname, &count, ai); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pj_getaddrinfo() error", status); - } else { - for (i=0; i<count; ++i) { - char ipaddr[PJ_INET6_ADDRSTRLEN+2]; - PJ_LOG(3,(THIS_FILE, "Addrinfo: %s", - pj_sockaddr_print(&ai[i].ai_addr, ipaddr, sizeof(ipaddr), 2))); - } - } - - // Enum interface - count = PJ_ARRAY_SIZE(ifs); - status = pj_enum_ip_interface(af, &count, ifs); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pj_enum_ip_interface() error", status); - } else { - for (i=0; i<count; ++i) { - char ipaddr[PJ_INET6_ADDRSTRLEN+2]; - PJ_LOG(3,(THIS_FILE, "Interface: %s", - pj_sockaddr_print(&ifs[i], ipaddr, sizeof(ipaddr), 2))); - } - } - - // Get default iinterface - status = pj_getdefaultipinterface(af, &ifs[0]); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pj_getdefaultipinterface() error", status); - } else { - char ipaddr[PJ_INET6_ADDRSTRLEN+2]; - PJ_LOG(3,(THIS_FILE, "Default IP: %s", - pj_sockaddr_print(&ifs[0], ipaddr, sizeof(ipaddr), 2))); - } - - // Get default IP address - status = pj_gethostip(af, &ifs[0]); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pj_gethostip() error", status); - } else { - char ipaddr[PJ_INET6_ADDRSTRLEN+2]; - PJ_LOG(3,(THIS_FILE, "Host IP: %s", - pj_sockaddr_print(&ifs[0], ipaddr, sizeof(ipaddr), 2))); - } - - status = -1; - -on_return: - pj_shutdown(); - return status; -} -#endif - - -#include <es_sock.h> - -#if 0 -// Force network connection to use the first IAP, -// this is useful for debugging on emulator without GUI. -// Include commdb.lib & apengine.lib in symbian_ua.mmp file -// if this is enabled. - -#include <apdatahandler.h> - -inline void ForceUseFirstIAP() -{ - TUint32 rank = 1; - TUint32 bearers; - TUint32 prompt; - TUint32 iap; - - CCommsDatabase* commDb = CCommsDatabase::NewL(EDatabaseTypeIAP); - CleanupStack::PushL(commDb); - - CApDataHandler* apDataHandler = CApDataHandler::NewLC(*commDb); - - TCommDbConnectionDirection direction = ECommDbConnectionDirectionOutgoing; - apDataHandler->GetPreferredIfDbIapTypeL(rank, direction, bearers, prompt, iap); - prompt = ECommDbDialogPrefDoNotPrompt; - apDataHandler->SetPreferredIfDbIapTypeL(rank, direction, bearers, (TCommDbDialogPref)prompt, iap, ETrue); - CleanupStack::PopAndDestroy(2); // apDataHandler, commDb -} - -static void SelectIAP() -{ - ForceUseFirstIAP(); -} - -#else - -static void SelectIAP() -{ -} - -#endif - - -// Class CConnMon to monitor network connection (RConnection). Whenever -// the connection is down, it will notify PJLIB and restart PJSUA-LIB. -class CConnMon : public CActive { -public: - static CConnMon* NewL(RConnection &conn, RSocketServ &sserver) { - CConnMon *self = new (ELeave) CConnMon(conn, sserver); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - - void Start() { - conn_.ProgressNotification(nif_progress_, iStatus); - SetActive(); - } - - void Stop() { - Cancel(); - } - - ~CConnMon() { Stop(); } - -private: - CConnMon(RConnection &conn, RSocketServ &sserver) : - CActive(EPriorityHigh), - conn_(conn), - sserver_(sserver) - { - CActiveScheduler::Add(this); - } - - void ConstructL() {} - - void DoCancel() { - conn_.CancelProgressNotification(); - } - - void RunL() { - int stage = nif_progress_().iStage; - - if (stage == KLinkLayerClosed) { - pj_status_t status; - TInt err; - - // Tell pjlib that connection is down. - pj_symbianos_set_connection_status(PJ_FALSE); - - PJ_LOG(3, (THIS_FILE, "RConnection closed, restarting PJSUA..")); - - // Destroy pjsua - pjsua_destroy(); - PJ_LOG(3, (THIS_FILE, "PJSUA destroyed.")); - - // Reopen the connection - err = conn_.Open(sserver_); - if (err == KErrNone) - err = conn_.Start(); - if (err != KErrNone) { - CActiveScheduler::Stop(); - return; - } - - // Reinit Symbian OS param before pj_init() - pj_symbianos_params sym_params; - pj_bzero(&sym_params, sizeof(sym_params)); - sym_params.rsocketserv = &sserver_; - sym_params.rconnection = &conn_; - pj_symbianos_set_params(&sym_params); - - // Reinit pjsua - status = app_startup(); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "app_startup() error", status); - CActiveScheduler::Stop(); - return; - } - - PJ_LOG(3, (THIS_FILE, "PJSUA restarted.")); - PrintMainMenu(); - } - - Start(); - } - - RConnection& conn_; - RSocketServ& sserver_; - TNifProgressBuf nif_progress_; -}; - -//////////////////////////////////////////////////////////////////////////// -int ua_main() -{ - RSocketServ aSocketServer; - RConnection aConn; - TInt err; - pj_symbianos_params sym_params; - pj_status_t status; - - SelectIAP(); - - // Initialize RSocketServ - if ((err=aSocketServer.Connect(32)) != KErrNone) - return PJ_STATUS_FROM_OS(err); - - // Open up a connection - if ((err=aConn.Open(aSocketServer)) != KErrNone) { - aSocketServer.Close(); - return PJ_STATUS_FROM_OS(err); - } - - if ((err=aConn.Start()) != KErrNone) { - aSocketServer.Close(); - return PJ_STATUS_FROM_OS(err); - } - - // Set Symbian OS parameters in pjlib. - // This must be done before pj_init() is called. - pj_bzero(&sym_params, sizeof(sym_params)); - sym_params.rsocketserv = &aSocketServer; - sym_params.rconnection = &aConn; - pj_symbianos_set_params(&sym_params); - - // Initialize pjsua - status = app_startup(); - //status = test_addr(); - if (status != PJ_SUCCESS) { - aConn.Close(); - aSocketServer.Close(); - return status; - } - - - // Run the UI - ConsoleUI *con = new ConsoleUI(console); - - con->Run(); - PrintMainMenu(); - - // Init & start connection monitor - CConnMon *connmon = CConnMon::NewL(aConn, aSocketServer); - connmon->Start(); - - CActiveScheduler::Start(); - - delete connmon; - delete con; - - // Dump memory statistics - PJ_LOG(3,(THIS_FILE, "Max heap usage: %u.%03uMB", - pjsua_var.cp.peak_used_size / 1000000, - (pjsua_var.cp.peak_used_size % 1000000)/1000)); - - // check max stack usage -#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 - pj_thread_t* this_thread = pj_thread_this(); - if (!this_thread) - return status; - - const char* max_stack_file; - int max_stack_line; - status = pj_thread_get_stack_info(this_thread, &max_stack_file, &max_stack_line); - - PJ_LOG(3,(THIS_FILE, "Max stack usage: %u at %s:%d", - pj_thread_get_stack_max_usage(this_thread), - max_stack_file, max_stack_line)); -#endif - - // Shutdown pjsua - pjsua_destroy(); - - // Close connection and socket server - aConn.Close(); - aSocketServer.Close(); - - return status; -} - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.l01 b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.l01 deleted file mode 100644 index c2a81405585f4df97584afc44602b3f61c6bddc0..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.l01 +++ /dev/null @@ -1,12 +0,0 @@ -/* -======================================================================== - Name : symbian_ua_gui.l01 - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -// localized strings for language: UK English (01) -#define STR_symbian_ua_guiApplication_1 "symbian_ua_gui" -#define STR_symbian_ua_guiApplication_2 "symbian_ua_gui" -#define STR_symbian_ua_guiApplication_3 "Please wait..." diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.rss b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.rss deleted file mode 100644 index c502c33bf9cc46ec9b3e33abc285acee211850db..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.rss +++ /dev/null @@ -1,71 +0,0 @@ -/* -======================================================================== - Name : symbian_ua_gui.rss - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -NAME SYMB - -#include <avkon.rsg> -#include <avkon.rh> -#include <eikon.rh> -#include <appinfo.rh> -#include "symbian_ua_gui.hrh" -#include "symbian_ua_gui.loc" - -RESOURCE RSS_SIGNATURE - { - } -RESOURCE TBUF - { - buf = "symbian_ua_gui"; - } -RESOURCE EIK_APP_INFO r_application_symbian_ua_gui_app_ui - { - cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT; - status_pane = r_application_status_pane; - } -RESOURCE STATUS_PANE_APP_MODEL r_application_status_pane - { - } -RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info - { - short_caption = STR_symbian_ua_guiApplication_2; - caption_and_icon = CAPTION_AND_ICON_INFO - { - caption = STR_symbian_ua_guiApplication_1; - number_of_icons = 0; - }; - } -RESOURCE TBUF r_application_akn_view_reference1 - { - } - -RESOURCE TBUF r_application_akn_view_reference2 - { - } - -RESOURCE DIALOG r_application_dlg_wait_init - { - flags = EAknWaitNoteFlags; - buttons = R_AVKON_SOFTKEYS_CANCEL; - items = - { - DLG_LINE - { - type = EAknCtNote; - id = ESymbian_ua_guiApplicationDlg_wait_init; - control = AVKON_NOTE - { - layout = EWaitLayout; - singular_label = STR_symbian_ua_guiApplication_3; - animation = R_QGN_GRAF_WAIT_BAR_ANIM; - }; - } - }; - } - -#include "symbian_ua_guiContainer.rssi" -#include "symbian_ua_guiSettingItemList.rssi" diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.l01 b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.l01 deleted file mode 100644 index ddf47ce0a9d9a019eac1b6a0e17e663296e9de19..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.l01 +++ /dev/null @@ -1,21 +0,0 @@ -/* -======================================================================== - Name : symbian_ua_guiContainer.l01 - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -// localized strings for language: UK English (01) -#define STR_symbian_ua_guiContainerView_1 "PJSUA for S60" -#define STR_symbian_ua_guiContainerView_7 "Options" -#define STR_symbian_ua_guiContainerView_8 "Call" -#define STR_symbian_ua_guiContainerView_2 "URL" -#define STR_symbian_ua_guiContainerView_4 "sip:" -#define STR_symbian_ua_guiContainerView_9 "Setting" -#define STR_symbian_ua_guiContainerView_10 "Exit" -#define STR_symbian_ua_guiContainerView_3 "" -#define STR_symbian_ua_guiContainerView_13 "Failed initializing PJSUA!" -#define STR_symbian_ua_guiContainerView_16 "Register Success" -#define STR_symbian_ua_guiContainerView_17 "Register Failed" -#define STR_symbian_ua_guiContainerView_18 "Accept Call" diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.rssi b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.rssi deleted file mode 100644 index 541928959db2e67713aa24ee650a05a60a228c0d..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.rssi +++ /dev/null @@ -1,141 +0,0 @@ -/* -======================================================================== - Name : symbian_ua_guiContainer.rssi - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -#include "symbian_ua_guiContainer.hrh" -#include "symbian_ua_guiContainer.loc" - -RESOURCE AVKON_VIEW r_symbian_ua_gui_container_symbian_ua_gui_container_view - { - cba = r_symbian_ua_gui_container_control_pane; - menubar = r_symbian_ua_gui_container_options_menu; - } -RESOURCE MENU_BAR r_symbian_ua_gui_container_options_menu - {titles = - { - MENU_TITLE - { - menu_pane = r_symbian_ua_gui_container_menu_pane1_menu_pane; - } - }; - - } -RESOURCE STATUS_PANE_APP_MODEL r_symbian_ua_gui_container_status_pane - { - panes = - { - SPANE_PANE - { - id = EEikStatusPaneUidTitle; - type = EAknCtTitlePane; - resource = r_symbian_ua_gui_container_title_resource; - } - }; - } -RESOURCE TITLE_PANE r_symbian_ua_gui_container_title_resource - { - txt = STR_symbian_ua_guiContainerView_1; - } -RESOURCE CBA r_symbian_ua_gui_container_control_pane - { - buttons = - { - CBA_BUTTON - { - id = EAknSoftkeyOptions; - txt = STR_symbian_ua_guiContainerView_7; - }, - CBA_BUTTON - { - id = ESymbian_ua_guiContainerViewControlPaneRightId; - txt = STR_symbian_ua_guiContainerView_8; - } - }; - } -RESOURCE LABEL r_symbian_ua_gui_container_label1 - { - txt = STR_symbian_ua_guiContainerView_2; - horiz_align = EEikLabelAlignHCenter; - } -RESOURCE EDWIN r_symbian_ua_gui_container_ed_url - { - maxlength = 255; - default_case = EAknEditorLowerCase; - allowed_case_modes = EAknEditorAllCaseModes; - numeric_keymap = EAknEditorStandardNumberModeKeymap; - default_input_mode = EAknEditorTextInputMode; - allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorHalfWidthTextInputMode; - special_character_table = R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG; - avkon_flags = EAknEditorFlagNoT9 | EAknEditorFlagSupressShiftMenu; - } -RESOURCE TBUF r_symbian_ua_gui_container_ed_url_2 - { - buf = STR_symbian_ua_guiContainerView_4; - } -RESOURCE MENU_PANE r_symbian_ua_gui_container_menu_pane1_menu_pane - { - items = - { - MENU_ITEM - { - command = ESymbian_ua_guiContainerViewSettingMenuItemCommand; - txt = STR_symbian_ua_guiContainerView_9; - }, - MENU_ITEM - { - command = EAknCmdExit; - txt = STR_symbian_ua_guiContainerView_10; - } - }; - } -RESOURCE EDWIN r_symbian_ua_gui_container_ed_info - { - flags = EEikEdwinReadOnly; - lines = 10; - maxlength = 2000; - default_case = EAknEditorTextCase; - allowed_case_modes = EAknEditorAllCaseModes; - numeric_keymap = EAknEditorStandardNumberModeKeymap; - default_input_mode = EAknEditorTextInputMode; - allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorKatakanaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorFullWidthKatakanaInputMode | EAknEditorHiraganaKanjiInputMode | EAknEditorHalfWidthTextInputMode; - avkon_flags = EAknEditorFlagNoEditIndicators | EAknEditorFlagEnableScrollBars; - special_character_table = 0; - } -RESOURCE TBUF r_symbian_ua_gui_container_ed_info_2 - { - buf = STR_symbian_ua_guiContainerView_3; - } -RESOURCE TBUF r_symbian_ua_gui_container_note_error - { - buf = STR_symbian_ua_guiContainerView_13; - } -RESOURCE TBUF r_symbian_ua_gui_container_note_info - { - buf = STR_symbian_ua_guiContainerView_16; - } -RESOURCE TBUF r_symbian_ua_gui_container_note_warning - { - buf = STR_symbian_ua_guiContainerView_17; - } -RESOURCE DIALOG r_symbian_ua_gui_container_qry_accept_call - { - flags = EAknGeneralQueryFlags; - buttons = R_AVKON_SOFTKEYS_YES_NO; - items = - { - DLG_LINE - { - type = EAknCtQuery; - id = ESymbian_ua_guiContainerViewQry_accept_call; - control = AVKON_CONFIRMATION_QUERY - { - layout = EConfirmationQueryLayout; - label = STR_symbian_ua_guiContainerView_18; - }; - } - }; - } diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.l01 b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.l01 deleted file mode 100644 index 1f812f5c3a633295c8c221b7287b7dd4d0871245..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.l01 +++ /dev/null @@ -1,31 +0,0 @@ -/* -======================================================================== - Name : symbian_ua_guiSettingItemList.l01 - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -// localized strings for language: UK English (01) -#define STR_symbian_ua_guiSettingItemListView_1 "Settings" -#define STR_symbian_ua_guiSettingItemListView_2 "Account Settings" -#define STR_symbian_ua_guiSettingItemListView_4 "Change" -#define STR_symbian_ua_guiSettingItemListView_16 "Password" -#define STR_symbian_ua_guiSettingItemListView_18 "" -#define STR_symbian_ua_guiSettingItemListView_19 "STUN Server" -#define STR_symbian_ua_guiSettingItemListView_24 "SRTP" -#define STR_symbian_ua_guiSettingItemListView_25 "On" -#define STR_symbian_ua_guiSettingItemListView_26 "Popup text for On" -#define STR_symbian_ua_guiSettingItemListView_27 "Off" -#define STR_symbian_ua_guiSettingItemListView_28 "Popup text for Off" -#define STR_symbian_ua_guiSettingItemListView_3 "" -#define STR_symbian_ua_guiSettingItemListView_5 "Registrar" -#define STR_symbian_ua_guiSettingItemListView_7 "" -#define STR_symbian_ua_guiSettingItemListView_8 "User" -#define STR_symbian_ua_guiSettingItemListView_46 "ICE" -#define STR_symbian_ua_guiSettingItemListView_47 "On" -#define STR_symbian_ua_guiSettingItemListView_48 "Popup text for On" -#define STR_symbian_ua_guiSettingItemListView_49 "Off" -#define STR_symbian_ua_guiSettingItemListView_140 "Options" -#define STR_symbian_ua_guiSettingItemListView_141 "Done" -#define STR_symbian_ua_guiSettingItemListView_50 "Popup text for Off" diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.rssi b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.rssi deleted file mode 100644 index c8a4b30d95384c73227f1b9e1f6e3244aec7bfc6..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.rssi +++ /dev/null @@ -1,275 +0,0 @@ -/* -======================================================================== - Name : symbian_ua_guiSettingItemList.rssi - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -#include "symbian_ua_guiSettingItemList.hrh" -#include "symbian_ua_guiSettingItemList.loc" - -RESOURCE AVKON_VIEW r_symbian_ua_gui_setting_item_list_symbian_ua_gui_setting_item_list_view - { - cba = r_symbian_ua_gui_setting_item_list_control_pane; - menubar = r_symbian_ua_gui_setting_item_list_options_menu; - } -RESOURCE MENU_BAR r_symbian_ua_gui_setting_item_list_options_menu - { - titles = - { - MENU_TITLE - { - menu_pane = r_symbian_ua_gui_setting_item_list_menu_pane1_menu_pane; - } - }; - } -RESOURCE MENU_PANE r_symbian_ua_gui_setting_item_list_menu_pane1_menu_pane - { - items = - { - MENU_ITEM - { - command = ESymbian_ua_guiSettingItemListViewMenuItem1Command; - txt = STR_symbian_ua_guiSettingItemListView_4; - } - }; - } -RESOURCE STATUS_PANE_APP_MODEL r_symbian_ua_gui_setting_item_list_status_pane - { - panes = - { - SPANE_PANE - { - id = EEikStatusPaneUidTitle; - type = EAknCtTitlePane; - resource = r_symbian_ua_gui_setting_item_list_title_resource; - } - }; - } -RESOURCE TITLE_PANE r_symbian_ua_gui_setting_item_list_title_resource - { - txt = STR_symbian_ua_guiSettingItemListView_2; - } -RESOURCE AVKON_SETTING_ITEM_LIST r_symbian_ua_gui_setting_item_list_symbian_ua_gui_setting_item_list - { - items = - { - AVKON_SETTING_ITEM - { - name = STR_symbian_ua_guiSettingItemListView_5; - identifier = ESymbian_ua_guiSettingItemListViewEd_registrar; - setting_page_resource = r_symbian_ua_gui_setting_item_list_ed_registrar_setting_page_resource; - }, - AVKON_SETTING_ITEM - { - name = STR_symbian_ua_guiSettingItemListView_8; - identifier = ESymbian_ua_guiSettingItemListViewEd_user; - setting_page_resource = r_symbian_ua_gui_setting_item_list_ed_user_setting_page_resource; - }, - AVKON_SETTING_ITEM - { - name = STR_symbian_ua_guiSettingItemListView_16; - identifier = ESymbian_ua_guiSettingItemListViewEd_password; - setting_page_resource = r_symbian_ua_gui_setting_item_list_ed_password_setting_page_resource; - }, - AVKON_SETTING_ITEM - { - name = STR_symbian_ua_guiSettingItemListView_24; - identifier = ESymbian_ua_guiSettingItemListViewB_srtp; - setting_page_resource = r_symbian_ua_gui_setting_item_list_b_srtp_setting_page_resource; - associated_resource = r_symbian_ua_gui_setting_item_list_b_srtp; - }, - AVKON_SETTING_ITEM - { - name = STR_symbian_ua_guiSettingItemListView_46; - identifier = ESymbian_ua_guiSettingItemListViewB_ice; - setting_page_resource = r_symbian_ua_gui_setting_item_list_b_ice_setting_page_resource; - associated_resource = r_symbian_ua_gui_setting_item_list_b_ice; - }, - AVKON_SETTING_ITEM - { - name = STR_symbian_ua_guiSettingItemListView_19; - identifier = ESymbian_ua_guiSettingItemListViewEd_stun_server; - setting_page_resource = r_symbian_ua_gui_setting_item_list_ed_stun_server_setting_page_resource; - } - }; - } -RESOURCE CBA r_symbian_ua_gui_setting_item_list_control_pane - { - buttons = - { - CBA_BUTTON - { - id = EAknSoftkeyOptions; - txt = STR_symbian_ua_guiSettingItemListView_140; - }, - CBA_BUTTON - { - id = EAknSoftkeySave; - txt = STR_symbian_ua_guiSettingItemListView_141; - } - }; - } -RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_ed_registrar_setting_page_resource - { - number = -16380; - label = STR_symbian_ua_guiSettingItemListView_5; - type = EEikCtEdwin; - editor_resource_id = r_symbian_ua_gui_setting_item_list_ed_registrar_editor_resource_id; - } -RESOURCE EDWIN r_symbian_ua_gui_setting_item_list_ed_registrar_editor_resource_id - { - maxlength = 255; - default_case = EAknEditorLowerCase; - allowed_case_modes = EAknEditorAllCaseModes; - numeric_keymap = EAknEditorStandardNumberModeKeymap; - default_input_mode = EAknEditorTextInputMode; - allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorKatakanaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorFullWidthKatakanaInputMode | EAknEditorHiraganaKanjiInputMode | EAknEditorHalfWidthTextInputMode; - special_character_table = 0; - } -RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_ed_user_setting_page_resource - { - number = -16380; - label = STR_symbian_ua_guiSettingItemListView_8; - type = EEikCtEdwin; - editor_resource_id = r_symbian_ua_gui_setting_item_list_ed_user_editor_resource_id; - } -RESOURCE EDWIN r_symbian_ua_gui_setting_item_list_ed_user_editor_resource_id - { - maxlength = 255; - default_case = EAknEditorLowerCase; - allowed_case_modes = EAknEditorAllCaseModes; - numeric_keymap = EAknEditorStandardNumberModeKeymap; - default_input_mode = EAknEditorTextInputMode; - allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorKatakanaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorFullWidthKatakanaInputMode | EAknEditorHiraganaKanjiInputMode | EAknEditorHalfWidthTextInputMode; - special_character_table = 0; - } -RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_ed_password_setting_page_resource - { - number = -16380; - label = STR_symbian_ua_guiSettingItemListView_16; - type = EEikCtSecretEd; - editor_resource_id = r_symbian_ua_gui_setting_item_list_ed_password_editor_resource_id; - } -RESOURCE SECRETED r_symbian_ua_gui_setting_item_list_ed_password_editor_resource_id - {num_letters = 32; - - } -RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_ed_stun_server_setting_page_resource - { - number = -16380; - label = STR_symbian_ua_guiSettingItemListView_19; - type = EEikCtEdwin; - editor_resource_id = r_symbian_ua_gui_setting_item_list_ed_stun_server_editor_resource_id; - } -RESOURCE EDWIN r_symbian_ua_gui_setting_item_list_ed_stun_server_editor_resource_id - { - maxlength = 255; - default_case = EAknEditorTextCase; - allowed_case_modes = EAknEditorAllCaseModes; - numeric_keymap = EAknEditorStandardNumberModeKeymap; - default_input_mode = EAknEditorTextInputMode; - allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode | EAknEditorSecretAlphaInputMode | EAknEditorKatakanaInputMode | EAknEditorFullWidthTextInputMode | EAknEditorFullWidthNumericInputMode | EAknEditorFullWidthKatakanaInputMode | EAknEditorHiraganaKanjiInputMode | EAknEditorHalfWidthTextInputMode; - special_character_table = 0; - } -RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_b_srtp_setting_page_resource - { - number = -16380; - label = STR_symbian_ua_guiSettingItemListView_24; - type = EAknCtPopupSettingList; - editor_resource_id = r_symbian_ua_gui_setting_item_list_b_srtp_editor_resource_id; - } -RESOURCE POPUP_SETTING_LIST r_symbian_ua_gui_setting_item_list_b_srtp_editor_resource_id - { - } -RESOURCE AVKON_POPUP_SETTING_TEXTS r_symbian_ua_gui_setting_item_list_b_srtp - { - setting_texts_resource = r_symbian_ua_gui_setting_item_list_b_srtp_setting_texts_resource; - popped_up_texts_resource = r_symbian_ua_gui_setting_item_list_b_srtp_popped_up_texts_resource; - } -RESOURCE ARRAY r_symbian_ua_gui_setting_item_list_b_srtp_setting_texts_resource - { - items = - { - AVKON_ENUMERATED_TEXT - { - text = STR_symbian_ua_guiSettingItemListView_25; - value = 1; - }, - AVKON_ENUMERATED_TEXT - { - text = STR_symbian_ua_guiSettingItemListView_27; - } - }; - } -RESOURCE ARRAY r_symbian_ua_gui_setting_item_list_b_srtp_popped_up_texts_resource - { - items = - { - LBUF - { - txt = STR_symbian_ua_guiSettingItemListView_26; - }, - LBUF - { - txt = STR_symbian_ua_guiSettingItemListView_28; - } - }; - } -RESOURCE AVKON_SETTING_PAGE r_symbian_ua_gui_setting_item_list_b_ice_setting_page_resource - { - number = -16380; - label = STR_symbian_ua_guiSettingItemListView_46; - type = EAknCtPopupSettingList; - editor_resource_id = r_symbian_ua_gui_setting_item_list_b_ice_editor_resource_id; - } -RESOURCE POPUP_SETTING_LIST r_symbian_ua_gui_setting_item_list_b_ice_editor_resource_id - { - } -RESOURCE AVKON_POPUP_SETTING_TEXTS r_symbian_ua_gui_setting_item_list_b_ice - { - setting_texts_resource = r_symbian_ua_gui_setting_item_list_b_ice_setting_texts_resource; - popped_up_texts_resource = r_symbian_ua_gui_setting_item_list_b_ice_popped_up_texts_resource; - } -RESOURCE ARRAY r_symbian_ua_gui_setting_item_list_b_ice_setting_texts_resource - { - items = - { - AVKON_ENUMERATED_TEXT - { - text = STR_symbian_ua_guiSettingItemListView_47; - value = 1; - }, - AVKON_ENUMERATED_TEXT - { - text = STR_symbian_ua_guiSettingItemListView_49; - } - }; - } -RESOURCE ARRAY r_symbian_ua_gui_setting_item_list_b_ice_popped_up_texts_resource - { - items = - { - LBUF - { - txt = STR_symbian_ua_guiSettingItemListView_48; - }, - LBUF - { - txt = STR_symbian_ua_guiSettingItemListView_50; - } - }; - } -RESOURCE TBUF r_symbian_ua_gui_setting_item_list_ed_registrar - { - buf = STR_symbian_ua_guiSettingItemListView_3; - } -RESOURCE TBUF r_symbian_ua_gui_setting_item_list_ed_user - { - buf = STR_symbian_ua_guiSettingItemListView_7; - } -RESOURCE TBUF r_symbian_ua_gui_setting_item_list_ed_stun_server - { - buf = STR_symbian_ua_guiSettingItemListView_18; - } diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/bld.inf b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/bld.inf deleted file mode 100644 index dcdef78ffa8b9f127b497dc6b6fd0a6dc45ebe1c..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/bld.inf +++ /dev/null @@ -1,12 +0,0 @@ - -PRJ_PLATFORMS -WINSCW ARMV5 GCCE - -PRJ_EXPORTS - -PRJ_MMPFILES - -gnumakefile icons_aif_scalable_dc.mk - - -symbian_ua_gui.mmp diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp deleted file mode 100644 index 1d6b2e79d4bb6a1103d8c5f4787269879b8d7c48..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/symbian_ua_gui.mmp +++ /dev/null @@ -1,102 +0,0 @@ -// The part below will be overwritten by automated test -// =BEGIN -#define SND_HAS_APS 0 -#define SND_HAS_VAS 0 -#define SND_HAS_MDA 1 -// =END - -TARGET symbian_ua_gui.exe -UID 0x100039CE 0xEBD12EE4 -VENDORID 0 -TARGETTYPE exe -EPOCSTACKSIZE 0x8000 - -MACRO PJ_M_I386=1 -MACRO PJ_SYMBIAN=1 - -SYSTEMINCLUDE \epoc32\include -SYSTEMINCLUDE \epoc32\include\variant -SYSTEMINCLUDE \epoc32\include\ecom -SYSTEMINCLUDE \epoc32\include\libc -SYSTEMINCLUDE ..\..\..\..\pjlib\include -SYSTEMINCLUDE ..\..\..\..\pjlib-util\include -SYSTEMINCLUDE ..\..\..\..\pjnath\include -SYSTEMINCLUDE ..\..\..\..\pjmedia\include -SYSTEMINCLUDE ..\..\..\..\pjsip\include - -USERINCLUDE ..\inc -USERINCLUDE ..\data - -SOURCEPATH ..\data - -START RESOURCE symbian_ua_gui.rss -HEADER -TARGETPATH resource\apps -END //RESOURCE - -START RESOURCE symbian_ua_gui_reg.rss -TARGETPATH \private\10003a3f\apps -END //RESOURCE - -LIBRARY euser.lib apparc.lib cone.lib eikcore.lib avkon.lib -LIBRARY commonengine.lib efsrv.lib estor.lib eikcoctl.lib eikdlg.lib -LIBRARY eikctl.lib bafl.lib fbscli.lib aknnotify.lib aknicon.lib -LIBRARY etext.lib gdi.lib egul.lib insock.lib -LIBRARY ecom.lib inetprotutil.lib http.lib esock.lib -LIBRARY charconv.lib estlib.lib -LIBRARY securesocket.lib x509.lib crypto.lib x500.lib -LIBRARY hal.lib - -// Ordering static libs based on dependencies, most to least dependent, -// this could be necessary for some SDKs, e.g: S60 3rd MR -STATICLIBRARY pjsua_lib.lib -STATICLIBRARY pjsip_ua.lib pjsip_simple.lib pjsip.lib -STATICLIBRARY libgsmcodec.lib libspeexcodec.lib -STATICLIBRARY libg7221codec.lib libpassthroughcodec.lib -STATICLIBRARY pjmedia.lib -STATICLIBRARY pjmedia_audiodev.lib -STATICLIBRARY pjsdp.lib -STATICLIBRARY pjnath.lib -STATICLIBRARY pjlib_util.lib pjlib.lib -STATICLIBRARY libsrtp.lib -STATICLIBRARY libresample.lib - - -#if SND_HAS_APS - LIBRARY APSSession2.lib -#endif - -#if SND_HAS_VAS - LIBRARY VoIPAudioIntfc.lib -#endif - -#if SND_HAS_MDA - LIBRARY mediaclientaudiostream.lib - LIBRARY mediaclientaudioinputstream.lib -#endif - -#if SND_HAS_APS || SND_HAS_VAS - CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD -#else - CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment -#endif - -LANG 01 - -START BITMAP symbian_ua_gui.mbm -HEADER -TARGETPATH \resource\apps -SOURCEPATH ..\gfx -SOURCE c12,1 list_icon.bmp list_icon_mask.bmp -END - -SOURCEPATH ..\src -SOURCE symbian_ua_guiContainerView.cpp -SOURCE symbian_ua_guiContainer.cpp -SOURCE symbian_ua_guiAppUi.cpp -SOURCE symbian_ua_guiDocument.cpp -SOURCE symbian_ua_guiApplication.cpp -SOURCE symbian_ua_guiSettingItemList.cpp -SOURCE Symbian_ua_guiSettingItemListSets.cpp -SOURCE symbian_ua_guiSettingItemListView.cpp -SOURCE symbian_ua.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/Symbian_ua_guiSettingItemListSettings.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/Symbian_ua_guiSettingItemListSettings.h deleted file mode 100644 index aabe4aa5eb8c8fc83174f91bc251c077aa44a23d..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/Symbian_ua_guiSettingItemListSettings.h +++ /dev/null @@ -1,73 +0,0 @@ -/* $Id: Symbian_ua_guiSettingItemListSettings.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef SYMBIAN_UA_GUISETTINGITEMLISTSETTINGS_H -#define SYMBIAN_UA_GUISETTINGITEMLISTSETTINGS_H - -// [[[ begin generated region: do not modify [Generated Includes] -#include <e32std.h> -// ]]] end generated region [Generated Includes] - -// [[[ begin generated region: do not modify [Generated Constants] -const int KEd_registrarMaxLength = 255; -const int KEd_userMaxLength = 255; -const int KEd_passwordMaxLength = 32; -const int KEd_stun_serverMaxLength = 255; -// ]]] end generated region [Generated Constants] - -/** - * @class TSymbian_ua_guiSettingItemListSettings Symbian_ua_guiSettingItemListSettings.h - */ -class TSymbian_ua_guiSettingItemListSettings - { -public: - // construct and destroy - static TSymbian_ua_guiSettingItemListSettings* NewL(); - void ConstructL(); - -private: - // constructor - TSymbian_ua_guiSettingItemListSettings(); - // [[[ begin generated region: do not modify [Generated Accessors] -public: - TDes& Ed_registrar(); - void SetEd_registrar(const TDesC& aValue); - TDes& Ed_user(); - void SetEd_user(const TDesC& aValue); - TDes& Ed_password(); - void SetEd_password(const TDesC& aValue); - TBool& B_srtp(); - void SetB_srtp(const TBool& aValue); - TBool& B_ice(); - void SetB_ice(const TBool& aValue); - TDes& Ed_stun_server(); - void SetEd_stun_server(const TDesC& aValue); - // ]]] end generated region [Generated Accessors] - - // [[[ begin generated region: do not modify [Generated Members] -protected: - TBuf<KEd_registrarMaxLength> iEd_registrar; - TBuf<KEd_userMaxLength> iEd_user; - TBuf<KEd_passwordMaxLength> iEd_password; - TBool iB_srtp; - TBool iB_ice; - TBuf<KEd_stun_serverMaxLength> iEd_stun_server; - // ]]] end generated region [Generated Members] - - }; -#endif // SYMBIAN_UA_GUISETTINGITEMLISTSETTINGS_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua.h deleted file mode 100644 index 431b2e7e5796760e3fe8d9a4fdf70a95fe1cf152..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua.h +++ /dev/null @@ -1,50 +0,0 @@ -/* $Id: ua.cpp 1793 2008-02-14 13:39:24Z bennylp $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __SYMBIAN_UA_H__ -#define __SYMBIAN_UA_H__ - -#include <stddef.h> - -typedef struct -{ - void (*on_info)(const wchar_t* buf); - void (*on_incoming_call)(const wchar_t* caller_disp, const wchar_t* caller_uri); - void (*on_call_end)(const wchar_t* reason); - void (*on_reg_state)(bool success); - void (*on_unreg_state)(bool success); -} symbian_ua_info_cb_t; - -int symbian_ua_init(); -int symbian_ua_destroy(); - -void symbian_ua_set_info_callback(const symbian_ua_info_cb_t *cb); - -int symbian_ua_set_account(const char *domain, const char *username, - const char *password, - bool use_srtp, bool use_ice); - -bool symbian_ua_anycall(); -int symbian_ua_makecall(const char* dest_url); -int symbian_ua_endcall(); -int symbian_ua_answercall(); - -#endif - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.hrh b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.hrh deleted file mode 100644 index 72127e0351bfd325a9cb05a3e5309c37a64cb297..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.hrh +++ /dev/null @@ -1,17 +0,0 @@ -/* -======================================================================== - Name : symbian_ua_gui.hrh - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -enum Tsymbian_ua_guiViewUids - { - ESymbian_ua_guiContainerViewId = 1, - ESymbian_ua_guiSettingItemListViewId - }; -enum TSymbian_ua_guiApplicationControls - { - ESymbian_ua_guiApplicationDlg_wait_init = 1 - }; diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.pan b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.pan deleted file mode 100644 index a06f56b87d5220dace1dc0aeea755e0ae5cfe25f..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_gui.pan +++ /dev/null @@ -1,18 +0,0 @@ - -#ifndef SYMBIAN_UA_GUI_PAN_H -#define SYMBIAN_UA_GUI_PAN_H - -/** symbian_ua_gui application panic codes */ -enum Tsymbian_ua_guiPanics - { - Esymbian_ua_guiUi = 1 - // add further panics here - }; - -inline void Panic(Tsymbian_ua_guiPanics aReason) - { - _LIT(applicationName,"symbian_ua_gui"); - User::Panic(applicationName, aReason); - } - -#endif // SYMBIAN_UA_GUI_PAN_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiAppUi.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiAppUi.h deleted file mode 100644 index 36fb7208c78aedec3f3122dd645cff2adb7eb9fb..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiAppUi.h +++ /dev/null @@ -1,129 +0,0 @@ -/* $Id: symbian_ua_guiAppUi.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef SYMBIAN_UA_GUIAPPUI_H -#define SYMBIAN_UA_GUIAPPUI_H - -// [[[ begin generated region: do not modify [Generated Includes] -#include <aknviewappui.h> -#include <aknwaitdialog.h> -// ]]] end generated region [Generated Includes] - -// [[[ begin generated region: do not modify [Generated Forward Declarations] -class Csymbian_ua_guiContainerView; -class Csymbian_ua_guiSettingItemListView; -// ]]] end generated region [Generated Forward Declarations] - -/** - * @class Csymbian_ua_guiAppUi symbian_ua_guiAppUi.h - * @brief The AppUi class handles application-wide aspects of the user interface, including - * view management and the default menu, control pane, and status pane. - */ -class Csymbian_ua_guiAppUi : public CAknViewAppUi, public CTimer - { -public: - // constructor and destructor - Csymbian_ua_guiAppUi(); - virtual ~Csymbian_ua_guiAppUi(); - void ConstructL(); - -public: - // from CCoeAppUi - TKeyResponse HandleKeyEventL( - const TKeyEvent& aKeyEvent, - TEventCode aType ); - - // from CEikAppUi - void HandleCommandL( TInt aCommand ); - void HandleResourceChangeL( TInt aType ); - - // from CAknAppUi - void HandleViewDeactivation( - const TVwsViewId& aViewIdToBeDeactivated, - const TVwsViewId& aNewlyActivatedViewId ); - -private: - void InitializeContainersL(); - // [[[ begin generated region: do not modify [Generated Methods] -public: - void ExecuteDlg_wait_initLD( const TDesC* aOverrideText = NULL ); - void RemoveDlg_wait_initL(); - // ]]] end generated region [Generated Methods] - - // [[[ begin generated region: do not modify [Generated Instance Variables] -private: - CAknWaitDialog* iDlg_wait_init; - class CProgressDialogCallback; - CProgressDialogCallback* iDlg_wait_initCallback; - Csymbian_ua_guiContainerView* iSymbian_ua_guiContainerView; - Csymbian_ua_guiSettingItemListView* iSymbian_ua_guiSettingItemListView; - // ]]] end generated region [Generated Instance Variables] - - - // [[[ begin [User Handlers] -protected: - void HandleSymbian_ua_guiAppUiApplicationSpecificEventL( - TInt aType, - const TWsEvent& anEvent ); - void HandleDlg_wait_initCanceledL( CAknProgressDialog* aDialog ); - // ]]] end [User Handlers] - - - // [[[ begin [Overridden Methods] -protected: - void HandleApplicationSpecificEventL( - TInt aType, - const TWsEvent& anEvent ); - // ]]] end [Overridden Methods] - - virtual void RunL(); - - // [[[ begin [MProgressDialogCallback support] -private: - typedef void ( Csymbian_ua_guiAppUi::*ProgressDialogEventHandler )( - CAknProgressDialog* aProgressDialog ); - - /** - * This is a helper class for progress/wait dialog callbacks. It routes the dialog's - * cancel notification to the handler function for the cancel event. - */ - class CProgressDialogCallback : public CBase, public MProgressDialogCallback - { - public: - CProgressDialogCallback( - Csymbian_ua_guiAppUi* aHandlerObj, - CAknProgressDialog* aDialog, - ProgressDialogEventHandler aHandler ) : - handlerObj( aHandlerObj ), dialog( aDialog ), handler( aHandler ) - {} - - void DialogDismissedL( TInt aButtonId ) - { - ( handlerObj->*handler )( dialog ); - } - private: - Csymbian_ua_guiAppUi* handlerObj; - CAknProgressDialog* dialog; - ProgressDialogEventHandler handler; - }; - - // ]]] end [MProgressDialogCallback support] - - }; - -#endif // SYMBIAN_UA_GUIAPPUI_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiApplication.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiApplication.h deleted file mode 100644 index af53b73c0444809d49e8a73776d7bacdcc4c196c..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiApplication.h +++ /dev/null @@ -1,45 +0,0 @@ -/* $Id: symbian_ua_guiApplication.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef SYMBIAN_UA_GUIAPPLICATION_H -#define SYMBIAN_UA_GUIAPPLICATION_H - -// [[[ begin generated region: do not modify [Generated Includes] -#include <aknapp.h> -// ]]] end generated region [Generated Includes] - -// [[[ begin generated region: do not modify [Generated Constants] -const TUid KUidsymbian_ua_guiApplication = { 0xEBD12EE4 }; -// ]]] end generated region [Generated Constants] - -/** - * - * @class Csymbian_ua_guiApplication symbian_ua_guiApplication.h - * @brief A CAknApplication-derived class is required by the S60 application - * framework. It is subclassed to create the application's document - * object. - */ -class Csymbian_ua_guiApplication : public CAknApplication - { -private: - TUid AppDllUid() const; - CApaDocument* CreateDocumentL(); - - }; - -#endif // SYMBIAN_UA_GUIAPPLICATION_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.hrh b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.hrh deleted file mode 100644 index 1ad366fb429c5390069946956ae4e11fa78ce009..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.hrh +++ /dev/null @@ -1,17 +0,0 @@ -/* -======================================================================== - Name : symbian_ua_guiContainer.hrh - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -enum TSymbian_ua_guiContainerViewCommands - { - ESymbian_ua_guiContainerViewControlPaneRightId = 0x6000, - ESymbian_ua_guiContainerViewSettingMenuItemCommand - }; -enum TSymbian_ua_guiContainerViewControls - { - ESymbian_ua_guiContainerViewQry_accept_call = 1 - }; diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainerView.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainerView.h deleted file mode 100644 index 4e9e8a5bd4fd7d6afe7d2a560a50b60795ce5974..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainerView.h +++ /dev/null @@ -1,98 +0,0 @@ -/* $Id: symbian_ua_guiContainerView.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef SYMBIAN_UA_GUICONTAINERVIEW_H -#define SYMBIAN_UA_GUICONTAINERVIEW_H - -// [[[ begin generated region: do not modify [Generated Includes] -#include <aknview.h> -// ]]] end generated region [Generated Includes] - - -// [[[ begin [Event Handler Includes] -// ]]] end [Event Handler Includes] - -// [[[ begin generated region: do not modify [Generated Forward Declarations] -class CSymbian_ua_guiContainer; -// ]]] end generated region [Generated Forward Declarations] - -// [[[ begin generated region: do not modify [Generated Constants] -// ]]] end generated region [Generated Constants] - -/** - * Avkon view class for symbian_ua_guiContainerView. It is register with the view server - * by the AppUi. It owns the container control. - * @class Csymbian_ua_guiContainerView symbian_ua_guiContainerView.h - */ -class Csymbian_ua_guiContainerView : public CAknView - { -public: - // constructors and destructor - Csymbian_ua_guiContainerView(); - static Csymbian_ua_guiContainerView* NewL(); - static Csymbian_ua_guiContainerView* NewLC(); - void ConstructL(); - virtual ~Csymbian_ua_guiContainerView(); - -public: - // from base class CAknView - TUid Id() const; - void HandleCommandL( TInt aCommand ); - - void PutMessage(const TDesC &msg); - -protected: - // from base class CAknView - void DoActivateL( - const TVwsViewId& aPrevViewId, - TUid aCustomMessageId, - const TDesC8& aCustomMessage ); - void DoDeactivate(); - void HandleStatusPaneSizeChange(); - -private: - void SetupStatusPaneL(); - void CleanupStatusPane(); - // [[[ begin generated region: do not modify [Generated Methods] -public: - static void RunNote_errorL( const TDesC* aOverrideText = NULL ); - static void RunNote_infoL( const TDesC* aOverrideText = NULL ); - static void RunNote_warningL( const TDesC* aOverrideText = NULL ); - static TInt RunQry_accept_callL( const TDesC* aOverrideText = NULL ); - // ]]] end generated region [Generated Methods] - - - // [[[ begin [Overridden Methods] -protected: - // ]]] end [Overridden Methods] - - - // [[[ begin [User Handlers] -protected: - TBool CallSoftKeyPressedL( TInt aCommand ); - TBool HandleSettingMenuItemSelectedL( TInt aCommand ); - // ]]] end [User Handlers] - - // [[[ begin generated region: do not modify [Generated Instance Variables] -private: - CSymbian_ua_guiContainer* iSymbian_ua_guiContainer; - // ]]] end generated region [Generated Instance Variables] - - }; - -#endif // SYMBIAN_UA_GUICONTAINERVIEW_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiDocument.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiDocument.h deleted file mode 100644 index 52fd52968189e79260f0515f70ff8559e19bb3a1..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiDocument.h +++ /dev/null @@ -1,46 +0,0 @@ -/* $Id: symbian_ua_guiDocument.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef SYMBIAN_UA_GUIDOCUMENT_H -#define SYMBIAN_UA_GUIDOCUMENT_H - -#include <akndoc.h> - -class CEikAppUi; - -/** -* @class Csymbian_ua_guiDocument symbian_ua_guiDocument.h -* @brief A CAknDocument-derived class is required by the S60 application -* framework. It is responsible for creating the AppUi object. -*/ -class Csymbian_ua_guiDocument : public CAknDocument - { -public: - // constructor - static Csymbian_ua_guiDocument* NewL( CEikApplication& aApp ); - -private: - // constructors - Csymbian_ua_guiDocument( CEikApplication& aApp ); - void ConstructL(); - -public: - // from base class CEikDocument - CEikAppUi* CreateAppUiL(); - }; -#endif // SYMBIAN_UA_GUIDOCUMENT_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.h deleted file mode 100644 index 880b033d79f0dcc06c6866b1466ad77144cd9eca..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.h +++ /dev/null @@ -1,97 +0,0 @@ -/* $Id: symbian_ua_guiSettingItemList.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef SYMBIAN_UA_GUISETTINGITEMLIST_H -#define SYMBIAN_UA_GUISETTINGITEMLIST_H - -// [[[ begin generated region: do not modify [Generated Includes] -#include <aknsettingitemlist.h> -// ]]] end generated region [Generated Includes] - - -// [[[ begin [Event Handler Includes] -// ]]] end [Event Handler Includes] - -// [[[ begin generated region: do not modify [Generated Forward Declarations] -class MEikCommandObserver; -class TSymbian_ua_guiSettingItemListSettings; -// ]]] end generated region [Generated Forward Declarations] - -/** - * @class CSymbian_ua_guiSettingItemList symbian_ua_guiSettingItemList.h - */ -class CSymbian_ua_guiSettingItemList : public CAknSettingItemList - { -public: // constructors and destructor - - CSymbian_ua_guiSettingItemList( - TSymbian_ua_guiSettingItemListSettings& settings, - MEikCommandObserver* aCommandObserver ); - virtual ~CSymbian_ua_guiSettingItemList(); - -public: - - // from CCoeControl - void HandleResourceChange( TInt aType ); - - // overrides of CAknSettingItemList - CAknSettingItem* CreateSettingItemL( TInt id ); - void EditItemL( TInt aIndex, TBool aCalledFromMenu ); - TKeyResponse OfferKeyEventL( - const TKeyEvent& aKeyEvent, - TEventCode aType ); - -public: - // utility function for menu - void ChangeSelectedItemL(); - - void LoadSettingValuesL(); - void SaveSettingValuesL(); - -private: - // override of CAknSettingItemList - void SizeChanged(); - -private: - // current settings values - TSymbian_ua_guiSettingItemListSettings& iSettings; - MEikCommandObserver* iCommandObserver; - // [[[ begin generated region: do not modify [Generated Methods] -public: - // ]]] end generated region [Generated Methods] - - // [[[ begin generated region: do not modify [Generated Type Declarations] -public: - // ]]] end generated region [Generated Type Declarations] - - // [[[ begin generated region: do not modify [Generated Instance Variables] -private: - // ]]] end generated region [Generated Instance Variables] - - - // [[[ begin [Overridden Methods] -protected: - // ]]] end [Overridden Methods] - - - // [[[ begin [User Handlers] -protected: - // ]]] end [User Handlers] - - }; -#endif // SYMBIAN_UA_GUISETTINGITEMLIST_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.hrh b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.hrh deleted file mode 100644 index e9b4de4731c22aa972de092e13e56eb377a9ff22..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemList.hrh +++ /dev/null @@ -1,22 +0,0 @@ -/* -======================================================================== - Name : symbian_ua_guiSettingItemList.hrh - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -enum TSymbian_ua_guiSettingItemListViewCommands - { - ESymbian_ua_guiSettingItemListViewMenuItem1Command = 0x6000, - ESymbian_ua_guiSettingItemListViewSave_SettingsMenuItemCommand - }; -enum TSymbian_ua_guiSettingItemListViewSave_SettingsItems - { - ESymbian_ua_guiSettingItemListViewEd_registrar = 1, - ESymbian_ua_guiSettingItemListViewEd_user, - ESymbian_ua_guiSettingItemListViewEd_password, - ESymbian_ua_guiSettingItemListViewEd_stun_server, - ESymbian_ua_guiSettingItemListViewB_srtp, - ESymbian_ua_guiSettingItemListViewB_ice - }; diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemListView.h b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemListView.h deleted file mode 100644 index 681e08ccbb46088108ebeff75346ce3f270b72ba..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiSettingItemListView.h +++ /dev/null @@ -1,95 +0,0 @@ -/* $Id: symbian_ua_guiSettingItemListView.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef SYMBIAN_UA_GUISETTINGITEMLISTVIEW_H -#define SYMBIAN_UA_GUISETTINGITEMLISTVIEW_H - -// [[[ begin generated region: do not modify [Generated Includes] -#include <aknview.h> -#include "Symbian_ua_guiSettingItemListSettings.h" -// ]]] end generated region [Generated Includes] - - -// [[[ begin [Event Handler Includes] -// ]]] end [Event Handler Includes] - -// [[[ begin generated region: do not modify [Generated Forward Declarations] -class CSymbian_ua_guiSettingItemList; -// ]]] end generated region [Generated Forward Declarations] - -// [[[ begin generated region: do not modify [Generated Constants] -// ]]] end generated region [Generated Constants] - -/** - * Avkon view class for symbian_ua_guiSettingItemListView. It is register with the view server - * by the AppUi. It owns the container control. - * @class Csymbian_ua_guiSettingItemListView symbian_ua_guiSettingItemListView.h - */ -class Csymbian_ua_guiSettingItemListView : public CAknView - { -public: - // constructors and destructor - Csymbian_ua_guiSettingItemListView(); - static Csymbian_ua_guiSettingItemListView* NewL(); - static Csymbian_ua_guiSettingItemListView* NewLC(); - void ConstructL(); - virtual ~Csymbian_ua_guiSettingItemListView(); - -public: - // from base class CAknView - TUid Id() const; - void HandleCommandL( TInt aCommand ); - -protected: - // from base class CAknView - void DoActivateL( - const TVwsViewId& aPrevViewId, - TUid aCustomMessageId, - const TDesC8& aCustomMessage ); - void DoDeactivate(); - void HandleStatusPaneSizeChange(); - -private: - void SetupStatusPaneL(); - void CleanupStatusPane(); - // [[[ begin generated region: do not modify [Generated Methods] -public: - // ]]] end generated region [Generated Methods] - - - // [[[ begin [Overridden Methods] -protected: - // ]]] end [Overridden Methods] - - - // [[[ begin [User Handlers] -protected: - TBool HandleChangeSelectedSettingItemL( TInt aCommand ); - TBool HandleControlPaneRightSoftKeyPressedL( TInt aCommand ); - TBool HandleCancelMenuItemSelectedL( TInt aCommand ); - // ]]] end [User Handlers] - - // [[[ begin generated region: do not modify [Generated Instance Variables] -private: - CSymbian_ua_guiSettingItemList* iSymbian_ua_guiSettingItemList; - TSymbian_ua_guiSettingItemListSettings* iSettings; - // ]]] end generated region [Generated Instance Variables] - - }; - -#endif // SYMBIAN_UA_GUISETTINGITEMLISTVIEW_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.txt b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/Symbian_ua_guiSettingItemListSets.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/Symbian_ua_guiSettingItemListSets.cpp deleted file mode 100644 index 7e66d768699092c64b40cdd4623a1da715ef314d..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/Symbian_ua_guiSettingItemListSets.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/* $Id: Symbian_ua_guiSettingItemListSets.cpp 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -/** - * Generated helper class which manages the settings contained - * in 'symbian_ua_guiSettingItemList'. Each CAknSettingItem maintains - * a reference to data in this class so that changes in the setting - * item list can be synchronized with this storage. - */ - -// [[[ begin generated region: do not modify [Generated Includes] -#include <e32base.h> -#include <stringloader.h> -#include <barsread.h> -#include <symbian_ua_gui.rsg> -#include "Symbian_ua_guiSettingItemListSettings.h" -// ]]] end generated region [Generated Includes] - -/** - * C/C++ constructor for settings data, cannot throw - */ -TSymbian_ua_guiSettingItemListSettings::TSymbian_ua_guiSettingItemListSettings() - { - } - -/** - * Two-phase constructor for settings data - */ -TSymbian_ua_guiSettingItemListSettings* TSymbian_ua_guiSettingItemListSettings::NewL() - { - TSymbian_ua_guiSettingItemListSettings* data = new( ELeave ) TSymbian_ua_guiSettingItemListSettings; - CleanupStack::PushL( data ); - data->ConstructL(); - CleanupStack::Pop( data ); - return data; - } - -/** - * Second phase for initializing settings data - */ -void TSymbian_ua_guiSettingItemListSettings::ConstructL() - { - // [[[ begin generated region: do not modify [Generated Initializers] - { - HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_ED_REGISTRAR ); - SetEd_registrar( text->Des() ); - CleanupStack::PopAndDestroy( text ); - } - { - HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_ED_USER ); - SetEd_user( text->Des() ); - CleanupStack::PopAndDestroy( text ); - } - SetB_srtp( 0 ); - SetB_ice( 0 ); - { - HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_ED_STUN_SERVER ); - SetEd_stun_server( text->Des() ); - CleanupStack::PopAndDestroy( text ); - } - // ]]] end generated region [Generated Initializers] - - } - -// [[[ begin generated region: do not modify [Generated Contents] -TDes& TSymbian_ua_guiSettingItemListSettings::Ed_registrar() - { - return iEd_registrar; - } - -void TSymbian_ua_guiSettingItemListSettings::SetEd_registrar(const TDesC& aValue) - { - if ( aValue.Length() < KEd_registrarMaxLength) - iEd_registrar.Copy( aValue ); - else - iEd_registrar.Copy( aValue.Ptr(), KEd_registrarMaxLength); - } - -TDes& TSymbian_ua_guiSettingItemListSettings::Ed_user() - { - return iEd_user; - } - -void TSymbian_ua_guiSettingItemListSettings::SetEd_user(const TDesC& aValue) - { - if ( aValue.Length() < KEd_userMaxLength) - iEd_user.Copy( aValue ); - else - iEd_user.Copy( aValue.Ptr(), KEd_userMaxLength); - } - -TDes& TSymbian_ua_guiSettingItemListSettings::Ed_password() - { - return iEd_password; - } - -void TSymbian_ua_guiSettingItemListSettings::SetEd_password(const TDesC& aValue) - { - if ( aValue.Length() < KEd_passwordMaxLength) - iEd_password.Copy( aValue ); - else - iEd_password.Copy( aValue.Ptr(), KEd_passwordMaxLength); - } - -TBool& TSymbian_ua_guiSettingItemListSettings::B_srtp() - { - return iB_srtp; - } - -void TSymbian_ua_guiSettingItemListSettings::SetB_srtp(const TBool& aValue) - { - iB_srtp = aValue; - } - -TBool& TSymbian_ua_guiSettingItemListSettings::B_ice() - { - return iB_ice; - } - -void TSymbian_ua_guiSettingItemListSettings::SetB_ice(const TBool& aValue) - { - iB_ice = aValue; - } - -TDes& TSymbian_ua_guiSettingItemListSettings::Ed_stun_server() - { - return iEd_stun_server; - } - -void TSymbian_ua_guiSettingItemListSettings::SetEd_stun_server(const TDesC& aValue) - { - if ( aValue.Length() < KEd_stun_serverMaxLength) - iEd_stun_server.Copy( aValue ); - else - iEd_stun_server.Copy( aValue.Ptr(), KEd_stun_serverMaxLength); - } - -// ]]] end generated region [Generated Contents] - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp deleted file mode 100644 index a0a5431e6d862c9024fbc044596bc3705066fe48..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua.cpp +++ /dev/null @@ -1,513 +0,0 @@ -/* $Id: ua.cpp 1793 2008-02-14 13:39:24Z bennylp $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#include <pjsua-lib/pjsua.h> -#include <pjsua-lib/pjsua_internal.h> -#include <es_sock.h> -#include "symbian_ua.h" - -#define THIS_FILE "symbian_ua.cpp" -#define LOG_LEVEL 3 - -#define SIP_PORT 5060 -#define USE_ICE 0 -#define USE_SRTP PJSUA_DEFAULT_USE_SRTP - -static RSocketServ aSocketServer; -static RConnection aConn; - -static pjsua_acc_id g_acc_id = PJSUA_INVALID_ID; -static pjsua_call_id g_call_id = PJSUA_INVALID_ID; - -static symbian_ua_info_cb_t g_cb = {NULL, NULL, NULL, NULL, NULL}; - -static void log_writer(int level, const char *buf, int len) -{ - static wchar_t buf16[PJ_LOG_MAX_SIZE]; - - PJ_UNUSED_ARG(level); - - if (!g_cb.on_info) - return; - - pj_ansi_to_unicode(buf, len, buf16, PJ_ARRAY_SIZE(buf16)); - g_cb.on_info(buf16); -} - -static void on_reg_state(pjsua_acc_id acc_id) -{ - pjsua_acc_info acc_info; - pj_status_t status; - - status = pjsua_acc_get_info(acc_id, &acc_info); - if (status != PJ_SUCCESS) - return; - - if (acc_info.status == 200) { - if (acc_info.expires) { - PJ_LOG(3,(THIS_FILE, "Registration success!")); - if (g_cb.on_reg_state) g_cb.on_reg_state(true); - } else { - PJ_LOG(3,(THIS_FILE, "Unregistration success!")); - if (g_cb.on_unreg_state) g_cb.on_unreg_state(true); - } - } else { - if (acc_info.expires) { - PJ_LOG(3,(THIS_FILE, "Registration failed!")); - if (g_cb.on_reg_state) g_cb.on_reg_state(false); - } else { - PJ_LOG(3,(THIS_FILE, "Unregistration failed!")); - if (g_cb.on_unreg_state) g_cb.on_unreg_state(false); - } - } -} - -/* Callback called by the library upon receiving incoming call */ -static void on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, - pjsip_rx_data *rdata) -{ - pjsua_call_info ci; - - PJ_UNUSED_ARG(acc_id); - PJ_UNUSED_ARG(rdata); - - if (g_call_id != PJSUA_INVALID_ID) { - pjsua_call_answer(call_id, PJSIP_SC_BUSY_HERE, NULL, NULL); - return; - } - - pjsua_call_get_info(call_id, &ci); - - PJ_LOG(3,(THIS_FILE, "Incoming call from %.*s!!", - (int)ci.remote_info.slen, - ci.remote_info.ptr)); - - g_call_id = call_id; - - /* Automatically answer incoming calls with 180/Ringing */ - pjsua_call_answer(call_id, 180, NULL, NULL); - - if (g_cb.on_incoming_call) { - static wchar_t disp[256]; - static wchar_t uri[PJSIP_MAX_URL_SIZE]; - - pj_ansi_to_unicode(ci.remote_info.ptr, ci.remote_info.slen, - disp, PJ_ARRAY_SIZE(disp)); - pj_ansi_to_unicode(ci.remote_contact.ptr, ci.remote_contact.slen, - uri, PJ_ARRAY_SIZE(uri)); - - g_cb.on_incoming_call(disp, uri); - } -} - -/* Callback called by the library when call's state has changed */ -static void on_call_state(pjsua_call_id call_id, pjsip_event *e) -{ - pjsua_call_info ci; - - PJ_UNUSED_ARG(e); - - pjsua_call_get_info(call_id, &ci); - - if (ci.state == PJSIP_INV_STATE_DISCONNECTED) { - if (call_id == g_call_id) - g_call_id = PJSUA_INVALID_ID; - if (g_cb.on_call_end) { - static wchar_t reason[256]; - pj_ansi_to_unicode(ci.last_status_text.ptr, ci.last_status_text.slen, - reason, PJ_ARRAY_SIZE(reason)); - g_cb.on_call_end(reason); - } - - } else if (ci.state != PJSIP_INV_STATE_INCOMING) { - if (g_call_id == PJSUA_INVALID_ID) - g_call_id = call_id; - } - - PJ_LOG(3,(THIS_FILE, "Call %d state=%.*s", call_id, - (int)ci.state_text.slen, - ci.state_text.ptr)); -} - -/* Callback called by the library when call's media state has changed */ -static void on_call_media_state(pjsua_call_id call_id) -{ - pjsua_call_info ci; - - pjsua_call_get_info(call_id, &ci); - - if (ci.media_status == PJSUA_CALL_MEDIA_ACTIVE) { - // When media is active, connect call to sound device. - pjsua_conf_connect(ci.conf_slot, 0); - pjsua_conf_connect(0, ci.conf_slot); - } -} - - -/* Handler on buddy state changed. */ -static void on_buddy_state(pjsua_buddy_id buddy_id) -{ - pjsua_buddy_info info; - pjsua_buddy_get_info(buddy_id, &info); - - PJ_LOG(3,(THIS_FILE, "%.*s status is %.*s", - (int)info.uri.slen, - info.uri.ptr, - (int)info.status_text.slen, - info.status_text.ptr)); -} - - -/* Incoming IM message (i.e. MESSAGE request)! */ -static void on_pager(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - const pj_str_t *mime_type, const pj_str_t *text) -{ - /* Note: call index may be -1 */ - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(to); - PJ_UNUSED_ARG(contact); - PJ_UNUSED_ARG(mime_type); - - PJ_LOG(3,(THIS_FILE,"MESSAGE from %.*s: %.*s", - (int)from->slen, from->ptr, - (int)text->slen, text->ptr)); -} - - -/* Received typing indication */ -static void on_typing(pjsua_call_id call_id, const pj_str_t *from, - const pj_str_t *to, const pj_str_t *contact, - pj_bool_t is_typing) -{ - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(to); - PJ_UNUSED_ARG(contact); - - PJ_LOG(3,(THIS_FILE, "IM indication: %.*s %s", - (int)from->slen, from->ptr, - (is_typing?"is typing..":"has stopped typing"))); -} - - -/* Call transfer request status. */ -static void on_call_transfer_status(pjsua_call_id call_id, - int status_code, - const pj_str_t *status_text, - pj_bool_t final, - pj_bool_t *p_cont) -{ - PJ_LOG(3,(THIS_FILE, "Call %d: transfer status=%d (%.*s) %s", - call_id, status_code, - (int)status_text->slen, status_text->ptr, - (final ? "[final]" : ""))); - - if (status_code/100 == 2) { - PJ_LOG(3,(THIS_FILE, - "Call %d: call transfered successfully, disconnecting call", - call_id)); - pjsua_call_hangup(call_id, PJSIP_SC_GONE, NULL, NULL); - *p_cont = PJ_FALSE; - } -} - - -/* NAT detection result */ -static void on_nat_detect(const pj_stun_nat_detect_result *res) -{ - if (res->status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "NAT detection failed", res->status); - } else { - PJ_LOG(3, (THIS_FILE, "NAT detected as %s", res->nat_type_name)); - } -} - -/* Notification that call is being replaced. */ -static void on_call_replaced(pjsua_call_id old_call_id, - pjsua_call_id new_call_id) -{ - pjsua_call_info old_ci, new_ci; - - pjsua_call_get_info(old_call_id, &old_ci); - pjsua_call_get_info(new_call_id, &new_ci); - - PJ_LOG(3,(THIS_FILE, "Call %d with %.*s is being replaced by " - "call %d with %.*s", - old_call_id, - (int)old_ci.remote_info.slen, old_ci.remote_info.ptr, - new_call_id, - (int)new_ci.remote_info.slen, new_ci.remote_info.ptr)); -} - -int symbian_ua_init() -{ - TInt err; - pj_symbianos_params sym_params; - pj_status_t status; - - // Initialize RSocketServ - if ((err=aSocketServer.Connect(32)) != KErrNone) - return PJ_STATUS_FROM_OS(err); - - // Open up a connection - if ((err=aConn.Open(aSocketServer)) != KErrNone) { - aSocketServer.Close(); - return PJ_STATUS_FROM_OS(err); - } - - if ((err=aConn.Start()) != KErrNone) { - aConn.Close(); - aSocketServer.Close(); - return PJ_STATUS_FROM_OS(err); - } - - // Set Symbian OS parameters in pjlib. - // This must be done before pj_init() is called. - pj_bzero(&sym_params, sizeof(sym_params)); - sym_params.rsocketserv = &aSocketServer; - sym_params.rconnection = &aConn; - pj_symbianos_set_params(&sym_params); - - /* Redirect log before pjsua_init() */ - pj_log_set_log_func(&log_writer); - - /* Set log level */ - pj_log_set_level(LOG_LEVEL); - - /* Create pjsua first! */ - status = pjsua_create(); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pjsua_create() error", status); - return status; - } - - /* Init pjsua */ - pjsua_config cfg; - - pjsua_config_default(&cfg); - cfg.max_calls = 2; - cfg.thread_cnt = 0; // Disable threading on Symbian - cfg.use_srtp = USE_SRTP; - cfg.srtp_secure_signaling = 0; - - cfg.cb.on_incoming_call = &on_incoming_call; - cfg.cb.on_call_media_state = &on_call_media_state; - cfg.cb.on_call_state = &on_call_state; - cfg.cb.on_buddy_state = &on_buddy_state; - cfg.cb.on_pager = &on_pager; - cfg.cb.on_typing = &on_typing; - cfg.cb.on_call_transfer_status = &on_call_transfer_status; - cfg.cb.on_call_replaced = &on_call_replaced; - cfg.cb.on_nat_detect = &on_nat_detect; - cfg.cb.on_reg_state = &on_reg_state; - - pjsua_media_config med_cfg; - - pjsua_media_config_default(&med_cfg); - med_cfg.thread_cnt = 0; // Disable threading on Symbian - med_cfg.has_ioqueue = PJ_FALSE; - med_cfg.clock_rate = 8000; -#if defined(PJMEDIA_SYM_SND_USE_APS) && (PJMEDIA_SYM_SND_USE_APS==1) - med_cfg.audio_frame_ptime = 20; -#else - med_cfg.audio_frame_ptime = 40; -#endif - med_cfg.ec_tail_len = 0; - med_cfg.enable_ice = USE_ICE; - med_cfg.snd_auto_close_time = 5; // wait for 5 seconds idle before sound dev get auto-closed - - pjsua_logging_config log_cfg; - - pjsua_logging_config_default(&log_cfg); - log_cfg.console_level = LOG_LEVEL; - log_cfg.cb = &log_writer; - log_cfg.decor = 0; - - status = pjsua_init(&cfg, &log_cfg, &med_cfg); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "pjsua_init() error", status); - pjsua_destroy(); - return status; - } - - /* Add UDP transport. */ - pjsua_transport_config tcfg; - pjsua_transport_id tid; - - pjsua_transport_config_default(&tcfg); - tcfg.port = SIP_PORT; - status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &tcfg, &tid); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error creating transport", status); - pjsua_destroy(); - return status; - } - - /* Add account for the transport */ - pjsua_acc_add_local(tid, PJ_TRUE, &g_acc_id); - - /* Initialization is done, now start pjsua */ - status = pjsua_start(); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error starting pjsua", status); - pjsua_destroy(); - return status; - } - - /* Adjust Speex priority and enable only the narrowband */ - { - pj_str_t codec_id = pj_str("speex/8000"); - pjmedia_codec_mgr_set_codec_priority( - pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt), - &codec_id, PJMEDIA_CODEC_PRIO_NORMAL+1); - - codec_id = pj_str("speex/16000"); - pjmedia_codec_mgr_set_codec_priority( - pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt), - &codec_id, PJMEDIA_CODEC_PRIO_DISABLED); - - codec_id = pj_str("speex/32000"); - pjmedia_codec_mgr_set_codec_priority( - pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt), - &codec_id, PJMEDIA_CODEC_PRIO_DISABLED); - } - - return PJ_SUCCESS; -} - - -int symbian_ua_destroy() -{ - // Shutdown pjsua - pjsua_destroy(); - - // Close connection and socket server - aConn.Close(); - aSocketServer.Close(); - - CloseSTDLIB(); - - return PJ_SUCCESS; -} - -void symbian_ua_set_info_callback(const symbian_ua_info_cb_t *cb) -{ - if (cb) - g_cb = *cb; - else - pj_bzero(&g_cb, sizeof(g_cb)); -} - -int symbian_ua_set_account(const char *domain, const char *username, - const char *password, - bool use_srtp, bool use_ice) -{ - pj_status_t status; - - PJ_ASSERT_RETURN(username && password && domain, PJ_EINVAL); - PJ_UNUSED_ARG(use_srtp); - PJ_UNUSED_ARG(use_ice); - - if (domain[0] == 0) { - pjsua_acc_info acc_info; - pj_status_t status; - - status = pjsua_acc_get_info(g_acc_id, &acc_info); - if (status != PJ_SUCCESS) - return status; - - if (acc_info.status == 200) { - PJ_LOG(3,(THIS_FILE, "Unregistering..")); - pjsua_acc_set_registration(g_acc_id, PJ_FALSE); - g_acc_id = 0; - } - return PJ_SUCCESS; - } - - if (pjsua_acc_get_count() > 1) { - status = pjsua_acc_del(g_acc_id); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error removing account", status); - return status; - } - g_acc_id = 0; - } - - pjsua_acc_config cfg; - char tmp_id[PJSIP_MAX_URL_SIZE]; - char tmp_reg_uri[PJSIP_MAX_URL_SIZE]; - - if (!pj_ansi_strnicmp(domain, "sip:", 4)) { - domain += 4; - } - - pjsua_acc_config_default(&cfg); - pj_ansi_sprintf(tmp_id, "sip:%s@%s", username, domain); - cfg.id = pj_str(tmp_id); - pj_ansi_sprintf(tmp_reg_uri, "sip:%s", domain); - cfg.reg_uri = pj_str(tmp_reg_uri); - cfg.cred_count = 1; - cfg.cred_info[0].realm = pj_str("*"); - cfg.cred_info[0].scheme = pj_str("digest"); - cfg.cred_info[0].username = pj_str((char*)username); - cfg.cred_info[0].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD; - cfg.cred_info[0].data = pj_str((char*)password); - - status = pjsua_acc_add(&cfg, PJ_TRUE, &g_acc_id); - if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error setting account", status); - pjsua_destroy(); - return status; - } - - return PJ_SUCCESS; -} - -int symbian_ua_makecall(const char* dest_url) -{ - if (pjsua_verify_url(dest_url) == PJ_SUCCESS) { - pj_str_t dst = pj_str((char*)dest_url); - pjsua_call_make_call(g_acc_id, &dst, 0, NULL, - NULL, &g_call_id); - - return PJ_SUCCESS; - } - - return PJ_EINVAL; -} - -int symbian_ua_endcall() -{ - pjsua_call_hangup_all(); - - return PJ_SUCCESS; -} - -bool symbian_ua_anycall() -{ - return (pjsua_call_get_count()>0); -} - -int symbian_ua_answercall() -{ - PJ_ASSERT_RETURN (g_call_id != PJSUA_INVALID_ID, PJ_EINVAL); - - return pjsua_call_answer(g_call_id, 200, NULL, NULL); -} - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp deleted file mode 100644 index 276ffa3a42d9713e11a0b1e6c6d61468c07c3bff..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp +++ /dev/null @@ -1,257 +0,0 @@ -/* $Id: symbian_ua_guiAppUi.cpp 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -// [[[ begin generated region: do not modify [Generated System Includes] -#include <eikmenub.h> -#include <akncontext.h> -#include <akntitle.h> -#include <symbian_ua_gui.rsg> -// ]]] end generated region [Generated System Includes] - -// [[[ begin generated region: do not modify [Generated User Includes] -#include "symbian_ua_guiAppUi.h" -#include "symbian_ua_gui.hrh" -#include "symbian_ua_guiContainer.hrh" -#include "symbian_ua_guiSettingItemList.hrh" -#include "symbian_ua_guiContainerView.h" -#include "symbian_ua_guiSettingItemListView.h" -// ]]] end generated region [Generated User Includes] - -// [[[ begin generated region: do not modify [Generated Constants] -// ]]] end generated region [Generated Constants] - -#include "symbian_ua.h" - -/** - * Construct the Csymbian_ua_guiAppUi instance - */ -Csymbian_ua_guiAppUi::Csymbian_ua_guiAppUi() : CTimer(0) - { - // [[[ begin generated region: do not modify [Generated Contents] - // ]]] end generated region [Generated Contents] - - } - -/** - * The appui's destructor removes the container from the control - * stack and destroys it. - */ -Csymbian_ua_guiAppUi::~Csymbian_ua_guiAppUi() - { - // [[[ begin generated region: do not modify [Generated Contents] - TRAPD( err_Dlg_wait_init, RemoveDlg_wait_initL() ); - // ]]] end generated region [Generated Contents] - } - -// [[[ begin generated function: do not modify -void Csymbian_ua_guiAppUi::InitializeContainersL() - { - iSymbian_ua_guiContainerView = Csymbian_ua_guiContainerView::NewL(); - AddViewL( iSymbian_ua_guiContainerView ); - iSymbian_ua_guiSettingItemListView = Csymbian_ua_guiSettingItemListView::NewL(); - AddViewL( iSymbian_ua_guiSettingItemListView ); - SetDefaultViewL( *iSymbian_ua_guiSettingItemListView ); - } -// ]]] end generated function - -/** - * Handle a command for this appui (override) - * @param aCommand command id to be handled - */ -void Csymbian_ua_guiAppUi::HandleCommandL( TInt aCommand ) - { - // [[[ begin generated region: do not modify [Generated Code] - TBool commandHandled = EFalse; - switch ( aCommand ) - { // code to dispatch to the AppUi's menu and CBA commands is generated here - default: - break; - } - - - if ( !commandHandled ) - { - if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit ) - { - symbian_ua_destroy(); - Exit(); - } - } - // ]]] end generated region [Generated Code] - - } - -/** - * Override of the HandleResourceChangeL virtual function - */ -void Csymbian_ua_guiAppUi::HandleResourceChangeL( TInt aType ) - { - CAknViewAppUi::HandleResourceChangeL( aType ); - // [[[ begin generated region: do not modify [Generated Code] - // ]]] end generated region [Generated Code] - - } - -/** - * Override of the HandleKeyEventL virtual function - * @return EKeyWasConsumed if event was handled, EKeyWasNotConsumed if not - * @param aKeyEvent - * @param aType - */ -TKeyResponse Csymbian_ua_guiAppUi::HandleKeyEventL( - const TKeyEvent& aKeyEvent, - TEventCode aType ) - { - // The inherited HandleKeyEventL is private and cannot be called - // [[[ begin generated region: do not modify [Generated Contents] - // ]]] end generated region [Generated Contents] - - return EKeyWasNotConsumed; - } - -/** - * Override of the HandleViewDeactivation virtual function - * - * @param aViewIdToBeDeactivated - * @param aNewlyActivatedViewId - */ -void Csymbian_ua_guiAppUi::HandleViewDeactivation( - const TVwsViewId& aViewIdToBeDeactivated, - const TVwsViewId& aNewlyActivatedViewId ) - { - CAknViewAppUi::HandleViewDeactivation( - aViewIdToBeDeactivated, - aNewlyActivatedViewId ); - // [[[ begin generated region: do not modify [Generated Contents] - // ]]] end generated region [Generated Contents] - - } - -/** - * @brief Completes the second phase of Symbian object construction. - * Put initialization code that could leave here. - */ -void Csymbian_ua_guiAppUi::ConstructL() - { - // [[[ begin generated region: do not modify [Generated Contents] - BaseConstructL( EAknEnableSkin ); - InitializeContainersL(); - // ]]] end generated region [Generated Contents] - - // Create private folder - RProcess process; - TFileName path; - - path.Copy( process.FileName().Left(2) ); - - if(path.Compare(_L("c")) || path.Compare(_L("C"))) - CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveC); - else if(path.Compare(_L("e")) || path.Compare(_L("E"))) - CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveE); - - // Init PJSUA - if (symbian_ua_init() != 0) { - symbian_ua_destroy(); - Exit(); - } - - ExecuteDlg_wait_initLD(); - - CTimer::ConstructL(); - CActiveScheduler::Add( this ); - After(4000000); - } - -/** - * Override of the HandleApplicationSpecificEventL virtual function - */ -void Csymbian_ua_guiAppUi::HandleApplicationSpecificEventL( - TInt aType, - const TWsEvent& anEvent ) - { - CAknViewAppUi::HandleApplicationSpecificEventL( aType, anEvent ); - // [[[ begin generated region: do not modify [Generated Code] - // ]]] end generated region [Generated Code] - - } - -/** - * Handle the applicationSpecificEvent event. - */ -void Csymbian_ua_guiAppUi::HandleSymbian_ua_guiAppUiApplicationSpecificEventL( - TInt /* aType */, - const TWsEvent& /* anEvent */ ) - { - // TODO: implement applicationSpecificEvent event handler - } - -// [[[ begin generated function: do not modify -/** - * Execute the wait dialog for dlg_wait_init. This routine returns - * while the dialog is showing. It will be closed and destroyed when - * RemoveDlg_wait_initL() or the user selects the Cancel soft key. - * @param aOverrideText optional override text. When null the text configured - * in the UI Designer is used. - */ -void Csymbian_ua_guiAppUi::ExecuteDlg_wait_initLD( const TDesC* aOverrideText ) - { - iDlg_wait_init = new ( ELeave ) CAknWaitDialog( - reinterpret_cast< CEikDialog** >( &iDlg_wait_init ), EFalse ); - if ( aOverrideText != NULL ) - { - iDlg_wait_init->SetTextL( *aOverrideText ); - } - iDlg_wait_init->ExecuteLD( R_APPLICATION_DLG_WAIT_INIT ); - iDlg_wait_initCallback = new ( ELeave ) CProgressDialogCallback( - this, iDlg_wait_init, &Csymbian_ua_guiAppUi::HandleDlg_wait_initCanceledL ); - iDlg_wait_init->SetCallback( iDlg_wait_initCallback ); - } -// ]]] end generated function - -// [[[ begin generated function: do not modify -/** - * Close and dispose of the wait dialog for dlg_wait_init - */ -void Csymbian_ua_guiAppUi::RemoveDlg_wait_initL() - { - if ( iDlg_wait_init != NULL ) - { - iDlg_wait_init->SetCallback( NULL ); - iDlg_wait_init->ProcessFinishedL(); // deletes the dialog - iDlg_wait_init = NULL; - } - delete iDlg_wait_initCallback; - iDlg_wait_initCallback = NULL; - - } -// ]]] end generated function - -/** - * Handle the canceled event. - */ -void Csymbian_ua_guiAppUi::HandleDlg_wait_initCanceledL( CAknProgressDialog* /* aDialog */ ) - { - // TODO: implement canceled event handler - - } - -void Csymbian_ua_guiAppUi::RunL() - { - RemoveDlg_wait_initL(); - iSymbian_ua_guiSettingItemListView->HandleCommandL(EAknSoftkeySave); - } diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiApplication.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiApplication.cpp deleted file mode 100644 index 2ccbbb2505a223b552dde81b090592708b267ad7..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiApplication.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* $Id: symbian_ua_guiApplication.cpp 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -// [[[ begin generated region: do not modify [Generated System Includes] -// ]]] end generated region [Generated System Includes] - -// [[[ begin generated region: do not modify [Generated Includes] -#include "symbian_ua_guiApplication.h" -#include "symbian_ua_guiDocument.h" -#ifdef EKA2 -#include <eikstart.h> -#endif -// ]]] end generated region [Generated Includes] - - -// Needed by APS -TPtrC APP_UID = _L("EBD12EE4"); - -/** - * @brief Returns the application's UID (override from CApaApplication::AppDllUid()) - * @return UID for this application (KUidsymbian_ua_guiApplication) - */ -TUid Csymbian_ua_guiApplication::AppDllUid() const - { - return KUidsymbian_ua_guiApplication; - } - -/** - * @brief Creates the application's document (override from CApaApplication::CreateDocumentL()) - * @return Pointer to the created document object (Csymbian_ua_guiDocument) - */ -CApaDocument* Csymbian_ua_guiApplication::CreateDocumentL() - { - return Csymbian_ua_guiDocument::NewL( *this ); - } - -#ifdef EKA2 - -/** - * @brief Called by the application framework to construct the application object - * @return The application (Csymbian_ua_guiApplication) - */ -LOCAL_C CApaApplication* NewApplication() - { - return new Csymbian_ua_guiApplication; - } - -/** -* @brief This standard export is the entry point for all Series 60 applications -* @return error code - */ -GLDEF_C TInt E32Main() - { - TInt err; - - err = EikStart::RunApplication( NewApplication ); - - return err; - } - -#else // Series 60 2.x main DLL program code - -/** -* @brief This standard export constructs the application object. -* @return The application (Csymbian_ua_guiApplication) -*/ -EXPORT_C CApaApplication* NewApplication() - { - return new Csymbian_ua_guiApplication; - } - -/** -* @brief This standard export is the entry point for all Series 60 applications -* @return error code -*/ -GLDEF_C TInt E32Dll(TDllReason /*reason*/) - { - return KErrNone; - } - -#endif // EKA2 diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainerView.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainerView.cpp deleted file mode 100644 index 0fae4f626e4a12eb2f3d86f443c2f93ef46fe12a..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainerView.cpp +++ /dev/null @@ -1,488 +0,0 @@ -/* $Id: symbian_ua_guiContainerView.cpp 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -// [[[ begin generated region: do not modify [Generated System Includes] -#include <aknviewappui.h> -#include <eikmenub.h> -#include <avkon.hrh> -#include <barsread.h> -#include <stringloader.h> -#include <eiklabel.h> -#include <eikenv.h> -#include <gdi.h> -#include <eikedwin.h> -#include <akncontext.h> -#include <akntitle.h> -#include <eikbtgpc.h> -#include <aknnotewrappers.h> -#include <aknquerydialog.h> -#include <symbian_ua_gui.rsg> -// ]]] end generated region [Generated System Includes] - -// [[[ begin generated region: do not modify [Generated User Includes] -#include "symbian_ua_gui.hrh" -#include "symbian_ua_guiContainerView.h" -#include "symbian_ua_guiContainer.hrh" -#include "symbian_ua_guiSettingItemList.hrh" -#include "symbian_ua_guiContainer.h" -// ]]] end generated region [Generated User Includes] - -#include <utf.h> -#include "symbian_ua.h" - -// [[[ begin generated region: do not modify [Generated Constants] -// ]]] end generated region [Generated Constants] - -Csymbian_ua_guiContainerView *myinstance = NULL; -_LIT(KStCall, "Call"); -_LIT(KStHangUp, "Hang Up"); - -void on_info(const wchar_t* buf) -{ - TPtrC aBuf((const TUint16*)buf); - - if (myinstance) - myinstance->PutMessage(aBuf); -} - -void on_incoming_call(const wchar_t* caller_disp, const wchar_t* caller_uri) -{ - TBuf<512> buf; - TPtrC aDisp((const TUint16*)caller_disp); - TPtrC aUri((const TUint16*)caller_uri); - _LIT(KFormat, "Incoming call from %S, accept?"); - - buf.Format(KFormat, &aDisp); - if (Csymbian_ua_guiContainerView::RunQry_accept_callL(&buf) == EAknSoftkeyYes) - { - CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current(); - if (cba != NULL) { - TRAPD(result, cba->SetCommandL(ESymbian_ua_guiContainerViewControlPaneRightId, KStHangUp)); - cba->DrawDeferred(); - } - symbian_ua_answercall(); - } else { - symbian_ua_endcall(); - } -} - -void on_call_end(const wchar_t* reason) -{ - TPtrC aReason((const TUint16*)reason); - - CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current(); - if (cba != NULL) { - TRAPD(result, cba->SetCommandL(ESymbian_ua_guiContainerViewControlPaneRightId, KStCall)); - cba->DrawDeferred(); - } - - Csymbian_ua_guiContainerView::RunNote_infoL(&aReason); -} - -void on_reg_state(bool success) -{ - if (success) - Csymbian_ua_guiContainerView::RunNote_infoL(); - else - Csymbian_ua_guiContainerView::RunNote_warningL(); -} - -void on_unreg_state(bool success) -{ - TPtrC st_success(_L("Unregistration Success!")); - TPtrC st_failed(_L("Unregistration Failed!")); - - if (success) - Csymbian_ua_guiContainerView::RunNote_infoL(&st_success); - else - Csymbian_ua_guiContainerView::RunNote_warningL(&st_failed); -} - -void Csymbian_ua_guiContainerView::PutMessage(const TDesC &msg) - { - if (!iSymbian_ua_guiContainer) - return; - - CEikEdwin *obj_info = (CEikEdwin*) iSymbian_ua_guiContainer->ComponentControl(iSymbian_ua_guiContainer->EEd_info); - - obj_info->SetTextL(&msg); - obj_info->DrawDeferred(); - } - -/** - * First phase of Symbian two-phase construction. Should not contain any - * code that could leave. - */ -Csymbian_ua_guiContainerView::Csymbian_ua_guiContainerView() - { - // [[[ begin generated region: do not modify [Generated Contents] - iSymbian_ua_guiContainer = NULL; - // ]]] end generated region [Generated Contents] - - } -/** - * The view's destructor removes the container from the control - * stack and destroys it. - */ -Csymbian_ua_guiContainerView::~Csymbian_ua_guiContainerView() - { - // [[[ begin generated region: do not modify [Generated Contents] - delete iSymbian_ua_guiContainer; - iSymbian_ua_guiContainer = NULL; - // ]]] end generated region [Generated Contents] - - symbian_ua_set_info_callback(NULL); - myinstance = NULL; - } - -/** - * Symbian two-phase constructor. - * This creates an instance then calls the second-phase constructor - * without leaving the instance on the cleanup stack. - * @return new instance of Csymbian_ua_guiContainerView - */ -Csymbian_ua_guiContainerView* Csymbian_ua_guiContainerView::NewL() - { - Csymbian_ua_guiContainerView* self = Csymbian_ua_guiContainerView::NewLC(); - CleanupStack::Pop( self ); - return self; - } - -/** - * Symbian two-phase constructor. - * This creates an instance, pushes it on the cleanup stack, - * then calls the second-phase constructor. - * @return new instance of Csymbian_ua_guiContainerView - */ -Csymbian_ua_guiContainerView* Csymbian_ua_guiContainerView::NewLC() - { - Csymbian_ua_guiContainerView* self = new ( ELeave ) Csymbian_ua_guiContainerView(); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - - -/** - * Second-phase constructor for view. - * Initialize contents from resource. - */ -void Csymbian_ua_guiContainerView::ConstructL() - { - // [[[ begin generated region: do not modify [Generated Code] - BaseConstructL( R_SYMBIAN_UA_GUI_CONTAINER_SYMBIAN_UA_GUI_CONTAINER_VIEW ); - // ]]] end generated region [Generated Code] - - // add your own initialization code here - symbian_ua_info_cb_t cb; - Mem::FillZ(&cb, sizeof(cb)); - - cb.on_info = &on_info; - cb.on_incoming_call = &on_incoming_call; - cb.on_reg_state = &on_reg_state; - cb.on_unreg_state = &on_unreg_state; - cb.on_call_end = &on_call_end; - - symbian_ua_set_info_callback(&cb); - myinstance = this; - } - -/** - * @return The UID for this view - */ -TUid Csymbian_ua_guiContainerView::Id() const - { - return TUid::Uid( ESymbian_ua_guiContainerViewId ); - } - -/** - * Handle a command for this view (override) - * @param aCommand command id to be handled - */ -void Csymbian_ua_guiContainerView::HandleCommandL( TInt aCommand ) - { - // [[[ begin generated region: do not modify [Generated Code] - TBool commandHandled = EFalse; - switch ( aCommand ) - { // code to dispatch to the AknView's menu and CBA commands is generated here - - case ESymbian_ua_guiContainerViewControlPaneRightId: - commandHandled = CallSoftKeyPressedL( aCommand ); - break; - case ESymbian_ua_guiContainerViewSettingMenuItemCommand: - commandHandled = HandleSettingMenuItemSelectedL( aCommand ); - break; - default: - break; - } - - - if ( !commandHandled ) - { - - if ( aCommand == ESymbian_ua_guiContainerViewControlPaneRightId ) - { - AppUi()->HandleCommandL( EEikCmdExit ); - } - - } - // ]]] end generated region [Generated Code] - - } - -/** - * Handles user actions during activation of the view, - * such as initializing the content. - */ -void Csymbian_ua_guiContainerView::DoActivateL( - const TVwsViewId& /*aPrevViewId*/, - TUid /*aCustomMessageId*/, - const TDesC8& /*aCustomMessage*/ ) - { - // [[[ begin generated region: do not modify [Generated Contents] - SetupStatusPaneL(); - - CEikButtonGroupContainer* cba = AppUi()->Cba(); - if ( cba != NULL ) - { - cba->MakeVisible( EFalse ); - } - - if ( iSymbian_ua_guiContainer == NULL ) - { - iSymbian_ua_guiContainer = CSymbian_ua_guiContainer::NewL( ClientRect(), NULL, this ); - iSymbian_ua_guiContainer->SetMopParent( this ); - AppUi()->AddToStackL( *this, iSymbian_ua_guiContainer ); - } - // ]]] end generated region [Generated Contents] - - cba = CEikButtonGroupContainer::Current(); - if (cba != NULL) { - if (symbian_ua_anycall()) - cba->SetCommandL(ESymbian_ua_guiContainerViewControlPaneRightId, KStHangUp); - else - cba->SetCommandL(ESymbian_ua_guiContainerViewControlPaneRightId, KStCall); - } - - } - -/** - */ -void Csymbian_ua_guiContainerView::DoDeactivate() - { - // [[[ begin generated region: do not modify [Generated Contents] - CleanupStatusPane(); - - CEikButtonGroupContainer* cba = AppUi()->Cba(); - if ( cba != NULL ) - { - cba->MakeVisible( ETrue ); - cba->DrawDeferred(); - } - - if ( iSymbian_ua_guiContainer != NULL ) - { - AppUi()->RemoveFromViewStack( *this, iSymbian_ua_guiContainer ); - delete iSymbian_ua_guiContainer; - iSymbian_ua_guiContainer = NULL; - } - // ]]] end generated region [Generated Contents] - - } - -// [[[ begin generated function: do not modify -void Csymbian_ua_guiContainerView::SetupStatusPaneL() - { - // reset the context pane - TUid contextPaneUid = TUid::Uid( EEikStatusPaneUidContext ); - CEikStatusPaneBase::TPaneCapabilities subPaneContext = - StatusPane()->PaneCapabilities( contextPaneUid ); - if ( subPaneContext.IsPresent() && subPaneContext.IsAppOwned() ) - { - CAknContextPane* context = static_cast< CAknContextPane* > ( - StatusPane()->ControlL( contextPaneUid ) ); - context->SetPictureToDefaultL(); - } - - // setup the title pane - TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle ); - CEikStatusPaneBase::TPaneCapabilities subPaneTitle = - StatusPane()->PaneCapabilities( titlePaneUid ); - if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() ) - { - CAknTitlePane* title = static_cast< CAknTitlePane* >( - StatusPane()->ControlL( titlePaneUid ) ); - TResourceReader reader; - iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_CONTAINER_TITLE_RESOURCE ); - title->SetFromResourceL( reader ); - CleanupStack::PopAndDestroy(); // reader internal state - } - - } -// ]]] end generated function - -// [[[ begin generated function: do not modify -void Csymbian_ua_guiContainerView::CleanupStatusPane() - { - } -// ]]] end generated function - -/** - * Handle status pane size change for this view (override) - */ -void Csymbian_ua_guiContainerView::HandleStatusPaneSizeChange() - { - CAknView::HandleStatusPaneSizeChange(); - - // this may fail, but we're not able to propagate exceptions here - TInt result; - TRAP( result, SetupStatusPaneL() ); - } - -/** - * Handle the rightSoftKeyPressed event. - * @return ETrue if the command was handled, EFalse if not - */ -TBool Csymbian_ua_guiContainerView::CallSoftKeyPressedL( TInt aCommand ) - { - CEikEdwin *obj_url = (CEikEdwin*) iSymbian_ua_guiContainer->ComponentControl(iSymbian_ua_guiContainer->EEd_url); - CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current(); - - if (symbian_ua_anycall()) { - symbian_ua_endcall(); - return ETrue; - } - - PutMessage(_L("Making call...")); - if ( cba != NULL ) { - cba->SetCommandL(aCommand, KStHangUp); - cba->DrawDeferred(); - } - - - TUint8 url[256]; - TPtr8 aUrl(url, 256); - - HBufC *buf = obj_url->GetTextInHBufL(); - CnvUtfConverter::ConvertFromUnicodeToUtf8(aUrl, *buf); - delete buf; - - if (symbian_ua_makecall((char *)aUrl.PtrZ()) != 0) { - PutMessage(_L("Making call failed!")); - if ( cba != NULL ) { - cba->SetCommandL(aCommand, KStCall); - cba->DrawDeferred(); - } - } - - return ETrue; - } - -/** - * Handle the selected event. - * @param aCommand the command id invoked - * @return ETrue if the command was handled, EFalse if not - */ -TBool Csymbian_ua_guiContainerView::HandleSettingMenuItemSelectedL( TInt aCommand ) - { - AppUi()->ActivateLocalViewL(TUid::Uid(ESymbian_ua_guiSettingItemListViewId)); - return ETrue; - } - -// [[[ begin generated function: do not modify -/** - * Show the popup note for note_error - * @param aOverrideText optional override text - */ -void Csymbian_ua_guiContainerView::RunNote_errorL( const TDesC* aOverrideText ) - { - CAknErrorNote* note = new ( ELeave ) CAknErrorNote(); - if ( aOverrideText == NULL ) - { - HBufC* noteText = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_NOTE_ERROR ); - note->ExecuteLD( *noteText ); - CleanupStack::PopAndDestroy( noteText ); - } - else - { - note->ExecuteLD( *aOverrideText ); - } - } -// ]]] end generated function - -// [[[ begin generated function: do not modify -/** - * Show the popup note for note_info - * @param aOverrideText optional override text - */ -void Csymbian_ua_guiContainerView::RunNote_infoL( const TDesC* aOverrideText ) - { - CAknInformationNote* note = new ( ELeave ) CAknInformationNote(); - if ( aOverrideText == NULL ) - { - HBufC* noteText = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_NOTE_INFO ); - note->ExecuteLD( *noteText ); - CleanupStack::PopAndDestroy( noteText ); - } - else - { - note->ExecuteLD( *aOverrideText ); - } - } -// ]]] end generated function - -// [[[ begin generated function: do not modify -/** - * Show the popup note for note_warning - * @param aOverrideText optional override text - */ -void Csymbian_ua_guiContainerView::RunNote_warningL( const TDesC* aOverrideText ) - { - CAknWarningNote* note = new ( ELeave ) CAknWarningNote(); - if ( aOverrideText == NULL ) - { - HBufC* noteText = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_NOTE_WARNING ); - note->ExecuteLD( *noteText ); - CleanupStack::PopAndDestroy( noteText ); - } - else - { - note->ExecuteLD( *aOverrideText ); - } - } -// ]]] end generated function - -// [[[ begin generated function: do not modify -/** - * Show the popup dialog for qry_accept_call - * @param aOverrideText optional override text - * @return EAknSoftkeyYes (left soft key id) or 0 - */ -TInt Csymbian_ua_guiContainerView::RunQry_accept_callL( const TDesC* aOverrideText ) - { - - CAknQueryDialog* queryDialog = CAknQueryDialog::NewL(); - - if ( aOverrideText != NULL ) - { - queryDialog->SetPromptL( *aOverrideText ); - } - return queryDialog->ExecuteLD( R_SYMBIAN_UA_GUI_CONTAINER_QRY_ACCEPT_CALL ); - } -// ]]] end generated function - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiDocument.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiDocument.cpp deleted file mode 100644 index 906577c353d6eb5a7c5c980f344e8ffc65141ec2..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiDocument.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* $Id: symbian_ua_guiDocument.cpp 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -// [[[ begin generated region: do not modify [Generated User Includes] -#include "symbian_ua_guiDocument.h" -#include "symbian_ua_guiAppUi.h" -// ]]] end generated region [Generated User Includes] - -/** - * @brief Constructs the document class for the application. - * @param anApplication the application instance - */ -Csymbian_ua_guiDocument::Csymbian_ua_guiDocument( CEikApplication& anApplication ) - : CAknDocument( anApplication ) - { - } - -/** - * @brief Completes the second phase of Symbian object construction. - * Put initialization code that could leave here. - */ -void Csymbian_ua_guiDocument::ConstructL() - { - } - -/** - * Symbian OS two-phase constructor. - * - * Creates an instance of Csymbian_ua_guiDocument, constructs it, and - * returns it. - * - * @param aApp the application instance - * @return the new Csymbian_ua_guiDocument - */ -Csymbian_ua_guiDocument* Csymbian_ua_guiDocument::NewL( CEikApplication& aApp ) - { - Csymbian_ua_guiDocument* self = new ( ELeave ) Csymbian_ua_guiDocument( aApp ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -/** - * @brief Creates the application UI object for this document. - * @return the new instance - */ -CEikAppUi* Csymbian_ua_guiDocument::CreateAppUiL() - { - return new ( ELeave ) Csymbian_ua_guiAppUi; - } - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemList.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemList.cpp deleted file mode 100644 index 48f86d3c5a255da75cd81917d617ca23daf6e063..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemList.cpp +++ /dev/null @@ -1,433 +0,0 @@ -/* $Id: symbian_ua_guiSettingItemList.cpp 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -// [[[ begin generated region: do not modify [Generated System Includes] -#include <avkon.hrh> -#include <avkon.rsg> -#include <eikmenup.h> -#include <aknappui.h> -#include <eikcmobs.h> -#include <barsread.h> -#include <stringloader.h> -#include <gdi.h> -#include <eikedwin.h> -#include <eikenv.h> -#include <eikseced.h> -#include <aknpopupfieldtext.h> -#include <eikappui.h> -#include <aknviewappui.h> -#include <akntextsettingpage.h> -#include <symbian_ua_gui.rsg> -// ]]] end generated region [Generated System Includes] - -// [[[ begin generated region: do not modify [Generated User Includes] -#include "symbian_ua_guiSettingItemList.h" -#include "Symbian_ua_guiSettingItemListSettings.h" -#include "symbian_ua_guiSettingItemList.hrh" -#include "symbian_ua_gui.hrh" -#include "symbian_ua_guiSettingItemListView.h" -// ]]] end generated region [Generated User Includes] - - -#include <s32stor.h> -#include <s32file.h> - - -// [[[ begin generated region: do not modify [Generated Constants] -// ]]] end generated region [Generated Constants] - - -_LIT(KtxDicFileName ,"settings.ini" ); - -const TInt KRegistrar = 2; -const TInt KUsername = 3; -const TInt KPassword = 4; -const TInt KStunServer = 5; -const TInt KSrtp = 6; -const TInt KIce = 7; - -/** - * Construct the CSymbian_ua_guiSettingItemList instance - * @param aCommandObserver command observer - */ -CSymbian_ua_guiSettingItemList::CSymbian_ua_guiSettingItemList( - TSymbian_ua_guiSettingItemListSettings& aSettings, - MEikCommandObserver* aCommandObserver ) - : iSettings( aSettings ), iCommandObserver( aCommandObserver ) - { - // [[[ begin generated region: do not modify [Generated Contents] - // ]]] end generated region [Generated Contents] - - } -/** - * Destroy any instance variables - */ -CSymbian_ua_guiSettingItemList::~CSymbian_ua_guiSettingItemList() - { - // [[[ begin generated region: do not modify [Generated Contents] - // ]]] end generated region [Generated Contents] - - } - -/** - * Handle system notification that the container's size has changed. - */ -void CSymbian_ua_guiSettingItemList::SizeChanged() - { - if ( ListBox() ) - { - ListBox()->SetRect( Rect() ); - } - } - -/** - * Create one setting item at a time, identified by id. - * CAknSettingItemList calls this method and takes ownership - * of the returned value. The CAknSettingItem object owns - * a reference to the underlying data, which EditItemL() uses - * to edit and store the value. - */ -CAknSettingItem* CSymbian_ua_guiSettingItemList::CreateSettingItemL( TInt aId ) - { - switch ( aId ) - { - // [[[ begin generated region: do not modify [Initializers] - case ESymbian_ua_guiSettingItemListViewEd_registrar: - { - CAknTextSettingItem* item = new ( ELeave ) - CAknTextSettingItem( - aId, - iSettings.Ed_registrar() ); - item->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed); - return item; - } - case ESymbian_ua_guiSettingItemListViewEd_user: - { - CAknTextSettingItem* item = new ( ELeave ) - CAknTextSettingItem( - aId, - iSettings.Ed_user() ); - item->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed); - return item; - } - case ESymbian_ua_guiSettingItemListViewEd_password: - { - CAknPasswordSettingItem* item = new ( ELeave ) - CAknPasswordSettingItem( - aId, - CAknPasswordSettingItem::EAlpha, - iSettings.Ed_password() ); - item->SetSettingPageFlags(CAknTextSettingPage::EZeroLengthAllowed); - return item; - } - case ESymbian_ua_guiSettingItemListViewB_srtp: - { - CAknBinaryPopupSettingItem* item = new ( ELeave ) - CAknBinaryPopupSettingItem( - aId, - iSettings.B_srtp() ); - item->SetHidden( ETrue ); - return item; - } - case ESymbian_ua_guiSettingItemListViewB_ice: - { - CAknBinaryPopupSettingItem* item = new ( ELeave ) - CAknBinaryPopupSettingItem( - aId, - iSettings.B_ice() ); - item->SetHidden( ETrue ); - return item; - } - case ESymbian_ua_guiSettingItemListViewEd_stun_server: - { - CAknTextSettingItem* item = new ( ELeave ) - CAknTextSettingItem( - aId, - iSettings.Ed_stun_server() ); - item->SetHidden( ETrue ); - return item; - } - // ]]] end generated region [Initializers] - - } - - return NULL; - } - -/** - * Edit the setting item identified by the given id and store - * the changes into the store. - * @param aIndex the index of the setting item in SettingItemArray() - * @param aCalledFromMenu true: a menu item invoked editing, thus - * always show the edit page and interactively edit the item; - * false: change the item in place if possible, else show the edit page - */ -void CSymbian_ua_guiSettingItemList::EditItemL ( TInt aIndex, TBool aCalledFromMenu ) - { - CAknSettingItem* item = ( *SettingItemArray() )[aIndex]; - switch ( item->Identifier() ) - { - // [[[ begin generated region: do not modify [Editing Started Invoker] - // ]]] end generated region [Editing Started Invoker] - - } - - CAknSettingItemList::EditItemL( aIndex, aCalledFromMenu ); - - TBool storeValue = ETrue; - switch ( item->Identifier() ) - { - // [[[ begin generated region: do not modify [Editing Stopped Invoker] - // ]]] end generated region [Editing Stopped Invoker] - - } - - if ( storeValue ) - { - item->StoreL(); - SaveSettingValuesL(); - } - } -/** - * Handle the "Change" option on the Options menu. This is an - * alternative to the Selection key that forces the settings page - * to come up rather than changing the value in place (if possible). - */ -void CSymbian_ua_guiSettingItemList::ChangeSelectedItemL() - { - if ( ListBox()->CurrentItemIndex() >= 0 ) - { - EditItemL( ListBox()->CurrentItemIndex(), ETrue ); - } - } - -/** - * Load the initial contents of the setting items. By default, - * the setting items are populated with the default values from - * the design. You can override those values here. - * <p> - * Note: this call alone does not update the UI. - * LoadSettingsL() must be called afterwards. - */ -void CSymbian_ua_guiSettingItemList::LoadSettingValuesL() - { - // load values into iSettings - - TFileName path; - TFileName pathWithoutDrive; - CEikonEnv::Static()->FsSession().PrivatePath( pathWithoutDrive ); - - // Extract drive letter into appDrive: -#ifdef __WINS__ - path.Copy( _L("c:") ); -#else - RProcess process; - path.Copy( process.FileName().Left(2) ); -#endif - - path.Append( pathWithoutDrive ); - path.Append( KtxDicFileName ); - - TFindFile AufFolder(CCoeEnv::Static()->FsSession()); - if(KErrNone == AufFolder.FindByDir(path, KNullDesC)) - { - CDictionaryFileStore* MyDStore = CDictionaryFileStore::OpenLC(CCoeEnv::Static()->FsSession(),AufFolder.File(), TUid::Uid(1)); - TUid FileUid; - - FileUid.iUid = KRegistrar; - if(MyDStore->IsPresentL(FileUid)) - { - RDictionaryReadStream in; - in.OpenLC(*MyDStore,FileUid); - in >> iSettings.Ed_registrar(); - CleanupStack::PopAndDestroy(1);// in - } - - FileUid.iUid = KUsername; - if(MyDStore->IsPresentL(FileUid)) - { - RDictionaryReadStream in; - in.OpenLC(*MyDStore,FileUid); - in >> iSettings.Ed_user(); - CleanupStack::PopAndDestroy(1);// in - } - - FileUid.iUid = KPassword; - if(MyDStore->IsPresentL(FileUid)) - { - RDictionaryReadStream in; - in.OpenLC(*MyDStore,FileUid); - in >> iSettings.Ed_password(); - CleanupStack::PopAndDestroy(1);// in - } - - FileUid.iUid = KStunServer; - if(MyDStore->IsPresentL(FileUid)) - { - RDictionaryReadStream in; - in.OpenLC(*MyDStore,FileUid); - in >> iSettings.Ed_stun_server(); - CleanupStack::PopAndDestroy(1);// in - } - - FileUid.iUid = KSrtp; - if(MyDStore->IsPresentL(FileUid)) - { - RDictionaryReadStream in; - in.OpenLC(*MyDStore,FileUid); - iSettings.SetB_srtp((TBool)in.ReadInt32L()); - CleanupStack::PopAndDestroy(1);// in - } - - FileUid.iUid = KIce; - if(MyDStore->IsPresentL(FileUid)) - { - RDictionaryReadStream in; - in.OpenLC(*MyDStore,FileUid); - iSettings.SetB_ice((TBool)in.ReadInt32L()); - CleanupStack::PopAndDestroy(1);// in - } - - CleanupStack::PopAndDestroy(1);// Store - } - - } - -/** - * Save the contents of the setting items. Note, this is called - * whenever an item is changed and stored to the model, so it - * may be called multiple times or not at all. - */ -void CSymbian_ua_guiSettingItemList::SaveSettingValuesL() - { - // store values from iSettings - - TFileName path; - TFileName pathWithoutDrive; - CEikonEnv::Static()->FsSession().PrivatePath( pathWithoutDrive ); - - // Extract drive letter into appDrive: -#ifdef __WINS__ - path.Copy( _L("c:") ); -#else - RProcess process; - path.Copy( process.FileName().Left(2) ); - - if(path.Compare(_L("c")) || path.Compare(_L("C"))) - CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveC); - else if(path.Compare(_L("e")) || path.Compare(_L("E"))) - CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveE); -#endif - - path.Append( pathWithoutDrive ); - path.Append( KtxDicFileName ); - - TFindFile AufFolder(CCoeEnv::Static()->FsSession()); - if(KErrNone == AufFolder.FindByDir(path, KNullDesC)) - { - User::LeaveIfError(CCoeEnv::Static()->FsSession().Delete(AufFolder.File())); - } - - CDictionaryFileStore* MyDStore = CDictionaryFileStore::OpenLC(CCoeEnv::Static()->FsSession(),path, TUid::Uid(1)); - - TUid FileUid = {0x0}; - - FileUid.iUid = KRegistrar; - RDictionaryWriteStream out1; - out1.AssignLC(*MyDStore,FileUid); - out1 << iSettings.Ed_registrar(); - out1.CommitL(); - CleanupStack::PopAndDestroy(1);// out2 - - FileUid.iUid = KUsername; - RDictionaryWriteStream out2; - out2.AssignLC(*MyDStore,FileUid); - out2 << iSettings.Ed_user(); - out2.CommitL(); - CleanupStack::PopAndDestroy(1);// out2 - - FileUid.iUid = KPassword; - RDictionaryWriteStream out3; - out3.AssignLC(*MyDStore,FileUid); - out3 << iSettings.Ed_password(); - out3.CommitL(); - CleanupStack::PopAndDestroy(1);// out2 - - FileUid.iUid = KStunServer; - RDictionaryWriteStream out4; - out4.AssignLC(*MyDStore,FileUid); - out4 << iSettings.Ed_stun_server(); - out4.CommitL(); - CleanupStack::PopAndDestroy(1);// out2 - - FileUid.iUid = KSrtp; - RDictionaryWriteStream out5; - out5.AssignLC(*MyDStore,FileUid); - out5.WriteInt32L(iSettings.B_srtp()); - out5.CommitL(); - CleanupStack::PopAndDestroy(1);// out1 - - FileUid.iUid = KIce; - RDictionaryWriteStream out6; - out6.AssignLC(*MyDStore,FileUid); - out6.WriteInt32L(iSettings.B_ice()); - out6.CommitL(); - CleanupStack::PopAndDestroy(1);// out1 - - MyDStore->CommitL(); - CleanupStack::PopAndDestroy(1);// Store - - } - - -/** - * Handle global resource changes, such as scalable UI or skin events (override) - */ -void CSymbian_ua_guiSettingItemList::HandleResourceChange( TInt aType ) - { - CAknSettingItemList::HandleResourceChange( aType ); - SetRect( iAvkonViewAppUi->View( TUid::Uid( ESymbian_ua_guiSettingItemListViewId ) )->ClientRect() ); - // [[[ begin generated region: do not modify [Generated Contents] - // ]]] end generated region [Generated Contents] - - } - -/** - * Handle key event (override) - * @param aKeyEvent key event - * @param aType event code - * @return EKeyWasConsumed if the event was handled, else EKeyWasNotConsumed - */ -TKeyResponse CSymbian_ua_guiSettingItemList::OfferKeyEventL( - const TKeyEvent& aKeyEvent, - TEventCode aType ) - { - // [[[ begin generated region: do not modify [Generated Contents] - // ]]] end generated region [Generated Contents] - - if ( aKeyEvent.iCode == EKeyLeftArrow - || aKeyEvent.iCode == EKeyRightArrow ) - { - // allow the tab control to get the arrow keys - return EKeyWasNotConsumed; - } - - return CAknSettingItemList::OfferKeyEventL( aKeyEvent, aType ); - } - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemListView.cpp b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemListView.cpp deleted file mode 100644 index aa8155d922f71bb077dc09c34adbf17177e20e4d..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiSettingItemListView.cpp +++ /dev/null @@ -1,295 +0,0 @@ -/* $Id: symbian_ua_guiSettingItemListView.cpp 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -// [[[ begin generated region: do not modify [Generated System Includes] -#include <aknviewappui.h> -#include <eikmenub.h> -#include <avkon.hrh> -#include <akncontext.h> -#include <akntitle.h> -#include <stringloader.h> -#include <barsread.h> -#include <eikbtgpc.h> -#include <symbian_ua_gui.rsg> -// ]]] end generated region [Generated System Includes] - -// [[[ begin generated region: do not modify [Generated User Includes] -#include "symbian_ua_gui.hrh" -#include "symbian_ua_guiSettingItemListView.h" -#include "symbian_ua_guiContainer.hrh" -#include "symbian_ua_guiSettingItemList.hrh" -#include "symbian_ua_guiSettingItemList.h" -// ]]] end generated region [Generated User Includes] - -#include "symbian_ua.h" - -// [[[ begin generated region: do not modify [Generated Constants] -// ]]] end generated region [Generated Constants] - -/** - * First phase of Symbian two-phase construction. Should not contain any - * code that could leave. - */ -Csymbian_ua_guiSettingItemListView::Csymbian_ua_guiSettingItemListView() - { - // [[[ begin generated region: do not modify [Generated Contents] - // ]]] end generated region [Generated Contents] - - } -/** - * The view's destructor removes the container from the control - * stack and destroys it. - */ -Csymbian_ua_guiSettingItemListView::~Csymbian_ua_guiSettingItemListView() - { - // [[[ begin generated region: do not modify [Generated Contents] - // ]]] end generated region [Generated Contents] - - } - -/** - * Symbian two-phase constructor. - * This creates an instance then calls the second-phase constructor - * without leaving the instance on the cleanup stack. - * @return new instance of Csymbian_ua_guiSettingItemListView - */ -Csymbian_ua_guiSettingItemListView* Csymbian_ua_guiSettingItemListView::NewL() - { - Csymbian_ua_guiSettingItemListView* self = Csymbian_ua_guiSettingItemListView::NewLC(); - CleanupStack::Pop( self ); - return self; - } - -/** - * Symbian two-phase constructor. - * This creates an instance, pushes it on the cleanup stack, - * then calls the second-phase constructor. - * @return new instance of Csymbian_ua_guiSettingItemListView - */ -Csymbian_ua_guiSettingItemListView* Csymbian_ua_guiSettingItemListView::NewLC() - { - Csymbian_ua_guiSettingItemListView* self = new ( ELeave ) Csymbian_ua_guiSettingItemListView(); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - - -/** - * Second-phase constructor for view. - * Initialize contents from resource. - */ -void Csymbian_ua_guiSettingItemListView::ConstructL() - { - // [[[ begin generated region: do not modify [Generated Code] - BaseConstructL( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_VIEW ); - // ]]] end generated region [Generated Code] - - // add your own initialization code here - } - -/** - * @return The UID for this view - */ -TUid Csymbian_ua_guiSettingItemListView::Id() const - { - return TUid::Uid( ESymbian_ua_guiSettingItemListViewId ); - } - -/** - * Handle a command for this view (override) - * @param aCommand command id to be handled - */ -void Csymbian_ua_guiSettingItemListView::HandleCommandL( TInt aCommand ) - { - // [[[ begin generated region: do not modify [Generated Code] - TBool commandHandled = EFalse; - switch ( aCommand ) - { // code to dispatch to the AknView's menu and CBA commands is generated here - - case EAknSoftkeySave: - commandHandled = HandleControlPaneRightSoftKeyPressedL( aCommand ); - break; - case ESymbian_ua_guiSettingItemListViewMenuItem1Command: - commandHandled = HandleChangeSelectedSettingItemL( aCommand ); - break; - default: - break; - } - - - if ( !commandHandled ) - { - - } - // ]]] end generated region [Generated Code] - - } - -/** - * Handles user actions during activation of the view, - * such as initializing the content. - */ -void Csymbian_ua_guiSettingItemListView::DoActivateL( - const TVwsViewId& /*aPrevViewId*/, - TUid /*aCustomMessageId*/, - const TDesC8& /*aCustomMessage*/ ) - { - // [[[ begin generated region: do not modify [Generated Contents] - SetupStatusPaneL(); - - CEikButtonGroupContainer* cba = AppUi()->Cba(); - if ( cba != NULL ) - { - cba->MakeVisible( EFalse ); - } - - if ( iSymbian_ua_guiSettingItemList == NULL ) - { - iSettings = TSymbian_ua_guiSettingItemListSettings::NewL(); - iSymbian_ua_guiSettingItemList = new ( ELeave ) CSymbian_ua_guiSettingItemList( *iSettings, this ); - iSymbian_ua_guiSettingItemList->SetMopParent( this ); - iSymbian_ua_guiSettingItemList->ConstructFromResourceL( R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_SYMBIAN_UA_GUI_SETTING_ITEM_LIST ); - iSymbian_ua_guiSettingItemList->ActivateL(); - iSymbian_ua_guiSettingItemList->LoadSettingValuesL(); - iSymbian_ua_guiSettingItemList->LoadSettingsL(); - AppUi()->AddToStackL( *this, iSymbian_ua_guiSettingItemList ); - } - // ]]] end generated region [Generated Contents] - - } - -/** - */ -void Csymbian_ua_guiSettingItemListView::DoDeactivate() - { - // [[[ begin generated region: do not modify [Generated Contents] - CleanupStatusPane(); - - CEikButtonGroupContainer* cba = AppUi()->Cba(); - if ( cba != NULL ) - { - cba->MakeVisible( ETrue ); - cba->DrawDeferred(); - } - - if ( iSymbian_ua_guiSettingItemList != NULL ) - { - AppUi()->RemoveFromStack( iSymbian_ua_guiSettingItemList ); - delete iSymbian_ua_guiSettingItemList; - iSymbian_ua_guiSettingItemList = NULL; - delete iSettings; - iSettings = NULL; - } - // ]]] end generated region [Generated Contents] - - } - -// [[[ begin generated function: do not modify -void Csymbian_ua_guiSettingItemListView::SetupStatusPaneL() - { - // reset the context pane - TUid contextPaneUid = TUid::Uid( EEikStatusPaneUidContext ); - CEikStatusPaneBase::TPaneCapabilities subPaneContext = - StatusPane()->PaneCapabilities( contextPaneUid ); - if ( subPaneContext.IsPresent() && subPaneContext.IsAppOwned() ) - { - CAknContextPane* context = static_cast< CAknContextPane* > ( - StatusPane()->ControlL( contextPaneUid ) ); - context->SetPictureToDefaultL(); - } - - // setup the title pane - TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle ); - CEikStatusPaneBase::TPaneCapabilities subPaneTitle = - StatusPane()->PaneCapabilities( titlePaneUid ); - if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() ) - { - CAknTitlePane* title = static_cast< CAknTitlePane* >( - StatusPane()->ControlL( titlePaneUid ) ); - TResourceReader reader; - iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_SETTING_ITEM_LIST_TITLE_RESOURCE ); - title->SetFromResourceL( reader ); - CleanupStack::PopAndDestroy(); // reader internal state - } - - } -// ]]] end generated function - -// [[[ begin generated function: do not modify -void Csymbian_ua_guiSettingItemListView::CleanupStatusPane() - { - } -// ]]] end generated function - -/** - * Handle status pane size change for this view (override) - */ -void Csymbian_ua_guiSettingItemListView::HandleStatusPaneSizeChange() - { - CAknView::HandleStatusPaneSizeChange(); - - // this may fail, but we're not able to propagate exceptions here - TInt result; - TRAP( result, SetupStatusPaneL() ); - } - -/** - * Handle the selected event. - * @param aCommand the command id invoked - * @return ETrue if the command was handled, EFalse if not - */ -TBool Csymbian_ua_guiSettingItemListView::HandleChangeSelectedSettingItemL( TInt aCommand ) - { - iSymbian_ua_guiSettingItemList->ChangeSelectedItemL(); - return ETrue; - } - -/** - * Handle the rightSoftKeyPressed event. - * @return ETrue if the command was handled, EFalse if not - */ -TBool Csymbian_ua_guiSettingItemListView::HandleControlPaneRightSoftKeyPressedL( TInt aCommand ) - { - TUint8 domain[256] = {0}; - TPtr8 cDomain(domain, sizeof(domain)); - TUint8 user[64] = {0}; - TPtr8 cUser(user, sizeof(user)); - TUint8 pass[64] = {0}; - TPtr8 cPass(pass, sizeof(pass)); - - cDomain.Copy(iSettings->Ed_registrar()); - cUser.Copy(iSettings->Ed_user()); - cPass.Copy(iSettings->Ed_password()); - symbian_ua_set_account((char*)domain, (char*)user, (char*)pass, false, false); - - AppUi()->ActivateLocalViewL(TUid::Uid(ESymbian_ua_guiContainerViewId)); - return ETrue; - } - -/** - * Handle the selected event. - * @param aCommand the command id invoked - * @return ETrue if the command was handled, EFalse if not - */ -TBool Csymbian_ua_guiSettingItemListView::HandleCancelMenuItemSelectedL( TInt aCommand ) - { - AppUi()->ActivateLocalViewL(TUid::Uid(ESymbian_ua_guiContainerViewId)); - return ETrue; - } - diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiContainer.uidesign b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiContainer.uidesign deleted file mode 100644 index 3867c1b15cad2b04617bd0de1ed9bef5e45884bb..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiContainer.uidesign +++ /dev/null @@ -1,382 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<designerData version="1.1.0"> - <componentManifest> - <manifestEntry id="com.nokia.sdt.series60.CAknView" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.DesignTimeContainer" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StatusPane" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.ControlBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitle" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitleBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CBA" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CBABase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CCoeControl" version="1.1.0"/> - <manifestEntry id="com.nokia.sdt.series60.ContainerBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CEikLabel" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CCoeControlBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CEikEdwin" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CEikEdwinBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.EditorBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuBar" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuPane" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuItem" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuItemBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StandardNote" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.NonLayoutBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.ConfirmationQuery" version="1.0.0"/> - </componentManifest> - <property id="com.nokia.sdt.symbian.dm.RESOURCE_DIRECTORY_ID">data</property> - <property id="com.nokia.sdt.component.symbian.vendor">com.nokia.series60</property> - <property id="com.nokia.sdt.component.symbian.version">3.0.1</property> - <property id="com.nokia.sdt.symbian.dm.COMPONENT_PROVIDER">com.nokia.sdt.component.symbian.Symbian-Provider</property> - <property id="com.nokia.sdt.symbian.dm.INCLUDE_DIRECTORY_ID">inc</property> - <property id="com.nokia.sdt.symbian.dm.SOURCE_DIRECTORY_ID">src</property> - <property id="com.nokia.sdt.symbian.dm.SOURCEGEN_PROVIDER">com.nokia.sdt.sourcegen.Symbian-Provider</property> - <property id="com.nokia.sdt.symbian.dm.BUILD_DIRECTORY_ID">group</property> - <component id="com.nokia.sdt.series60.CAknView"> - <property id="className">Csymbian_ua_guiContainerView</property> - <compoundProperty id="location"> - <property id="x">52</property> - <property id="y">45</property> - </compoundProperty> - <property id="optionsMenu" type="componentRef">optionsMenu</property> - <property id="name">symbian_ua_guiContainerView</property> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">320</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.StatusPane"> - <compoundProperty id="location"> - <property id="x">20</property> - </compoundProperty> - <property id="name">statusPane</property> - <compoundProperty id="size"> - <property id="width">204</property> - <property id="height">66</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.StatusPaneTitle"> - <compoundProperty id="location"> - <property id="x">56</property> - </compoundProperty> - <property id="name">title</property> - <property id="titleText" type="i18n">STR_symbian_ua_guiContainerView_1</property> - <compoundProperty id="size"> - <property id="width">148</property> - <property id="height">43</property> - </compoundProperty> - <compoundProperty id="image"/> - </component> - </component> - <component id="com.nokia.sdt.series60.CBA"> - <compoundProperty id="location"> - <property id="y">288</property> - </compoundProperty> - <compoundProperty id="info"> - <property id="rightId">UNIQUE</property> - <property id="leftText" type="i18n">STR_symbian_ua_guiContainerView_7</property> - <property id="rightText" type="i18n">STR_symbian_ua_guiContainerView_8</property> - </compoundProperty> - <property id="name">controlPane</property> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">32</property> - </compoundProperty> - <eventBinding id="rightSoftKeyPressed" handlerDisplay="CallSoftKeyPressedL" handlerSymbol="cpp@src//symbian_ua_guiContainerView.cpp/function(Csymbian_ua_guiContainerView::CallSoftKeyPressedL(TInt))"/> - </component> - <component id="com.nokia.sdt.series60.CCoeControl"> - <property id="initialFocus" type="componentRef">ed_url</property> - <compoundProperty id="location"> - <property id="y">66</property> - </compoundProperty> - <property id="className">CSymbian_ua_guiContainer</property> - <property id="name">symbian_ua_guiContainer</property> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">222</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.CEikLabel"> - <compoundProperty id="location"> - <property id="x">2</property> - <property id="y">23</property> - </compoundProperty> - <property id="name">label1</property> - <property id="text" type="i18n">STR_symbian_ua_guiContainerView_2</property> - <compoundProperty id="size"> - <property id="width">32</property> - <property id="height">28</property> - </compoundProperty> - </component> - <component id="com.nokia.sdt.series60.CEikEdwin"> - <property id="defaultCase">EAknEditorLowerCase</property> - <compoundProperty id="size"> - <property id="width">197</property> - <property id="height">28</property> - </compoundProperty> - <compoundProperty id="avkonFlags"> - <property id="EAknEditorFlagNoT9">true</property> - <property id="EAknEditorFlagFixedCase">false</property> - <property id="EAknEditorFlagNoEditIndicators">false</property> - <property id="EAknEditorFlagNoLRNavigation">false</property> - <property id="EAknEditorFlagSupressShiftMenu">true</property> - <property id="EAknEditorFlagEnableScrollBars">false</property> - <property id="EAknEditorFlagMTAutoOverwrite">false</property> - <property id="EAknEditorFlagUseSCTNumericCharmap">false</property> - <property id="EAknEditorFlagLatinInputModesOnly">false</property> - <property id="EAknEditorFlagForceTransparentFepModes">false</property> - <property id="EAknEditorFlagAllowEntersWithScrollDown">false</property> - <property id="EAknEditorFlagEnablePictographInput">false</property> - <property id="EAknEditorFlagFindPane">false</property> - </compoundProperty> - <compoundProperty id="location"> - <property id="x">49</property> - <property id="y">25</property> - </compoundProperty> - <compoundProperty id="flags"/> - <compoundProperty id="allowedCaseModes"/> - <property id="name">ed_url</property> - <property id="text" type="i18n">STR_symbian_ua_guiContainerView_4</property> - <compoundProperty id="allowedInputModes"> - <property id="EAknEditorFullWidthTextInputMode">true</property> - <property id="EAknEditorFullWidthNumericInputMode">true</property> - <property id="EAknEditorHalfWidthTextInputMode">true</property> - <property id="EAknEditorTextInputMode">true</property> - <property id="EAknEditorNumericInputMode">true</property> - <property id="EAknEditorSecretAlphaInputMode">true</property> - <property id="EAknEditorFullWidthKatakanaInputMode">false</property> - <property id="EAknEditorHiraganaInputMode">false</property> - <property id="EAknEditorHiraganaKanjiInputMode">false</property> - <property id="EAknEditorKatakanaInputMode">false</property> - </compoundProperty> - <property id="specialCharacterTable">R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG</property> - </component> - <component id="com.nokia.sdt.series60.CEikEdwin"> - <compoundProperty id="size"> - <property id="width">235</property> - <property id="height">143</property> - </compoundProperty> - <compoundProperty id="avkonFlags"> - <property id="EAknEditorFlagNoEditIndicators">true</property> - <property id="EAknEditorFlagFixedCase">false</property> - <property id="EAknEditorFlagNoT9">false</property> - <property id="EAknEditorFlagNoLRNavigation">false</property> - <property id="EAknEditorFlagSupressShiftMenu">false</property> - <property id="EAknEditorFlagEnableScrollBars">true</property> - <property id="EAknEditorFlagMTAutoOverwrite">false</property> - <property id="EAknEditorFlagUseSCTNumericCharmap">false</property> - <property id="EAknEditorFlagLatinInputModesOnly">false</property> - <property id="EAknEditorFlagForceTransparentFepModes">false</property> - <property id="EAknEditorFlagAllowEntersWithScrollDown">false</property> - <property id="EAknEditorFlagEnablePictographInput">false</property> - <property id="EAknEditorFlagFindPane">false</property> - </compoundProperty> - <compoundProperty id="location"> - <property id="x">3</property> - <property id="y">78</property> - </compoundProperty> - <compoundProperty id="flags"> - <property id="EEikEdwinReadOnly">true</property> - <property id="EEikEdwinKeepDocument">false</property> - <property id="EEikEdwinSegmentedStorage">false</property> - <property id="EEikEdwinNoAutoSelection">false</property> - <property id="EEikEdwinJustAutoCurEnd">false</property> - <property id="EEikEdwinNoWrap">false</property> - <property id="EEikEdwinLineCursor">false</property> - <property id="EEikEdwinNoHorizScrolling">false</property> - <property id="EEikEdwinInclusiveSizeFixed">false</property> - <property id="EEikEdwinDisplayOnly">false</property> - <property id="EEikEdwinAlwaysShowSelection">false</property> - <property id="EEikEdwinAllowPictures">false</property> - <property id="EEikEdwinAllowUndo">false</property> - <property id="EEikEdwinNoLineOrParaBreaks">false</property> - <property id="EEikEdwinOnlyASCIIChars">false</property> - <property id="EEikEdwinIgnoreVirtualCursor">false</property> - <property id="EEikEdwinAvkonDisableCursor">false</property> - <property id="EEikEdwinAlternativeWrapping">false</property> - <property id="EEikEdwinResizable">false</property> - </compoundProperty> - <compoundProperty id="allowedCaseModes"/> - <property id="maxLength">2000</property> - <property id="name">ed_info</property> - <property id="text" type="i18n">STR_symbian_ua_guiContainerView_3</property> - <compoundProperty id="allowedInputModes"> - <property id="EAknEditorKatakanaInputMode">true</property> - <property id="EAknEditorFullWidthTextInputMode">true</property> - <property id="EAknEditorFullWidthNumericInputMode">true</property> - <property id="EAknEditorFullWidthKatakanaInputMode">true</property> - <property id="EAknEditorHiraganaKanjiInputMode">true</property> - <property id="EAknEditorHalfWidthTextInputMode">true</property> - </compoundProperty> - <property id="lines">10</property> - </component> - </component> - <component id="com.nokia.sdt.series60.MenuBar"> - <compoundProperty id="location"> - <property id="x">3</property> - <property id="y">215</property> - </compoundProperty> - <property id="name">optionsMenu</property> - <compoundProperty id="size"> - <property id="height">73</property> - <property id="width">237</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.MenuPane"> - <compoundProperty id="location"/> - <property id="name">menuPane1</property> - <compoundProperty id="size"> - <property id="height">73</property> - <property id="width">237</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.MenuItem"> - <compoundProperty id="location"> - <property id="x">5</property> - <property id="y">2</property> - </compoundProperty> - <property id="name">settingMenuItem</property> - <property id="text" type="i18n">STR_symbian_ua_guiContainerView_9</property> - <compoundProperty id="size"> - <property id="width">222</property> - <property id="height">33</property> - </compoundProperty> - <eventBinding id="selected" handlerDisplay="HandleSettingMenuItemSelectedL" handlerSymbol="cpp@src//symbian_ua_guiContainerView.cpp/function(Csymbian_ua_guiContainerView::HandleSettingMenuItemSelectedL(TInt))"/> - </component> - <component id="com.nokia.sdt.series60.MenuItem"> - <compoundProperty id="location"> - <property id="x">5</property> - <property id="y">35</property> - </compoundProperty> - <property id="name">exitMenuItem</property> - <property id="text" type="i18n">STR_symbian_ua_guiContainerView_10</property> - <property id="command">EAknCmdExit</property> - <compoundProperty id="size"> - <property id="width">222</property> - <property id="height">33</property> - </compoundProperty> - </component> - </component> - </component> - <component id="com.nokia.sdt.series60.StandardNote"> - <property id="type">CAknErrorNote</property> - <compoundProperty id="location"> - <property id="x">8</property> - <property id="y">171</property> - </compoundProperty> - <property id="name">note_error</property> - <property id="text" type="i18n">STR_symbian_ua_guiContainerView_13</property> - <compoundProperty id="size"> - <property id="width">227</property> - <property id="height">114</property> - </compoundProperty> - </component> - <component id="com.nokia.sdt.series60.StandardNote"> - <property id="type">CAknInformationNote</property> - <compoundProperty id="location"> - <property id="x">8</property> - <property id="y">171</property> - </compoundProperty> - <property id="name">note_info</property> - <property id="text" type="i18n">STR_symbian_ua_guiContainerView_16</property> - <compoundProperty id="size"> - <property id="width">227</property> - <property id="height">114</property> - </compoundProperty> - </component> - <component id="com.nokia.sdt.series60.StandardNote"> - <property id="type">CAknWarningNote</property> - <compoundProperty id="location"> - <property id="x">8</property> - <property id="y">171</property> - </compoundProperty> - <property id="name">note_warning</property> - <property id="text" type="i18n">STR_symbian_ua_guiContainerView_17</property> - <compoundProperty id="size"> - <property id="width">227</property> - <property id="height">114</property> - </compoundProperty> - </component> - <component id="com.nokia.sdt.series60.ConfirmationQuery"> - <compoundProperty id="location"> - <property id="x">0</property> - <property id="y">171</property> - </compoundProperty> - <property id="name">qry_accept_call</property> - <property id="text" type="i18n">STR_symbian_ua_guiContainerView_18</property> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">149</property> - </compoundProperty> - </component> - </component> - <stringBundle> - <stringTable language="LANG_English"> - <string id="STR_symbian_ua_guiContainerView_1">PJSUA for S60</string> - <string id="STR_symbian_ua_guiContainerView_2">URL</string> - <string id="STR_symbian_ua_guiContainerView_4">sip:</string> - <string id="STR_symbian_ua_guiContainerView_7">Options</string> - <string id="STR_symbian_ua_guiContainerView_8">Call</string> - <string id="STR_symbian_ua_guiContainerView_9">Setting</string> - <string id="STR_symbian_ua_guiContainerView_10">Exit</string> - <string id="STR_symbian_ua_guiContainerView_3"/> - <string id="STR_symbian_ua_guiContainerView_13">Failed initializing PJSUA!</string> - <string id="STR_symbian_ua_guiContainerView_16">Register Success</string> - <string id="STR_symbian_ua_guiContainerView_17">Register Failed</string> - <string id="STR_symbian_ua_guiContainerView_18">Accept Call</string> - </stringTable> - </stringBundle> - <macroTable/> - <sourceMappingState> - <resourceMappings> - <resourceMapping instanceName="qry_accept_call">r_symbian_ua_gui_container_qry_accept_call</resourceMapping> - <resourceMapping instanceName="note_warning">r_symbian_ua_gui_container_note_warning</resourceMapping> - <resourceMapping instanceName="ed_info" rsrcId="text">r_symbian_ua_gui_container_ed_info_2</resourceMapping> - <resourceMapping instanceName="optionsMenu">r_symbian_ua_gui_container_options_menu</resourceMapping> - <resourceMapping instanceName="menuPane1">r_symbian_ua_gui_container_menu_pane1_menu_pane</resourceMapping> - <resourceMapping instanceName="title">r_symbian_ua_gui_container_title_resource</resourceMapping> - <resourceMapping instanceName="statusPane">r_symbian_ua_gui_container_status_pane</resourceMapping> - <resourceMapping instanceName="ed_url">r_symbian_ua_gui_container_ed_url</resourceMapping> - <resourceMapping instanceName="symbian_ua_guiContainerView">r_symbian_ua_gui_container_symbian_ua_gui_container_view</resourceMapping> - <resourceMapping instanceName="label1">r_symbian_ua_gui_container_label1</resourceMapping> - <resourceMapping instanceName="controlPane">r_symbian_ua_gui_container_control_pane</resourceMapping> - <resourceMapping instanceName="ed_url" rsrcId="text">r_symbian_ua_gui_container_ed_url_2</resourceMapping> - <resourceMapping instanceName="note_info">r_symbian_ua_gui_container_note_info</resourceMapping> - <resourceMapping instanceName="note_error">r_symbian_ua_gui_container_note_error</resourceMapping> - <resourceMapping instanceName="ed_info">r_symbian_ua_gui_container_ed_info</resourceMapping> - </resourceMappings> - <enumMappings> - <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EAknCtTitlePane</enumMapping> - <enumMapping instanceName="settingMenuItem" propertyId="command" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">ESymbian_ua_guiContainerViewSettingMenuItemCommand</enumMapping> - <enumMapping instanceName="ed_info" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping> - <enumMapping instanceName="label1" propertyId="font">EEikLabelFontNormal</enumMapping> - <enumMapping instanceName="ed_url" propertyId="defaultCase">EAknEditorLowerCase</enumMapping> - <enumMapping instanceName="symbian_ua_guiContainerView" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">ESymbian_ua_guiContainerViewId</enumMapping> - <enumMapping instanceName="label1" propertyId="alignment">EEikLabelAlignHCenter</enumMapping> - <enumMapping instanceName="controlPane" propertyId="leftId" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">EAknSoftkeyOptions</enumMapping> - <enumMapping instanceName="qry_accept_call" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_DIALOG_LINE_ID">ESymbian_ua_guiContainerViewQry_accept_call</enumMapping> - <enumMapping instanceName="controlPane" propertyId="rightId" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">ESymbian_ua_guiContainerViewControlPaneRightId</enumMapping> - <enumMapping instanceName="exitMenuItem" propertyId="command" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">EAknCmdExit</enumMapping> - <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_STATUS_PANE_ID">EEikStatusPaneUidTitle</enumMapping> - <enumMapping instanceName="ed_url" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping> - <enumMapping instanceName="ed_info" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping> - <enumMapping instanceName="ed_url" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping> - <enumMapping instanceName="ed_info" propertyId="defaultCase">EAknEditorTextCase</enumMapping> - </enumMappings> - <arrayMappings/> - </sourceMappingState> - <generatedFiles> - <file>inc/symbian_ua_guiContainer.h</file> - <file>inc/symbian_ua_guiContainerView.h</file> - <file>src/symbian_ua_guiContainerView.cpp</file> - <file>src/symbian_ua_guiContainer.cpp</file> - <file>data/symbian_ua_gui.rss</file> - <file>data/symbian_ua_guiContainer.rssi</file> - <file>inc/symbian_ua_gui.hrh</file> - <file>inc/symbian_ua_guiContainer.hrh</file> - <file>data/symbian_ua_guiSettingItemList.rssi</file> - <file>inc/symbian_ua_guiSettingItemList.hrh</file> - <file>data/symbian_ua_gui.loc</file> - <file>data/symbian_ua_gui.l01</file> - <file>data/symbian_ua_guiContainer.loc</file> - <file>data/symbian_ua_guiContainer.l01</file> - <file>data/symbian_ua_guiSettingItemList.loc</file> - <file>data/symbian_ua_guiSettingItemList.l01</file> - </generatedFiles> -</designerData> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiSettingItemList.uidesign b/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiSettingItemList.uidesign deleted file mode 100644 index 95962b69772766c4fcc14b4a935920dd31cac4ea..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/symbian_ua_guiSettingItemList.uidesign +++ /dev/null @@ -1,380 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<designerData version="1.1.0"> - <componentManifest> - <manifestEntry id="com.nokia.sdt.series60.CAknView" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.DesignTimeContainer" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StatusPane" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.ControlBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitle" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitleBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CBA" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CBABase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CAknSettingItemList" version="1.1.0"/> - <manifestEntry id="com.nokia.sdt.series60.ContainerBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CEikEdwin" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CEikEdwinBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.EditorBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CCoeControlBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.SecretEditor" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CAknBinaryPopupSettingItem" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.EnumeratedTextPopupBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuBar" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuPane" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuItem" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.MenuItemBase" version="1.0.0"/> - </componentManifest> - <property id="com.nokia.sdt.symbian.dm.RESOURCE_DIRECTORY_ID">data</property> - <property id="com.nokia.sdt.component.symbian.vendor">com.nokia.series60</property> - <property id="com.nokia.sdt.component.symbian.version">3.0.1</property> - <property id="com.nokia.sdt.symbian.dm.COMPONENT_PROVIDER">com.nokia.sdt.component.symbian.Symbian-Provider</property> - <property id="com.nokia.sdt.symbian.dm.INCLUDE_DIRECTORY_ID">inc</property> - <property id="com.nokia.sdt.symbian.dm.SOURCE_DIRECTORY_ID">src</property> - <property id="com.nokia.sdt.symbian.dm.SOURCEGEN_PROVIDER">com.nokia.sdt.sourcegen.Symbian-Provider</property> - <property id="com.nokia.sdt.symbian.dm.BUILD_DIRECTORY_ID">group</property> - <component id="com.nokia.sdt.series60.CAknView"> - <property id="className">Csymbian_ua_guiSettingItemListView</property> - <compoundProperty id="location"> - <property id="x">52</property> - <property id="y">45</property> - </compoundProperty> - <property id="optionsMenu" type="componentRef">optionsMenu</property> - <property id="name">symbian_ua_guiSettingItemListView</property> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">320</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.StatusPane"> - <compoundProperty id="location"> - <property id="x">20</property> - </compoundProperty> - <property id="name">statusPane</property> - <compoundProperty id="size"> - <property id="width">204</property> - <property id="height">66</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.StatusPaneTitle"> - <compoundProperty id="location"> - <property id="x">56</property> - </compoundProperty> - <property id="name">title</property> - <property id="titleText" type="i18n">STR_symbian_ua_guiSettingItemListView_2</property> - <compoundProperty id="size"> - <property id="width">148</property> - <property id="height">43</property> - </compoundProperty> - <compoundProperty id="image"/> - </component> - </component> - <component id="com.nokia.sdt.series60.CBA"> - <compoundProperty id="location"> - <property id="y">288</property> - </compoundProperty> - <compoundProperty id="info"> - <property id="leftText" type="i18n">STR_symbian_ua_guiSettingItemListView_140</property> - <property id="rightText" type="i18n">STR_symbian_ua_guiSettingItemListView_141</property> - <property id="rightId">EAknSoftkeySave</property> - </compoundProperty> - <property id="name">controlPane</property> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">32</property> - </compoundProperty> - <eventBinding id="rightSoftKeyPressed" handlerDisplay="HandleControlPaneRightSoftKeyPressedL" handlerSymbol="cpp@src//symbian_ua_guiSettingItemListView.cpp/function(Csymbian_ua_guiSettingItemListView::HandleControlPaneRightSoftKeyPressedL(TInt))"/> - </component> - <component id="com.nokia.sdt.series60.CAknSettingItemList"> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">222</property> - </compoundProperty> - <property id="className">CSymbian_ua_guiSettingItemList</property> - <compoundProperty id="location"> - <property id="y">66</property> - </compoundProperty> - <property id="EAknSettingItemNumberedStyle">false</property> - <property id="title" type="i18n">STR_symbian_ua_guiSettingItemListView_1</property> - <property id="name">symbian_ua_guiSettingItemList</property> - <property id="exitsApp">false</property> - <component id="com.nokia.sdt.series60.CEikEdwin"> - <compoundProperty id="size"> - <property id="height">58</property> - <property id="width">240</property> - </compoundProperty> - <property id="defaultCase">EAknEditorLowerCase</property> - <compoundProperty id="avkonFlags"/> - <compoundProperty id="location"> - <property id="x">0</property> - <property id="y">0</property> - </compoundProperty> - <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_5</property> - <compoundProperty id="flags"/> - <compoundProperty id="allowedCaseModes"/> - <property id="name">ed_registrar</property> - <property id="text" type="i18n">STR_symbian_ua_guiSettingItemListView_3</property> - <compoundProperty id="allowedInputModes"> - <property id="EAknEditorKatakanaInputMode">true</property> - <property id="EAknEditorFullWidthTextInputMode">true</property> - <property id="EAknEditorFullWidthNumericInputMode">true</property> - <property id="EAknEditorFullWidthKatakanaInputMode">true</property> - <property id="EAknEditorHiraganaKanjiInputMode">true</property> - <property id="EAknEditorHalfWidthTextInputMode">true</property> - </compoundProperty> - </component> - <component id="com.nokia.sdt.series60.CEikEdwin"> - <compoundProperty id="size"> - <property id="height">58</property> - <property id="width">240</property> - </compoundProperty> - <property id="defaultCase">EAknEditorLowerCase</property> - <compoundProperty id="avkonFlags"/> - <compoundProperty id="location"> - <property id="x">0</property> - <property id="y">58</property> - </compoundProperty> - <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_8</property> - <compoundProperty id="flags"/> - <compoundProperty id="allowedCaseModes"/> - <property id="name">ed_user</property> - <property id="text" type="i18n">STR_symbian_ua_guiSettingItemListView_7</property> - <compoundProperty id="allowedInputModes"> - <property id="EAknEditorKatakanaInputMode">true</property> - <property id="EAknEditorFullWidthTextInputMode">true</property> - <property id="EAknEditorFullWidthNumericInputMode">true</property> - <property id="EAknEditorFullWidthKatakanaInputMode">true</property> - <property id="EAknEditorHiraganaKanjiInputMode">true</property> - <property id="EAknEditorHalfWidthTextInputMode">true</property> - </compoundProperty> - </component> - <component id="com.nokia.sdt.series60.SecretEditor"> - <property id="maxLength">32</property> - <compoundProperty id="location"> - <property id="x">0</property> - <property id="y">116</property> - </compoundProperty> - <property id="name">ed_password</property> - <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_16</property> - <compoundProperty id="size"> - <property id="height">58</property> - <property id="width">240</property> - </compoundProperty> - </component> - <component id="com.nokia.sdt.series60.CAknBinaryPopupSettingItem"> - <sequenceProperty id="items"> - <compoundElement> - <property id="settingText" type="i18n">STR_symbian_ua_guiSettingItemListView_25</property> - <property id="popupText" type="i18n">STR_symbian_ua_guiSettingItemListView_26</property> - <property id="value">1</property> - </compoundElement> - <compoundElement> - <property id="settingText" type="i18n">STR_symbian_ua_guiSettingItemListView_27</property> - <property id="popupText" type="i18n">STR_symbian_ua_guiSettingItemListView_28</property> - </compoundElement> - </sequenceProperty> - <compoundProperty id="size"> - <property id="height">0</property> - <property id="width">240</property> - </compoundProperty> - <compoundProperty id="location"> - <property id="x">0</property> - <property id="y">174</property> - </compoundProperty> - <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_24</property> - <property id="active">1</property> - <property id="name">b_srtp</property> - <property id="itemHidden">true</property> - </component> - <component id="com.nokia.sdt.series60.CAknBinaryPopupSettingItem"> - <sequenceProperty id="items"> - <compoundElement> - <property id="settingText" type="i18n">STR_symbian_ua_guiSettingItemListView_47</property> - <property id="popupText" type="i18n">STR_symbian_ua_guiSettingItemListView_48</property> - <property id="value">1</property> - </compoundElement> - <compoundElement> - <property id="settingText" type="i18n">STR_symbian_ua_guiSettingItemListView_49</property> - <property id="popupText" type="i18n">STR_symbian_ua_guiSettingItemListView_50</property> - </compoundElement> - </sequenceProperty> - <compoundProperty id="size"> - <property id="height">0</property> - <property id="width">240</property> - </compoundProperty> - <compoundProperty id="location"> - <property id="x">0</property> - <property id="y">174</property> - </compoundProperty> - <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_46</property> - <property id="active">1</property> - <property id="name">b_ice</property> - <property id="itemHidden">true</property> - </component> - <component id="com.nokia.sdt.series60.CEikEdwin"> - <compoundProperty id="size"> - <property id="height">0</property> - <property id="width">240</property> - </compoundProperty> - <compoundProperty id="avkonFlags"/> - <compoundProperty id="location"> - <property id="x">0</property> - <property id="y">174</property> - </compoundProperty> - <property id="itemTitle" type="i18n">STR_symbian_ua_guiSettingItemListView_19</property> - <compoundProperty id="flags"/> - <compoundProperty id="allowedCaseModes"/> - <property id="name">ed_stun_server</property> - <property id="text" type="i18n">STR_symbian_ua_guiSettingItemListView_18</property> - <property id="itemHidden">true</property> - <compoundProperty id="allowedInputModes"> - <property id="EAknEditorKatakanaInputMode">true</property> - <property id="EAknEditorFullWidthTextInputMode">true</property> - <property id="EAknEditorFullWidthNumericInputMode">true</property> - <property id="EAknEditorFullWidthKatakanaInputMode">true</property> - <property id="EAknEditorHiraganaKanjiInputMode">true</property> - <property id="EAknEditorHalfWidthTextInputMode">true</property> - </compoundProperty> - </component> - </component> - <component id="com.nokia.sdt.series60.MenuBar"> - <compoundProperty id="location"> - <property id="x">3</property> - <property id="y">248</property> - </compoundProperty> - <property id="name">optionsMenu</property> - <compoundProperty id="size"> - <property id="height">40</property> - <property id="width">237</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.MenuPane"> - <compoundProperty id="location"/> - <property id="name">menuPane1</property> - <compoundProperty id="size"> - <property id="height">40</property> - <property id="width">237</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.MenuItem"> - <compoundProperty id="location"> - <property id="x">5</property> - <property id="y">2</property> - </compoundProperty> - <property id="name">menuItem1</property> - <property id="text" type="i18n">STR_symbian_ua_guiSettingItemListView_4</property> - <compoundProperty id="size"> - <property id="width">222</property> - <property id="height">33</property> - </compoundProperty> - <eventBinding id="selected" handlerDisplay="HandleChangeSelectedSettingItemL" handlerSymbol="cpp@src//symbian_ua_guiSettingItemListView.cpp/function(Csymbian_ua_guiSettingItemListView::HandleChangeSelectedSettingItemL(TInt))"/> - </component> - </component> - </component> - </component> - <stringBundle> - <stringTable language="LANG_English"> - <string id="STR_symbian_ua_guiSettingItemListView_1">Settings</string> - <string id="STR_symbian_ua_guiSettingItemListView_2">Account Settings</string> - <string id="STR_symbian_ua_guiSettingItemListView_4">Change</string> - <string id="STR_symbian_ua_guiSettingItemListView_3"/> - <string id="STR_symbian_ua_guiSettingItemListView_5">Registrar</string> - <string id="STR_symbian_ua_guiSettingItemListView_7"/> - <string id="STR_symbian_ua_guiSettingItemListView_8">User</string> - <string id="STR_symbian_ua_guiSettingItemListView_16">Password</string> - <string id="STR_symbian_ua_guiSettingItemListView_18"/> - <string id="STR_symbian_ua_guiSettingItemListView_19">STUN Server</string> - <string id="STR_symbian_ua_guiSettingItemListView_24">SRTP</string> - <string id="STR_symbian_ua_guiSettingItemListView_25">On</string> - <string id="STR_symbian_ua_guiSettingItemListView_26">Popup text for On</string> - <string id="STR_symbian_ua_guiSettingItemListView_27">Off</string> - <string id="STR_symbian_ua_guiSettingItemListView_28">Popup text for Off</string> - <string id="STR_symbian_ua_guiSettingItemListView_46">ICE</string> - <string id="STR_symbian_ua_guiSettingItemListView_47">On</string> - <string id="STR_symbian_ua_guiSettingItemListView_48">Popup text for On</string> - <string id="STR_symbian_ua_guiSettingItemListView_49">Off</string> - <string id="STR_symbian_ua_guiSettingItemListView_50">Popup text for Off</string> - <string id="STR_symbian_ua_guiSettingItemListView_140">Options</string> - <string id="STR_symbian_ua_guiSettingItemListView_141">Done</string> - </stringTable> - </stringBundle> - <macroTable/> - <sourceMappingState> - <resourceMappings> - <resourceMapping instanceName="b_srtp" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_b_srtp_setting_page_resource</resourceMapping> - <resourceMapping instanceName="ed_stun_server">r_symbian_ua_gui_setting_item_list_ed_stun_server_editor_resource_id</resourceMapping> - <resourceMapping instanceName="b_ice" rsrcId="setting">r_symbian_ua_gui_setting_item_list_b_ice_setting_texts_resource</resourceMapping> - <resourceMapping instanceName="ed_registrar">r_symbian_ua_gui_setting_item_list_ed_registrar_editor_resource_id</resourceMapping> - <resourceMapping instanceName="ed_user" rsrcId="text">r_symbian_ua_gui_setting_item_list_ed_user</resourceMapping> - <resourceMapping instanceName="b_srtp" rsrcId="popup">r_symbian_ua_gui_setting_item_list_b_srtp_popped_up_texts_resource</resourceMapping> - <resourceMapping instanceName="ed_stun_server" rsrcId="text">r_symbian_ua_gui_setting_item_list_ed_stun_server</resourceMapping> - <resourceMapping instanceName="optionsMenu">r_symbian_ua_gui_setting_item_list_options_menu</resourceMapping> - <resourceMapping instanceName="ed_password" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_ed_password_setting_page_resource</resourceMapping> - <resourceMapping instanceName="b_ice" rsrcId="popup">r_symbian_ua_gui_setting_item_list_b_ice_popped_up_texts_resource</resourceMapping> - <resourceMapping instanceName="symbian_ua_guiSettingItemListView">r_symbian_ua_gui_setting_item_list_symbian_ua_gui_setting_item_list_view</resourceMapping> - <resourceMapping instanceName="ed_password">r_symbian_ua_gui_setting_item_list_ed_password_editor_resource_id</resourceMapping> - <resourceMapping instanceName="symbian_ua_guiSettingItemList">r_symbian_ua_gui_setting_item_list_symbian_ua_gui_setting_item_list</resourceMapping> - <resourceMapping instanceName="b_ice" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_b_ice_setting_page_resource</resourceMapping> - <resourceMapping instanceName="statusPane">r_symbian_ua_gui_setting_item_list_status_pane</resourceMapping> - <resourceMapping instanceName="b_ice">r_symbian_ua_gui_setting_item_list_b_ice_editor_resource_id</resourceMapping> - <resourceMapping instanceName="ed_user">r_symbian_ua_gui_setting_item_list_ed_user_editor_resource_id</resourceMapping> - <resourceMapping instanceName="b_srtp" rsrcId="associated">r_symbian_ua_gui_setting_item_list_b_srtp</resourceMapping> - <resourceMapping instanceName="ed_registrar" rsrcId="text">r_symbian_ua_gui_setting_item_list_ed_registrar</resourceMapping> - <resourceMapping instanceName="b_srtp">r_symbian_ua_gui_setting_item_list_b_srtp_editor_resource_id</resourceMapping> - <resourceMapping instanceName="b_srtp" rsrcId="setting">r_symbian_ua_gui_setting_item_list_b_srtp_setting_texts_resource</resourceMapping> - <resourceMapping instanceName="ed_registrar" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_ed_registrar_setting_page_resource</resourceMapping> - <resourceMapping instanceName="menuPane1">r_symbian_ua_gui_setting_item_list_menu_pane1_menu_pane</resourceMapping> - <resourceMapping instanceName="ed_user" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_ed_user_setting_page_resource</resourceMapping> - <resourceMapping instanceName="controlPane">r_symbian_ua_gui_setting_item_list_control_pane</resourceMapping> - <resourceMapping instanceName="title">r_symbian_ua_gui_setting_item_list_title_resource</resourceMapping> - <resourceMapping instanceName="ed_stun_server" rsrcId="member$setting_page_resource">r_symbian_ua_gui_setting_item_list_ed_stun_server_setting_page_resource</resourceMapping> - <resourceMapping instanceName="b_ice" rsrcId="associated">r_symbian_ua_gui_setting_item_list_b_ice</resourceMapping> - </resourceMappings> - <enumMappings> - <enumMapping instanceName="menuItem1" propertyId="command" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">ESymbian_ua_guiSettingItemListViewMenuItem1Command</enumMapping> - <enumMapping instanceName="ed_password" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewEd_password</enumMapping> - <enumMapping instanceName="ed_user" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EEikCtEdwin</enumMapping> - <enumMapping instanceName="ed_stun_server" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewEd_stun_server</enumMapping> - <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_STATUS_PANE_ID">EEikStatusPaneUidTitle</enumMapping> - <enumMapping instanceName="ed_user" propertyId="defaultCase">EAknEditorLowerCase</enumMapping> - <enumMapping instanceName="b_ice" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewB_ice</enumMapping> - <enumMapping instanceName="ed_user" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping> - <enumMapping instanceName="ed_stun_server" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EEikCtEdwin</enumMapping> - <enumMapping instanceName="b_srtp" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewB_srtp</enumMapping> - <enumMapping instanceName="ed_user" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping> - <enumMapping instanceName="ed_registrar" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping> - <enumMapping instanceName="b_srtp" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EAknCtPopupSettingList</enumMapping> - <enumMapping instanceName="ed_registrar" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping> - <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EAknCtTitlePane</enumMapping> - <enumMapping instanceName="symbian_ua_guiSettingItemListView" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">ESymbian_ua_guiSettingItemListViewId</enumMapping> - <enumMapping instanceName="ed_registrar" propertyId="defaultCase">EAknEditorLowerCase</enumMapping> - <enumMapping instanceName="ed_password" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EEikCtSecretEd</enumMapping> - <enumMapping instanceName="controlPane" propertyId="leftId" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">EAknSoftkeyOptions</enumMapping> - <enumMapping instanceName="ed_user" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewEd_user</enumMapping> - <enumMapping instanceName="controlPane" propertyId="rightId" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">EAknSoftkeySave</enumMapping> - <enumMapping instanceName="ed_stun_server" propertyId="numericKeymap">EAknEditorStandardNumberModeKeymap</enumMapping> - <enumMapping instanceName="save_SettingsMenuItem" propertyId="command" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS">ESymbian_ua_guiSettingItemListViewSave_SettingsMenuItemCommand</enumMapping> - <enumMapping instanceName="ed_registrar" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_SETTING_ITEM_ID">ESymbian_ua_guiSettingItemListViewEd_registrar</enumMapping> - <enumMapping instanceName="ed_stun_server" propertyId="defaultInputMode">EAknEditorTextInputMode</enumMapping> - <enumMapping instanceName="b_ice" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EAknCtPopupSettingList</enumMapping> - <enumMapping instanceName="ed_registrar" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EEikCtEdwin</enumMapping> - <enumMapping instanceName="ed_stun_server" propertyId="defaultCase">EAknEditorTextCase</enumMapping> - </enumMappings> - <arrayMappings/> - </sourceMappingState> - <generatedFiles> - <file>src/symbian_ua_guiSettingItemList.cpp</file> - <file>src/Symbian_ua_guiSettingItemListSets.cpp</file> - <file>src/symbian_ua_guiSettingItemListView.cpp</file> - <file>inc/Symbian_ua_guiSettingItemListSettings.h</file> - <file>inc/symbian_ua_guiSettingItemList.h</file> - <file>inc/symbian_ua_guiSettingItemListView.h</file> - <file>data/symbian_ua_gui.rss</file> - <file>data/symbian_ua_guiContainer.rssi</file> - <file>inc/symbian_ua_gui.hrh</file> - <file>inc/symbian_ua_guiContainer.hrh</file> - <file>data/symbian_ua_guiSettingItemList.rssi</file> - <file>inc/symbian_ua_guiSettingItemList.hrh</file> - <file>data/symbian_ua_gui.loc</file> - <file>data/symbian_ua_gui.l01</file> - <file>data/symbian_ua_guiContainer.loc</file> - <file>data/symbian_ua_guiContainer.l01</file> - <file>data/symbian_ua_guiSettingItemList.loc</file> - <file>data/symbian_ua_guiSettingItemList.l01</file> - </generatedFiles> -</designerData> diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/Makefile b/daemon/libs/pjproject-2.1.0/pjsip/build/Makefile deleted file mode 100644 index 0f8fd13d2e0a31b20657f11d11ca4e659a3b3f1a..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip/build/Makefile +++ /dev/null @@ -1,191 +0,0 @@ -# For common OSes, test's main() is defined in main.c. -# OS specific configuration may want to put it in different file. -# For example, see os-rtems.mak in current directory. -export TEST_OBJS = main.o - -include ../../build.mak -include ../../version.mak -include $(PJDIR)/build/common.mak - -RULES_MAK := $(PJDIR)/build/rules.mak - -PJLIB_LIB:=../../pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT) -PJLIB_UTIL_LIB:=../../pjlib-util/lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT) -PJMEDIA_LIB:=../../pjmedia/lib/libpjmedia-$(TARGET_NAME)$(LIBEXT) -PJMEDIA_CODEC_LIB:=../../pjmedia/lib/libpjmedia-codec-$(TARGET_NAME)$(LIBEXT) - -export PJSIP_LIB:=../lib/libpjsip-$(TARGET_NAME)$(LIBEXT) -export PJSIP_UA_LIB:=../lib/libpjsip-ua-$(TARGET_NAME)$(LIBEXT) -export PJSIP_SIMPLE_LIB:=../lib/libpjsip-simple-$(TARGET_NAME)$(LIBEXT) -export PJSUA_LIB_LIB=../lib/libpjsua-$(TARGET_NAME)$(LIBEXT) - - -############################################################################### -# Gather all flags. -# -export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ - $(CFLAGS) $(CC_INC)../include \ - $(CC_INC)../../pjlib/include \ - $(CC_INC)../../pjlib-util/include \ - $(CC_INC)../../pjnath/include \ - $(CC_INC)../../pjmedia/include -export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ - $(HOST_CXXFLAGS) $(CXXFLAGS) - -############################################################################### -# Defines for building PJSIP core library -# -export PJSIP_SRCDIR = ../src/pjsip -export PJSIP_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ - sip_config.o sip_multipart.o \ - sip_errno.o sip_msg.o sip_parser.o sip_tel_uri.o sip_uri.o \ - sip_endpoint.o sip_util.o sip_util_proxy.o \ - sip_resolve.o sip_transport.o sip_transport_loop.o \ - sip_transport_udp.o sip_transport_tcp.o \ - sip_transport_tls.o sip_auth_aka.o sip_auth_client.o \ - sip_auth_msg.o sip_auth_parser.o \ - sip_auth_server.o \ - sip_transaction.o sip_util_statefull.o \ - sip_dialog.o sip_ua_layer.o -export PJSIP_CFLAGS += $(_CFLAGS) - -############################################################################### -# Defines for building PJSIP UA library -# -export PJSIP_UA_SRCDIR = ../src/pjsip-ua -export PJSIP_UA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ - sip_inv.o sip_reg.o sip_replaces.o sip_xfer.o \ - sip_100rel.o sip_timer.o -export PJSIP_UA_CFLAGS += $(_CFLAGS) - - -############################################################################### -# Defines for building PJSIP SIMPLE library -# -export PJSIP_SIMPLE_SRCDIR = ../src/pjsip-simple -export PJSIP_SIMPLE_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ - errno.o evsub.o evsub_msg.o iscomposing.o \ - mwi.o pidf.o presence.o presence_body.o publishc.o \ - rpid.o xpidf.o -export PJSIP_SIMPLE_CFLAGS += $(_CFLAGS) - - -############################################################################### -# Defines for building PJSUA-LIB library -# -export PJSUA_LIB_SRCDIR = ../src/pjsua-lib -export PJSUA_LIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ - pjsua_acc.o pjsua_call.o pjsua_core.o \ - pjsua_im.o pjsua_media.o pjsua_pres.o \ - pjsua_dump.o pjsua_aud.o pjsua_vid.o -export PJSUA_LIB_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) - - -export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT - -############################################################################### -# Defines for building test application -# -export TEST_SRCDIR = ../src/test -export TEST_OBJS += dlg_core_test.o dns_test.o msg_err_test.o \ - msg_logger.o msg_test.o multipart_test.o regc_test.o \ - test.o transport_loop_test.o transport_tcp_test.o \ - transport_test.o transport_udp_test.o \ - tsx_basic_test.o tsx_bench.o tsx_uac_test.o \ - tsx_uas_test.o txdata_test.o uri_test.o \ - inv_offer_answer_test.o -export TEST_CFLAGS += $(_CFLAGS) -export TEST_LDFLAGS += $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS) -export TEST_EXE := ../bin/pjsip-test-$(TARGET_NAME)$(HOST_EXE) - - -export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT -############################################################################### -# Main entry -# -# -TARGETS := pjsip pjsip-ua pjsip-simple pjsua-lib pjsip-test - -.PHONY: $(TARGETS) - -all: $(TARGETS) - -doc: - cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg - @if [ -n "$(WWWDIR)" ] && ! [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html" ] ; then \ - echo "Creating docs/$(PJ_VERSION)/pjsip/docs/html" ; \ - mkdir -p $(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html ; \ - fi - @if [ -n "$(WWWDIR)" ] && [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html" ] ; then \ - echo "Copying docs/$(PJ_VERSION) to $(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html.." ; \ - cp -v -a ../docs/$(PJ_VERSION)/html/* $(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html/ ; \ - fi - -dep: depend -distclean: realclean - -.PHONY: dep depend pjsip pjsip-ua pjsua-lib clean realclean distclean - -pjsip: - $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $(PJSIP_LIB) - -pjsip-ua: - $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $(PJSIP_UA_LIB) - -pjsip-simple: - $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $(PJSIP_SIMPLE_LIB) - -pjsua-lib: - $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $(PJSUA_LIB_LIB) - -pjsip-test: pjsip - $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $(TEST_EXE) - -.PHONY: ../lib/pjsip.ko -../lib/pjsip.ko: - echo Making $@ - $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ - -.PHONY: ../lib/pjsip-ua.ko -../lib/pjsip-ua.ko: - echo Making $@ - $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ - -.PHONY: ../lib/pjsip-simple.ko -../lib/pjsip-simple.ko: - echo Making $@ - $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ - -.PHONY: ../lib/pjsua-lib.ko -../lib/pjsua-lib.ko: - echo Making $@ - $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ - -clean: - $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ - $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ - $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ - $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ - $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@ - -depend: - $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ - $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ - $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ - $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ - $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@ - echo '$(TEST_EXE): $(PJMEDIA_LIB) $(PJSUA_LIB_LIB) $(PJSIP_SIMPLE_LIB) $(PJSIP_UA_LIB) $(PJSIP_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjsip-test-$(TARGET_NAME).depend - -realclean: - $(subst @@,$(subst /,$(HOST_PSEP),.pjsip-$(TARGET_NAME).depend),$(HOST_RMR)) - $(subst @@,$(subst /,$(HOST_PSEP),.pjsip-ua-$(TARGET_NAME).depend),$(HOST_RMR)) - $(subst @@,$(subst /,$(HOST_PSEP),.pjsip-simple-$(TARGET_NAME).depend),$(HOST_RMR)) - $(subst @@,$(subst /,$(HOST_PSEP),.pjsua-lib-$(TARGET_NAME).depend),$(HOST_RMR)) - $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ - $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ - $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ - $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@ - $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ - - - diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_test.vcproj b/daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_test.vcproj deleted file mode 100644 index b9312238a2bfbebe14b96e47660536799adfd561..0000000000000000000000000000000000000000 --- a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_test.vcproj +++ /dev/null @@ -1,4183 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="pjsip_test" - ProjectGUID="{B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}" - RootNamespace="pjsip_test" - > - <Platforms> - <Platform - Name="Win32" - /> - <Platform - Name="Pocket PC 2003 (ARMV4)" - /> - <Platform - Name="Smartphone 2003 (ARMV4)" - /> - <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" - /> - <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" - /> - <Platform - Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - /> - <Platform - Name="Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Release|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCCodeSignTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" - > - <File - RelativePath="..\src\test\dlg_core_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\dns_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\inv_offer_answer_test.c" - > - </File> - <File - RelativePath="..\src\test\main.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\main_win32.c" - > - <FileConfiguration - Name="Release|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\msg_err_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\msg_logger.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\msg_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\multipart_test.c" - > - </File> - <File - RelativePath="..\src\test\regc_test.c" - > - </File> - <File - RelativePath="..\src\test\test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\transport_loop_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\transport_tcp_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\transport_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\transport_udp_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\tsx_basic_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\tsx_bench.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\tsx_uac_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\tsx_uas_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\txdata_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\test\uri_test.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl" - > - <File - RelativePath="..\src\test\test.h" - > - </File> - </Filter> - <Filter - Name="Resource Files" - Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/daemon/libs/pjproject-2.2.1/COPYING b/daemon/libs/pjproject-2.2.1/COPYING new file mode 100644 index 0000000000000000000000000000000000000000..d159169d1050894d3ea3b98e1c965c4058208fe1 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/daemon/libs/pjproject-2.1.0/INSTALL.txt b/daemon/libs/pjproject-2.2.1/INSTALL.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/INSTALL.txt rename to daemon/libs/pjproject-2.2.1/INSTALL.txt diff --git a/daemon/libs/pjproject-2.1.0/Makefile b/daemon/libs/pjproject-2.2.1/Makefile similarity index 71% rename from daemon/libs/pjproject-2.1.0/Makefile rename to daemon/libs/pjproject-2.2.1/Makefile index e33472fc884ae57da8265714c3c7427852efcbe3..33a4e6b20118677a11c4e04558bea3fb5fa9b3ee 100644 --- a/daemon/libs/pjproject-2.1.0/Makefile +++ b/daemon/libs/pjproject-2.2.1/Makefile @@ -21,7 +21,7 @@ all clean dep depend distclean print realclean: lib: for dir in $(LIB_DIRS); do \ - if $(MAKE) $(MAKE_FLAGS) -C $$dir all; then \ + if $(MAKE) $(MAKE_FLAGS) -C $$dir lib; then \ true; \ else \ exit 1; \ @@ -29,7 +29,7 @@ lib: done; \ -.PHONY: lib +.PHONY: lib doc doc: @if test \( ! "$(WWWDIR)" == "" \) -a \( ! -d $(WWWDIR)/pjlib/docs/html \) ; then \ @@ -105,17 +105,32 @@ pjsip-test: pjsip/bin/pjsip-test-$(TARGET_NAME) pjsua-test: cd tests/pjsua && python runall.py -prefix = $(ac_prefix) - install: - mkdir -p $(DESTDIR)$(prefix)/lib - cp -f $(APP_LIB_FILES) $(DESTDIR)$(prefix)/lib/ - mkdir -p $(DESTDIR)$(prefix)/include + mkdir -p $(DESTDIR)$(libdir)/ +# cp -af $(APP_LIB_FILES) $(DESTDIR)$(libdir)/ + cp -af $(APP_LIBXX_FILES) $(DESTDIR)$(libdir)/ + mkdir -p $(DESTDIR)$(includedir)/ for d in pjlib pjlib-util pjnath pjmedia pjsip; do \ - cp -RLf $$d/include/* $(DESTDIR)$(prefix)/include/; \ + cp -RLf $$d/include/* $(DESTDIR)$(includedir)/; \ done - mkdir -p $(DESTDIR)$(prefix)/lib/pkgconfig - sed -e "s!@PREFIX@!$(DESTDIR)$(prefix)!" libpjproject.pc.in | \ + mkdir -p $(DESTDIR)$(libdir)/pkgconfig + sed -e "s!@PREFIX@!$(prefix)!" libpjproject.pc.in | \ + sed -e "s!@INCLUDEDIR@!$(includedir)!" | \ + sed -e "s!@LIBDIR@!$(libdir)!" | \ sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \ - sed -e "s!@PJ_LDLIBS@!$(PJ_LDLIBS)!" | \ - sed -e "s!@PJ_INSTALL_CFLAGS@!$(PJ_INSTALL_CFLAGS)!" > $(DESTDIR)/$(prefix)/lib/pkgconfig/libpjproject.pc + sed -e "s!@PJ_LDLIBS@!!" | \ + sed -e "s!@PJ_LDXXLIBS@!$(PJ_LDXXLIBS)!" | \ + sed -e "s!@PJ_INSTALL_CFLAGS@!!" | \ + sed -e "s!@PJ_INSTALL_CXXFLAGS@!$(PJ_INSTALL_CXXFLAGS)!" > $(DESTDIR)/$(libdir)/pkgconfig/libpjproject.pc + +uninstall: + $(RM) $(DESTDIR)$(libdir)/pkgconfig/libpjproject.pc + -rmdir $(DESTDIR)$(libdir)/pkgconfig 2> /dev/null + for d in pjlib pjlib-util pjnath pjmedia pjsip; do \ + for f in $$d/include/*; do \ + $(RM) -r "$(DESTDIR)$(includedir)/`basename $$f`"; \ + done; \ + done + -rmdir $(DESTDIR)$(includedir) 2> /dev/null + $(RM) $(addprefix $(DESTDIR)$(libdir)/,$(notdir $(APP_LIB_FILES))) + -rmdir $(DESTDIR)$(libdir) 2> /dev/null diff --git a/daemon/libs/pjproject-2.1.0/README-RTEMS b/daemon/libs/pjproject-2.2.1/README-RTEMS similarity index 100% rename from daemon/libs/pjproject-2.1.0/README-RTEMS rename to daemon/libs/pjproject-2.2.1/README-RTEMS diff --git a/daemon/libs/pjproject-2.1.0/README.txt b/daemon/libs/pjproject-2.2.1/README.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/README.txt rename to daemon/libs/pjproject-2.2.1/README.txt diff --git a/daemon/libs/pjproject-2.1.0/aconfigure b/daemon/libs/pjproject-2.2.1/aconfigure similarity index 94% rename from daemon/libs/pjproject-2.1.0/aconfigure rename to daemon/libs/pjproject-2.2.1/aconfigure index 33ed0be2e89915f0d03ca44268921c7438d37e4e..8fd8c6433d7404f9fb438c9b41868ba107ab134d 100755 --- a/daemon/libs/pjproject-2.1.0/aconfigure +++ b/daemon/libs/pjproject-2.2.1/aconfigure @@ -1,9 +1,11 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for pjproject 2.x. +# Generated by GNU Autoconf 2.68 for pjproject 2.x. # # -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -132,31 +134,6 @@ export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -190,8 +167,7 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" +test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -236,25 +212,21 @@ IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : @@ -356,14 +328,6 @@ $as_echo X"$as_dir" | } # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -485,10 +449,6 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -523,16 +483,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' + as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -544,8 +504,28 @@ else as_mkdir_p=false fi -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -666,11 +646,17 @@ ac_pjmedia_video_has_ios ac_pjmedia_video ac_pa_use_oss ac_pa_use_alsa +ac_pjmedia_audiodev_objs ac_pa_cflags ac_external_pa ac_pjmedia_snd +ac_pjmedia_resample +ac_srtp_shutdown_present +ac_srtp_deinit_present +ac_external_srtp ac_external_gsm ac_external_speex +ac_shared_libraries ac_os_objs EGREP GREP @@ -686,10 +672,12 @@ CC_INC CC_OUT LIBEXT2 LIBEXT -RANLIB LDOUT LD +AR_FLAGS +ac_ct_AR AR +RANLIB ac_ct_CXX CXXFLAGS CXX @@ -755,8 +743,11 @@ ac_user_opts=' enable_option_checking enable_floating_point enable_epoll +enable_shared with_external_speex with_external_gsm +with_external_srtp +enable_resample enable_sound with_external_pa enable_oss @@ -1259,6 +1250,8 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1421,6 +1414,8 @@ Optional Features: --disable-floating-point Disable floating point where possible --enable-epoll Use /dev/epoll ioqueue on Linux (experimental) + --enable-shared Build shared libraries + --disable-resample Disable resampling implementations --disable-sound Exclude sound (i.e. use null sound) --disable-oss Disable OSS audio (default: not disabled) --disable-video Disable video feature @@ -1435,8 +1430,7 @@ Optional Features: --disable-g7221-codec Exclude G.7221 codec in the build --disable-speex-codec Exclude Speex codecs in the build --disable-ilbc-codec Exclude iLBC codec in the build - --enable-libsamplerate Link with libsamplerate when available. Note that - PJMEDIA_RESAMPLE_IMP must also be configured + --enable-libsamplerate Link with libsamplerate when available. --enable-resample-dll Build libresample as shared library --disable-sdl Disable SDL (default: not disabled) --disable-ffmpeg Disable ffmpeg (default: not disabled) @@ -1467,6 +1461,11 @@ Optional Packages: make sure that the GSM include/lib files are accessible to use (hint: use CFLAGS and LDFLAGS env var to set the include/lib paths) + --with-external-srtp Use external SRTP development files, not the one in + "third_party" directory. When this option is set, + make sure that SRTP is accessible to use (hint: use + CFLAGS and LDFLAGS env var to set the include/lib + paths) --with-external-pa Use external PortAudio development files, not the one in "third_party" directory. When this option is set, make sure that PortAudio is accessible to use @@ -1566,9 +1565,9 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF pjproject configure 2.x -generated by GNU Autoconf 2.69 +generated by GNU Autoconf 2.68 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1682,7 +1681,7 @@ $as_echo "$ac_try_echo"; } >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - test -x conftest$ac_exeext + $as_test_x conftest$ac_exeext }; then : ac_retval=0 else @@ -1969,7 +1968,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by pjproject $as_me 2.x, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2494,7 +2493,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2534,7 +2533,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2587,7 +2586,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2628,7 +2627,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -2686,7 +2685,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2730,7 +2729,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3176,7 +3175,8 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdarg.h> #include <stdio.h> -struct stat; +#include <sys/types.h> +#include <sys/stat.h> /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -3289,7 +3289,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3333,7 +3333,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3525,18 +3525,205 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -z "$CROSS_COMPILE"; then - CROSS_COMPILE=`echo ${CC} | sed 's/gcc//'` +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar gar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar gar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + -if test "$AR" = ""; then AR="${CROSS_COMPILE}ar rv"; fi +if test "$AR_FLAGS" = ""; then AR_FLAGS="rv"; fi if test "$LD" = ""; then LD="$CC"; fi if test "$LDOUT" = ""; then LDOUT="-o "; fi -if test "$RANLIB" = ""; then RANLIB="${CROSS_COMPILE}ranlib"; fi - if test "$OBJEXT" = ""; then OBJEXT='o'; fi if test "$LIBEXT" = ""; then LIBEXT='a'; fi @@ -3909,13 +4096,13 @@ _ACEOF fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for puts in -lnsl" >&5 -$as_echo_n "checking for puts in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_puts+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5 +$as_echo_n "checking for sin in -lm... " >&6; } +if ${ac_cv_lib_m_sin+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" +LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -3925,32 +4112,32 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char puts (); +char sin (); int main () { -return puts (); +return sin (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_nsl_puts=yes + ac_cv_lib_m_sin=yes else - ac_cv_lib_nsl_puts=no + ac_cv_lib_m_sin=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_puts" >&5 -$as_echo "$ac_cv_lib_nsl_puts" >&6; } -if test "x$ac_cv_lib_nsl_puts" = xyes; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5 +$as_echo "$ac_cv_lib_m_sin" >&6; } +if test "x$ac_cv_lib_m_sin" = xyes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_LIBNSL 1 +#define HAVE_LIBM 1 _ACEOF - LIBS="-lnsl $LIBS" + LIBS="-lm $LIBS" fi @@ -4039,6 +4226,62 @@ if test "x$ac_cv_lib_uuid_uuid_generate" = xyes; then : ac_has_uuid_lib=1 fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 +$as_echo_n "checking for library containing gethostbyname... " >&6; } +if ${ac_cv_search_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +for ac_lib in '' nsl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_gethostbyname=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_gethostbyname+:} false; then : + break +fi +done +if ${ac_cv_search_gethostbyname+:} false; then : + +else + ac_cv_search_gethostbyname=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 +$as_echo "$ac_cv_search_gethostbyname" >&6; } +ac_res=$ac_cv_search_gethostbyname +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting PJ_M_NAME to $target_cpu" >&5 $as_echo "Setting PJ_M_NAME to $target_cpu" >&6; } @@ -4219,7 +4462,7 @@ do for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -4285,7 +4528,7 @@ do for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -4694,6 +4937,10 @@ else fi case $target in + *android*) + $as_echo "#define PJ_ANDROID 1" >>confdefs.h + + ;; *mingw* | *cygw* | *win32* | *w32* ) $as_echo "#define PJ_WIN32 1" >>confdefs.h @@ -4739,51 +4986,6 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if floating point is disabled... no" >&5 $as_echo "Checking if floating point is disabled... no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmod in -lm" >&5 -$as_echo_n "checking for fmod in -lm... " >&6; } -if ${ac_cv_lib_m_fmod+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char fmod (); -int -main () -{ -return fmod (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_m_fmod=yes -else - ac_cv_lib_m_fmod=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_fmod" >&5 -$as_echo "$ac_cv_lib_m_fmod" >&6; } -if test "x$ac_cv_lib_m_fmod" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBM 1 -_ACEOF - - LIBS="-lm $LIBS" - -fi - fi @@ -5452,6 +5654,22 @@ fi +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; if test "$enable_shared" = "yes"; then + ac_shared_libraries=1 + CFLAGS="$CFLAGS -fPIC" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Building shared libraries... yes" >&5 +$as_echo "Building shared libraries... yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Building shared libraries... no" >&5 +$as_echo "Building shared libraries... no" >&6; } + +fi + + + case $target in *mingw* | *cygw* | *win32* | *w32* ) ac_os_objs="$ac_os_objs file_access_win32.o file_io_win32.o os_core_win32.o os_error_win32.o os_time_win32.o os_timestamp_win32.o guid_win32.o" @@ -5592,6 +5810,144 @@ fi +ac_external_srtp=0 + + +# Check whether --with-external-srtp was given. +if test "${with_external_srtp+set}" = set; then : + withval=$with_external_srtp; + if test "x$with_external_srtp" != "xno"; then + # Test SRTP installation + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if external SRTP devkit is installed" >&5 +$as_echo_n "checking if external SRTP devkit is installed... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <srtp/srtp.h> + +int +main () +{ +srtp_init(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes!!" >&5 +$as_echo "yes!!" >&6; } + ac_external_srtp="1" + +else + as_fn_error $? "Unable to use SRTP. If SRTP development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths" "$LINENO" 5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + + +fi + + +if test "x$ac_external_srtp" = "x1"; then + ac_srtp_deinit_present=0 + + ac_srtp_shutdown_present=0 + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for srtp_deinit in -lsrtp" >&5 +$as_echo_n "checking for srtp_deinit in -lsrtp... " >&6; } +if ${ac_cv_lib_srtp_srtp_deinit+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsrtp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char srtp_deinit (); +int +main () +{ +return srtp_deinit (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_srtp_srtp_deinit=yes +else + ac_cv_lib_srtp_srtp_deinit=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_srtp_srtp_deinit" >&5 +$as_echo "$ac_cv_lib_srtp_srtp_deinit" >&6; } +if test "x$ac_cv_lib_srtp_srtp_deinit" = xyes; then : + ac_srtp_deinit_present=1 +fi + + if test "x$ac_srtp_deinit_present" != "x1"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for srtp_shutdown in -lsrtp" >&5 +$as_echo_n "checking for srtp_shutdown in -lsrtp... " >&6; } +if ${ac_cv_lib_srtp_srtp_shutdown+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsrtp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char srtp_shutdown (); +int +main () +{ +return srtp_shutdown (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_srtp_srtp_shutdown=yes +else + ac_cv_lib_srtp_srtp_shutdown=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_srtp_srtp_shutdown" >&5 +$as_echo "$ac_cv_lib_srtp_srtp_shutdown" >&6; } +if test "x$ac_cv_lib_srtp_srtp_shutdown" = xyes; then : + ac_srtp_shutdown_present=1 +fi + + fi +fi + +ac_pjmedia_resample=libresample + +# Check whether --enable-resample was given. +if test "${enable_resample+set}" = set; then : + enableval=$enable_resample; if test "$enable_resample" = "no"; then + ac_pjmedia_resample=none + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if resampling is disabled...yes" >&5 +$as_echo "Checking if resampling is disabled...yes" >&6; } + fi + +fi + # Check whether --enable-sound was given. @@ -5671,14 +6027,22 @@ fi if test "$enable_sound" = "no"; then true; else + case $target in + *android*) + LIBS="$LIBS -lOpenSLES" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking sound device backend... OpenSL ES" >&5 +$as_echo "Checking sound device backend... OpenSL ES" >&6; } + ;; arm-apple-darwin*) LIBS="$LIBS -framework CoreAudio -framework CoreFoundation -framework AudioToolbox -framework CFNetwork -framework UIKit" + ac_pjmedia_audiodev_objs="coreaudio_dev.o" { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking sound device backend... AudioUnit" >&5 $as_echo "Checking sound device backend... AudioUnit" >&6; } ;; *darwin*) LIBS="$LIBS -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox" + ac_pjmedia_audiodev_objs="coreaudio_dev.o" if test "`uname -r`" = "6.8"; then #ac_pa_cflags="$ac_pa_cflags -DPA_OLD_CORE_AUDIO -DMOSX_USE_NON_ATOMIC_FLAG_BITS" #AC_MSG_RESULT([Setting additional PortAudio CFLAGS.. -DPA_OLD_CORE_AUDIO -DMOSX_USE_NON_ATOMIC_FLAG_BITS]) @@ -5751,6 +6115,9 @@ fi case $target in + *android*) + LIBS="$LIBS -llog" + ;; arm-apple-darwin*) LIBS="$LIBS -framework UIKit" ;; @@ -6050,6 +6417,7 @@ _ACEOF fi + ac_pjmedia_resample=libsamplerate else { $as_echo "$as_me:${as_lineno-$LINENO}: result: Skipping libsamplerate detection" >&5 $as_echo "Skipping libsamplerate detection" >&6; } @@ -6119,7 +6487,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6165,7 +6533,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6270,7 +6638,7 @@ do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_PKG_CONFIG="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7952,16 +8320,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. + # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' + as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi else - as_ln_s='cp -pR' + as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -8021,16 +8389,28 @@ else as_mkdir_p=false fi - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -8052,7 +8432,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by pjproject $as_me 2.x, which was -generated by GNU Autoconf 2.69. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -8114,10 +8494,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ pjproject config.status 2.x -configured by $0, generated by GNU Autoconf 2.69, +configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -8205,7 +8585,7 @@ fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' diff --git a/daemon/libs/pjproject-2.1.0/aconfigure.ac b/daemon/libs/pjproject-2.2.1/aconfigure.ac similarity index 95% rename from daemon/libs/pjproject-2.1.0/aconfigure.ac rename to daemon/libs/pjproject-2.2.1/aconfigure.ac index 9afce8d4a833cca5658f7342336d0a3955ad5ad4..cd71a7ab68e284ca0d80b0cd3d5f262ce2d7b752 100644 --- a/daemon/libs/pjproject-2.1.0/aconfigure.ac +++ b/daemon/libs/pjproject-2.2.1/aconfigure.ac @@ -41,21 +41,15 @@ AC_PROG_CC AC_PROG_CXX AC_LANG_C -dnl # -dnl # Setup CROSS_COMPILE variable -dnl # -if test -z "$CROSS_COMPILE"; then - CROSS_COMPILE=`echo ${CC} | sed 's/gcc//'` -fi +AC_PROG_RANLIB +AC_CHECK_TOOLS([AR], [ar gar], :) -if test "$AR" = ""; then AR="${CROSS_COMPILE}ar rv"; fi -AC_SUBST(AR) +if test "$AR_FLAGS" = ""; then AR_FLAGS="rv"; fi +AC_SUBST(AR_FLAGS) if test "$LD" = ""; then LD="$CC"; fi AC_SUBST(LD) if test "$LDOUT" = ""; then LDOUT="-o "; fi AC_SUBST(LDOUT) -if test "$RANLIB" = ""; then RANLIB="${CROSS_COMPILE}ranlib"; fi -AC_SUBST(RANLIB) if test "$OBJEXT" = ""; then OBJEXT='o'; fi AC_SUBST(OBJEXT) if test "$LIBEXT" = ""; then LIBEXT='a'; fi @@ -119,9 +113,10 @@ AC_CHECK_LIB(ole32,puts) AC_CHECK_LIB(winmm,puts) AC_CHECK_LIB(socket,puts) AC_CHECK_LIB(rt,puts) -AC_CHECK_LIB(nsl,puts) +AC_CHECK_LIB(m,sin) AC_CHECK_LIB(uuid,uuid_generate) AC_CHECK_LIB(uuid,uuid_generate,[ac_has_uuid_lib=1]) +AC_SEARCH_LIBS(gethostbyname,nsl) AC_MSG_RESULT([Setting PJ_M_NAME to $target_cpu]) AC_DEFINE_UNQUOTED(PJ_M_NAME,["$target_cpu"]) @@ -157,6 +152,9 @@ dnl dnl Legacy macros dnl case $target in + *android*) + AC_DEFINE(PJ_ANDROID,1) + ;; *mingw* | *cygw* | *win32* | *w32* ) AC_DEFINE(PJ_WIN32,1) AC_DEFINE(PJ_WIN32_WINNT,0x0400) @@ -192,7 +190,6 @@ AC_ARG_ENABLE(floating-point, [ AC_DEFINE(PJ_HAS_FLOATING_POINT,1) AC_MSG_RESULT([Checking if floating point is disabled... no]) - AC_CHECK_LIB(m,fmod) ]) @@ -426,6 +423,18 @@ AC_ARG_ENABLE(epoll, AC_MSG_RESULT([select()]) ]) +AC_SUBST(ac_shared_libraries) +AC_ARG_ENABLE(shared, + AC_HELP_STRING([--enable-shared], + [Build shared libraries]), + [if test "$enable_shared" = "yes"; then + [ac_shared_libraries=1] + CFLAGS="$CFLAGS -fPIC" + AC_MSG_RESULT([Building shared libraries... yes]) + fi], + AC_MSG_RESULT([Building shared libraries... no]) + ) + dnl ###################### dnl # OS specific files @@ -519,6 +528,46 @@ AC_ARG_WITH(external-gsm, ) +dnl # Use external SRTP installation +AC_SUBST(ac_external_srtp,0) +AC_ARG_WITH(external-srtp, + AC_HELP_STRING([--with-external-srtp], + [Use external SRTP development files, not the one in "third_party" directory. When this option is set, make sure that SRTP is accessible to use (hint: use CFLAGS and LDFLAGS env var to set the include/lib paths)]), + [ + if test "x$with_external_srtp" != "xno"; then + # Test SRTP installation + AC_MSG_CHECKING([if external SRTP devkit is installed]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <srtp/srtp.h> + ]], + [srtp_init();])], + [AC_MSG_RESULT(yes!!) + ac_external_srtp="1" + ], + [AC_MSG_ERROR([Unable to use SRTP. If SRTP development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths])]) + fi + ] + ) + +dnl # For external SRTP, check availability of srtp_deinit() or srtp_shutdown() +if test "x$ac_external_srtp" = "x1"; then + AC_SUBST(ac_srtp_deinit_present,0) + AC_SUBST(ac_srtp_shutdown_present,0) + AC_CHECK_LIB(srtp,srtp_deinit,[ac_srtp_deinit_present=1]) + if test "x$ac_srtp_deinit_present" != "x1"; then + AC_CHECK_LIB(srtp,srtp_shutdown,[ac_srtp_shutdown_present=1]) + fi +fi + +dnl # Resample implementation +AC_SUBST(ac_pjmedia_resample,libresample) +AC_ARG_ENABLE(resample, + AC_HELP_STRING([--disable-resample], + [Disable resampling implementations]), + [if test "$enable_resample" = "no"; then + [ac_pjmedia_resample=none] + AC_MSG_RESULT([Checking if resampling is disabled...yes]) + fi] + ) dnl # Sound device backend selection AC_SUBST(ac_pjmedia_snd) @@ -568,13 +617,20 @@ fi if test "$enable_sound" = "no"; then true; else + AC_SUBST(ac_pjmedia_audiodev_objs) case $target in + *android*) + LIBS="$LIBS -lOpenSLES" + AC_MSG_RESULT([Checking sound device backend... OpenSL ES]) + ;; arm-apple-darwin*) LIBS="$LIBS -framework CoreAudio -framework CoreFoundation -framework AudioToolbox -framework CFNetwork -framework UIKit" + ac_pjmedia_audiodev_objs="coreaudio_dev.o" AC_MSG_RESULT([Checking sound device backend... AudioUnit]) ;; *darwin*) LIBS="$LIBS -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox" + ac_pjmedia_audiodev_objs="coreaudio_dev.o" if test "`uname -r`" = "6.8"; then #ac_pa_cflags="$ac_pa_cflags -DPA_OLD_CORE_AUDIO -DMOSX_USE_NON_ATOMIC_FLAG_BITS" #AC_MSG_RESULT([Setting additional PortAudio CFLAGS.. -DPA_OLD_CORE_AUDIO -DMOSX_USE_NON_ATOMIC_FLAG_BITS]) @@ -634,6 +690,9 @@ AC_ARG_ENABLE(video, []) case $target in + *android*) + LIBS="$LIBS -llog" + ;; arm-apple-darwin*) LIBS="$LIBS -framework UIKit" ;; @@ -812,12 +871,12 @@ AC_ARG_ENABLE(ilbc-codec, dnl # Include libsamplerate AC_ARG_ENABLE(libsamplerate, AC_HELP_STRING([--enable-libsamplerate], - [Link with libsamplerate when available. Note that PJMEDIA_RESAMPLE_IMP must also be configured]), - [ AC_CHECK_LIB(samplerate,src_new) ], + [Link with libsamplerate when available.]), + [ AC_CHECK_LIB(samplerate,src_new) ] + [ac_pjmedia_resample=libsamplerate], AC_MSG_RESULT([Skipping libsamplerate detection]) ) -dnl # Include libsamplerate AC_SUBST(ac_resample_dll) AC_ARG_ENABLE(resample_dll, AC_HELP_STRING([--enable-resample-dll], diff --git a/daemon/libs/pjproject-2.2.1/bb10-config.mak b/daemon/libs/pjproject-2.2.1/bb10-config.mak new file mode 100644 index 0000000000000000000000000000000000000000..492cbc0a46b967b5e061b8e72ebb709cb7215518 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/bb10-config.mak @@ -0,0 +1,44 @@ +# +# This is a utility make file that is used to generate BB10 config settings +# from current build settings. The stdout output of this make file can be +# saved to a .pri file which then can be included in app's .pro file. +# +# This make file is invoked by configure-bb10 script to generate pjsip.pri +# file. +# +include build.mak + +# Generate library list (the "-lxxx" options) from list of linked libraries. +PJ_BB_LIBS = $(filter-out -lm -lsocket, $(APP_LDLIBS)) + +# This used to generate the library path list (the "-Lxxx" options) +# We replace the path with "$$PJ_DIR" +PJ_BB_LDFLAGS = $(subst $(PJDIR),\$$\$$PJ_DIR,$(APP_LDFLAGS)) + +all: + @echo PJ_DIR = $(PJDIR) + @echo + @echo 'DEFINES += PJ_AUTOCONF' + @echo + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjlib/include)' + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjmedia/include)' + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjnath/include)' + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjlib-util/include)' + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjsip/include)' + @echo + @for token in $(PJ_BB_LDFLAGS); do \ + if echo $$token | grep -- '-L' >> /dev/null; then \ + echo "PJ_LIBPATH += \$$\$$quote($$token)"; \ + fi; \ + done + @echo + @for token in $(PJ_BB_LIBS); do \ + echo PJ_LIBS += $$token; \ + done + @echo + @echo 'INCLUDEPATH += $$$$PJ_INCLUDEPATH' + @echo 'LIBS += $$$$PJ_LIBPATH' + @echo 'LIBS += $$$$PJ_LIBS' + @echo 'LIBS += -lOpenAL -lalut -laudio_manager -lsocket -lasound -lbbsystem -lm' + + diff --git a/daemon/libs/pjproject-2.2.1/build.mak.in b/daemon/libs/pjproject-2.2.1/build.mak.in new file mode 100644 index 0000000000000000000000000000000000000000..58e9a682d757a7f5096789349d45a3fc4bb2374b --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/build.mak.in @@ -0,0 +1,280 @@ +export PJDIR := @ac_pjdir@ +include $(PJDIR)/version.mak +export PJ_DIR := $(PJDIR) + +# @configure_input@ +export MACHINE_NAME := auto +export OS_NAME := auto +export HOST_NAME := unix +export CC_NAME := gcc +export TARGET_NAME := @target@ +export CROSS_COMPILE := @ac_cross_compile@ +export LINUX_POLL := @ac_linux_poll@ +export SHLIB_SUFFIX := @ac_shlib_suffix@ + +export prefix := @prefix@ +export exec_prefix := @exec_prefix@ +export includedir := @includedir@ +export libdir := @libdir@ + +LIB_SUFFIX = $(TARGET_NAME).a + +ifeq (@ac_shared_libraries@,1) +export PJ_SHARED_LIBRARIES := 1 +endif + +# Determine which party libraries to use +export APP_THIRD_PARTY_EXT := +export APP_THIRD_PARTY_LIBS := +export APP_THIRD_PARTY_LIB_FILES := + +ifeq (@ac_external_srtp@,1) +# External SRTP library +APP_THIRD_PARTY_EXT += -lsrtp +else +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lsrtp-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lsrtp +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX) +endif +endif + +ifeq (@ac_pjmedia_resample@,libresample) +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +ifeq (@ac_resample_dll@,1) +export PJ_RESAMPLE_DLL := 1 +APP_THIRD_PARTY_LIBS += -lresample +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX) +else +APP_THIRD_PARTY_LIBS += -lresample-$(TARGET_NAME) +endif +else +APP_THIRD_PARTY_LIBS += -lresample +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX) +endif +endif + +ifneq (@ac_no_gsm_codec@,1) +ifeq (@ac_external_gsm@,1) +# External GSM library +APP_THIRD_PARTY_EXT += -lgsm +else +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lgsmcodec +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX) +endif +endif +endif + +ifneq (@ac_no_speex_codec@,1) +ifeq (@ac_external_speex@,1) +APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp +else +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lspeex +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX) +endif +endif +endif + +ifneq (@ac_no_ilbc_codec@,1) +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lilbccodec +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX) +endif +endif + +ifneq (@ac_no_g7221_codec@,1) +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lg7221codec +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX) +endif +endif + +ifneq ($(findstring pa,@ac_pjmedia_snd@),) +ifeq (@ac_external_pa@,1) +# External PA +APP_THIRD_PARTY_EXT += -lportaudio +else +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lportaudio +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX) +endif +endif +endif + +# Additional flags +@ac_build_mak_vars@ + +# +# Video +# Note: there are duplicated macros in pjmedia/os-auto.mak.in (and that's not +# good! + +# SDL flags +SDL_CFLAGS = @ac_sdl_cflags@ +SDL_LDFLAGS = @ac_sdl_ldflags@ + +# FFMPEG dlags +FFMPEG_CFLAGS = @ac_ffmpeg_cflags@ +FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@ + +# Video4Linux2 +V4L2_CFLAGS = @ac_v4l2_cflags@ +V4L2_LDFLAGS = @ac_v4l2_ldflags@ + +# QT +AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@ +QT_CFLAGS = @ac_qt_cflags@ + +# iOS +IOS_CFLAGS = @ac_ios_cflags@ + +# PJMEDIA features exclusion +PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \ + $(IOS_CFLAGS) +PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) + + +# CFLAGS, LDFLAGS, and LIBS to be used by applications +export APP_CC := @CC@ +export APP_CXX := @CXX@ +export APP_CFLAGS := -DPJ_AUTOCONF=1\ + @CFLAGS@\ + $(PJ_VIDEO_CFLAGS) \ + -I$(PJDIR)/pjlib/include\ + -I$(PJDIR)/pjlib-util/include\ + -I$(PJDIR)/pjnath/include\ + -I$(PJDIR)/pjmedia/include\ + -I$(PJDIR)/pjsip/include +export APP_CXXFLAGS := $(APP_CFLAGS) +export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\ + -L$(PJDIR)/pjlib-util/lib\ + -L$(PJDIR)/pjnath/lib\ + -L$(PJDIR)/pjmedia/lib\ + -L$(PJDIR)/pjsip/lib\ + -L$(PJDIR)/third_party/lib\ + $(PJ_VIDEO_LDFLAGS) \ + @LDFLAGS@ +export APP_LDXXFLAGS := $(APP_LDFLAGS) + +export APP_LIB_FILES = \ + $(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-simple-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-codec-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \ + $(APP_THIRD_PARTY_LIB_FILES) \ + $(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX) +export APP_LIBXX_FILES = \ + $(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) \ + $(APP_LIB_FILES) + +ifeq ($(PJ_SHARED_LIBRARIES),) +export PJLIB_LDLIB := -lpj-$(TARGET_NAME) +export PJLIB_UTIL_LDLIB := -lpjlib-util-$(TARGET_NAME) +export PJNATH_LDLIB := -lpjnath-$(TARGET_NAME) +export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev-$(TARGET_NAME) +export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev-$(TARGET_NAME) +export PJMEDIA_LDLIB := -lpjmedia-$(TARGET_NAME) +export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec-$(TARGET_NAME) +export PJSIP_LDLIB := -lpjsip-$(TARGET_NAME) +export PJSIP_SIMPLE_LDLIB := -lpjsip-simple-$(TARGET_NAME) +export PJSIP_UA_LDLIB := -lpjsip-ua-$(TARGET_NAME) +export PJSUA_LIB_LDLIB := -lpjsua-$(TARGET_NAME) +export PJSUA2_LIB_LDLIB := -lpjsua2-$(TARGET_NAME) +else +export PJLIB_LDLIB := -lpj +export PJLIB_UTIL_LDLIB := -lpjlib-util +export PJNATH_LDLIB := -lpjnath +export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev +export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev +export PJMEDIA_LDLIB := -lpjmedia +export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec +export PJSIP_LDLIB := -lpjsip +export PJSIP_SIMPLE_LDLIB := -lpjsip-simple +export PJSIP_UA_LDLIB := -lpjsip-ua +export PJSUA_LIB_LDLIB := -lpjsua +export PJSUA2_LIB_LDLIB := -lpjsua2 + +export ADD_LIB_FILES := $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX) + +APP_LIB_FILES += $(ADD_LIB_FILES) + +APP_LIBXX_FILES += $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX) \ + $(ADD_LIB_FILES) +endif + +export APP_LDLIBS := $(PJSUA_LIB_LDLIB) \ + $(PJSIP_UA_LDLIB) \ + $(PJSIP_SIMPLE_LDLIB) \ + $(PJSIP_LDLIB) \ + $(PJMEDIA_CODEC_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJMEDIA_VIDEODEV_LDLIB) \ + $(PJMEDIA_AUDIODEV_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJNATH_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(APP_THIRD_PARTY_LIBS)\ + $(APP_THIRD_PARTY_EXT)\ + $(PJLIB_LDLIB) \ + @LIBS@ +export APP_LDXXLIBS := $(PJSUA2_LIB_LDLIB) \ + -lstdc++ \ + $(APP_LDLIBS) + +# Here are the variabels to use if application is using the library +# from within the source distribution +export PJ_CC := $(APP_CC) +export PJ_CXX := $(APP_CXX) +export PJ_CFLAGS := $(APP_CFLAGS) +export PJ_CXXFLAGS := $(APP_CXXFLAGS) +export PJ_LDFLAGS := $(APP_LDFLAGS) +export PJ_LDXXFLAGS := $(APP_LDXXFLAGS) +export PJ_LDLIBS := $(APP_LDLIBS) +export PJ_LDXXLIBS := $(APP_LDXXLIBS) +export PJ_LIB_FILES := $(APP_LIB_FILES) +export PJ_LIBXX_FILES := $(APP_LIBXX_FILES) + +# And here are the variables to use if application is using the +# library from the install location (i.e. --prefix) +export PJ_INSTALL_DIR := @prefix@ +export PJ_INSTALL_INC_DIR := @includedir@ +export PJ_INSTALL_LIB_DIR := @libdir@ +export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @CFLAGS@ +export PJ_INSTALL_CXXFLAGS := $(PJ_INSTALL_CFLAGS) +export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS) diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/00.bat b/daemon/libs/pjproject-2.2.1/build.symbian/00.bat similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/00.bat rename to daemon/libs/pjproject-2.2.1/build.symbian/00.bat diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/01.bat b/daemon/libs/pjproject-2.2.1/build.symbian/01.bat similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/01.bat rename to daemon/libs/pjproject-2.2.1/build.symbian/01.bat diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/bld.inf b/daemon/libs/pjproject-2.2.1/build.symbian/bld.inf similarity index 73% rename from daemon/libs/pjproject-2.1.0/build.symbian/bld.inf rename to daemon/libs/pjproject-2.2.1/build.symbian/bld.inf index 7e26998768706f551cc33cd9cf8c06c0a8384658..f4ce9039384cdcd1e8eff62818cf0817eda1742a 100644 --- a/daemon/libs/pjproject-2.1.0/build.symbian/bld.inf +++ b/daemon/libs/pjproject-2.2.1/build.symbian/bld.inf @@ -31,7 +31,5 @@ pjmedia_audiodev.mmp /* Applications */ //symsndtest.mmp -symbian_ua.mmp -..\pjsip-apps\src\symbian_ua_gui\group\symbian_ua_gui.mmp -gnumakefile ..\pjsip-apps\src\symbian_ua_gui\group\Icons_aif_scalable_dc.mk pjlib_test.mmp +../pjsip-apps/src/pjsua/symbian/group/pjsua.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/libg7221codec.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/libg7221codec.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/libg7221codec.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/libg7221codec.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/libgsmcodec.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/libgsmcodec.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/libgsmcodec.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/libgsmcodec.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/libpassthroughcodec.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/libpassthroughcodec.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/libpassthroughcodec.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/libpassthroughcodec.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/libresample.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/libresample.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/libresample.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/libresample.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/libspeexcodec.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/libspeexcodec.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/libspeexcodec.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/libspeexcodec.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/libsrtp.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/libsrtp.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/libsrtp.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/libsrtp.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/makedef.sh b/daemon/libs/pjproject-2.2.1/build.symbian/makedef.sh similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/makedef.sh rename to daemon/libs/pjproject-2.2.1/build.symbian/makedef.sh diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/null_audio.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/null_audio.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/null_audio.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/null_audio.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/null_audioU.def b/daemon/libs/pjproject-2.2.1/build.symbian/null_audioU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/null_audioU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/null_audioU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjlib.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjlib.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjlib.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjlib.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjlibU.def b/daemon/libs/pjproject-2.2.1/build.symbian/pjlibU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjlibU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/pjlibU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjlib_test.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjlib_test.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjlib_test.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjlib_test.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjlib_test.pkg b/daemon/libs/pjproject-2.2.1/build.symbian/pjlib_test.pkg similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjlib_test.pkg rename to daemon/libs/pjproject-2.2.1/build.symbian/pjlib_test.pkg diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjlib_util.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjlib_util.mmp similarity index 96% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjlib_util.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjlib_util.mmp index fbf4b426ada885578dd7ec77bbfbc97308a816e6..f38134d8e8bfcc29d37c713f872d54b0b913cd8e 100644 --- a/daemon/libs/pjproject-2.1.0/build.symbian/pjlib_util.mmp +++ b/daemon/libs/pjproject-2.2.1/build.symbian/pjlib_util.mmp @@ -32,6 +32,9 @@ OPTION GCCE -x c++ // PJLIB-UTIL files // SOURCE base64.c +SOURCE cli.c +SOURCE cli_console.c +SOURCE cli_telnet.c SOURCE crc32.c SOURCE dns.c SOURCE dns_dump.c diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjlib_utilU.def b/daemon/libs/pjproject-2.2.1/build.symbian/pjlib_utilU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjlib_utilU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/pjlib_utilU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjmedia.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjmedia.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjmedia.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjmedia.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjmediaU.def b/daemon/libs/pjproject-2.2.1/build.symbian/pjmediaU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjmediaU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/pjmediaU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjmedia_audiodev.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjmedia_audiodev.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjmedia_audiodev.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjmedia_audiodev.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjnath.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjnath.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjnath.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjnath.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjnathU.def b/daemon/libs/pjproject-2.2.1/build.symbian/pjnathU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjnathU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/pjnathU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjproject.cww b/daemon/libs/pjproject-2.2.1/build.symbian/pjproject.cww similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjproject.cww rename to daemon/libs/pjproject-2.2.1/build.symbian/pjproject.cww diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsdp.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjsdp.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsdp.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsdp.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsdpU.def b/daemon/libs/pjproject-2.2.1/build.symbian/pjsdpU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsdpU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsdpU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsip.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjsip.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsip.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsip.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsipU.def b/daemon/libs/pjproject-2.2.1/build.symbian/pjsipU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsipU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsipU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsip_simple.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjsip_simple.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsip_simple.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsip_simple.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsip_simpleU.def b/daemon/libs/pjproject-2.2.1/build.symbian/pjsip_simpleU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsip_simpleU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsip_simpleU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsip_ua.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjsip_ua.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsip_ua.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsip_ua.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsip_uaU.def b/daemon/libs/pjproject-2.2.1/build.symbian/pjsip_uaU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsip_uaU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsip_uaU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjstun_client.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjstun_client.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjstun_client.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjstun_client.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsua_lib.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/pjsua_lib.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsua_lib.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsua_lib.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/pjsua_libU.def b/daemon/libs/pjproject-2.2.1/build.symbian/pjsua_libU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/pjsua_libU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/pjsua_libU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_audio.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/symbian_audio.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/symbian_audio.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/symbian_audio.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/symbian_audioU.def b/daemon/libs/pjproject-2.2.1/build.symbian/symbian_audioU.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/symbian_audioU.def rename to daemon/libs/pjproject-2.2.1/build.symbian/symbian_audioU.def diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/symsndtest.mmp b/daemon/libs/pjproject-2.2.1/build.symbian/symsndtest.mmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/symsndtest.mmp rename to daemon/libs/pjproject-2.2.1/build.symbian/symsndtest.mmp diff --git a/daemon/libs/pjproject-2.1.0/build.symbian/symsndtest.pkg b/daemon/libs/pjproject-2.2.1/build.symbian/symsndtest.pkg similarity index 100% rename from daemon/libs/pjproject-2.1.0/build.symbian/symsndtest.pkg rename to daemon/libs/pjproject-2.2.1/build.symbian/symsndtest.pkg diff --git a/daemon/libs/pjproject-2.1.0/build/cc-auto.mak.in b/daemon/libs/pjproject-2.2.1/build/cc-auto.mak.in similarity index 93% rename from daemon/libs/pjproject-2.1.0/build/cc-auto.mak.in rename to daemon/libs/pjproject-2.2.1/build/cc-auto.mak.in index bc5656729ddc859046a20da8936d1e306ebe94a0..2530e210b1016d71f25ec91d3e5006ecc1bbc3f3 100644 --- a/daemon/libs/pjproject-2.1.0/build/cc-auto.mak.in +++ b/daemon/libs/pjproject-2.2.1/build/cc-auto.mak.in @@ -1,6 +1,7 @@ export CC = @CC@ -c export CXX = @CXX@ -c export AR = @AR@ +export AR_FLAGS = @AR_FLAGS@ export LD = @LD@ export LDOUT = -o export RANLIB = @RANLIB@ diff --git a/daemon/libs/pjproject-2.1.0/build/cc-gcc.mak b/daemon/libs/pjproject-2.2.1/build/cc-gcc.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/cc-gcc.mak rename to daemon/libs/pjproject-2.2.1/build/cc-gcc.mak diff --git a/daemon/libs/pjproject-2.1.0/build/cc-vc.mak b/daemon/libs/pjproject-2.2.1/build/cc-vc.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/cc-vc.mak rename to daemon/libs/pjproject-2.2.1/build/cc-vc.mak diff --git a/daemon/libs/pjproject-2.1.0/build/common.mak b/daemon/libs/pjproject-2.2.1/build/common.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/common.mak rename to daemon/libs/pjproject-2.2.1/build/common.mak diff --git a/daemon/libs/pjproject-2.1.0/build/host-mingw.mak b/daemon/libs/pjproject-2.2.1/build/host-mingw.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/host-mingw.mak rename to daemon/libs/pjproject-2.2.1/build/host-mingw.mak diff --git a/daemon/libs/pjproject-2.1.0/build/host-unix.mak b/daemon/libs/pjproject-2.2.1/build/host-unix.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/host-unix.mak rename to daemon/libs/pjproject-2.2.1/build/host-unix.mak diff --git a/daemon/libs/pjproject-2.1.0/build/host-win32.mak b/daemon/libs/pjproject-2.2.1/build/host-win32.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/host-win32.mak rename to daemon/libs/pjproject-2.2.1/build/host-win32.mak diff --git a/daemon/libs/pjproject-2.1.0/build/m-alpha.mak b/daemon/libs/pjproject-2.2.1/build/m-alpha.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/m-alpha.mak rename to daemon/libs/pjproject-2.2.1/build/m-alpha.mak diff --git a/daemon/libs/pjproject-2.1.0/build/m-arm.mak b/daemon/libs/pjproject-2.2.1/build/m-arm.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/m-arm.mak rename to daemon/libs/pjproject-2.2.1/build/m-arm.mak diff --git a/daemon/libs/pjproject-2.1.0/build/m-auto.mak b/daemon/libs/pjproject-2.2.1/build/m-auto.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/m-auto.mak rename to daemon/libs/pjproject-2.2.1/build/m-auto.mak diff --git a/daemon/libs/pjproject-2.1.0/build/m-i386.mak b/daemon/libs/pjproject-2.2.1/build/m-i386.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/m-i386.mak rename to daemon/libs/pjproject-2.2.1/build/m-i386.mak diff --git a/daemon/libs/pjproject-2.1.0/build/m-m68k.mak b/daemon/libs/pjproject-2.2.1/build/m-m68k.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/m-m68k.mak rename to daemon/libs/pjproject-2.2.1/build/m-m68k.mak diff --git a/daemon/libs/pjproject-2.1.0/build/m-mpc860.mak b/daemon/libs/pjproject-2.2.1/build/m-mpc860.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/m-mpc860.mak rename to daemon/libs/pjproject-2.2.1/build/m-mpc860.mak diff --git a/daemon/libs/pjproject-2.1.0/build/m-powerpc.mak b/daemon/libs/pjproject-2.2.1/build/m-powerpc.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/m-powerpc.mak rename to daemon/libs/pjproject-2.2.1/build/m-powerpc.mak diff --git a/daemon/libs/pjproject-2.1.0/build/m-sparc.mak b/daemon/libs/pjproject-2.2.1/build/m-sparc.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/m-sparc.mak rename to daemon/libs/pjproject-2.2.1/build/m-sparc.mak diff --git a/daemon/libs/pjproject-2.1.0/build/m-x86_64.mak b/daemon/libs/pjproject-2.2.1/build/m-x86_64.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/m-x86_64.mak rename to daemon/libs/pjproject-2.2.1/build/m-x86_64.mak diff --git a/daemon/libs/pjproject-2.1.0/build/os-auto.mak.in b/daemon/libs/pjproject-2.2.1/build/os-auto.mak.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/os-auto.mak.in rename to daemon/libs/pjproject-2.2.1/build/os-auto.mak.in diff --git a/daemon/libs/pjproject-2.1.0/build/os-darwinos.mak b/daemon/libs/pjproject-2.2.1/build/os-darwinos.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/os-darwinos.mak rename to daemon/libs/pjproject-2.2.1/build/os-darwinos.mak diff --git a/daemon/libs/pjproject-2.1.0/build/os-linux-kernel.mak b/daemon/libs/pjproject-2.2.1/build/os-linux-kernel.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/os-linux-kernel.mak rename to daemon/libs/pjproject-2.2.1/build/os-linux-kernel.mak diff --git a/daemon/libs/pjproject-2.1.0/build/os-linux.mak b/daemon/libs/pjproject-2.2.1/build/os-linux.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/os-linux.mak rename to daemon/libs/pjproject-2.2.1/build/os-linux.mak diff --git a/daemon/libs/pjproject-2.1.0/build/os-palmos.mak b/daemon/libs/pjproject-2.2.1/build/os-palmos.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/os-palmos.mak rename to daemon/libs/pjproject-2.2.1/build/os-palmos.mak diff --git a/daemon/libs/pjproject-2.1.0/build/os-rtems.mak b/daemon/libs/pjproject-2.2.1/build/os-rtems.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/os-rtems.mak rename to daemon/libs/pjproject-2.2.1/build/os-rtems.mak diff --git a/daemon/libs/pjproject-2.1.0/build/os-sunos.mak b/daemon/libs/pjproject-2.2.1/build/os-sunos.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/os-sunos.mak rename to daemon/libs/pjproject-2.2.1/build/os-sunos.mak diff --git a/daemon/libs/pjproject-2.1.0/build/os-win32.mak b/daemon/libs/pjproject-2.2.1/build/os-win32.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/os-win32.mak rename to daemon/libs/pjproject-2.2.1/build/os-win32.mak diff --git a/daemon/libs/pjproject-2.1.0/build/rules.mak b/daemon/libs/pjproject-2.2.1/build/rules.mak similarity index 68% rename from daemon/libs/pjproject-2.1.0/build/rules.mak rename to daemon/libs/pjproject-2.2.1/build/rules.mak index 0d35c56fd32f3e2f531968a19d01d8bd5fef87d8..0472b0a14fb1425a0d8a4727f90a9639cb2414d4 100644 --- a/daemon/libs/pjproject-2.1.0/build/rules.mak +++ b/daemon/libs/pjproject-2.2.1/build/rules.mak @@ -6,17 +6,24 @@ BINDIR = ../bin endif # -# The full path of output lib file (e.g. ../lib/libapp.a). -# -LIB = $($(APP)_LIB) - -# -# The full path of output lib file (e.g. ../lib/libapp.a). +# The name(s) of output lib file(s) (e.g. libapp.a). # +LIB := $($(APP)_LIB) SHLIB = $($(APP)_SHLIB) +SONAME = $($(APP)_SONAME) + +ifeq ($(SHLIB_SUFFIX),so) +SHLIB_OPT := -shared -Wl,-soname,$(SHLIB) +else ifeq ($(SHLIB_SUFFIX),dylib) +SHLIB_OPT := -dynamiclib -undefined dynamic_lookup -flat_namespace +else ifeq ($(SHLIB_SUFFIX),dll) +SHLIB_OPT := -shared -Wl,-soname,$(SHLIB) +else +SHLIB_OPT := +endif # -# The full path of output executable file (e.g. ../bin/app.exe). +# The name of output executable file (e.g. app.exe). # EXE = $($(APP)_EXE) @@ -72,30 +79,50 @@ print_common: @echo DEPFLAGS=$(DEPFLAGS) @echo CC=$(CC) @echo AR=$(AR) + @echo AR_FLAGS=$(AR_FLAGS) @echo RANLIB=$(RANLIB) print_bin: print_common - @echo EXE=$(EXE) + @echo EXE=$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)) @echo BINDIR=$(BINDIR) - + print_lib: print_common - @echo LIB=$(LIB) +ifneq ($(LIB),) + @echo LIB=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)) +endif +ifneq ($(SHLIB),) + @echo SHLIB=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)) +endif +ifneq ($(SONAME),) + @echo SONAME=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)) +endif @echo LIBDIR=$(LIBDIR) -$(LIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) +ifneq ($(LIB),) +$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi - $(AR) $(LIB) $(OBJS) - $(RANLIB) $(LIB) + $(AR) $(AR_FLAGS) $@ $(OBJS) + $(RANLIB) $@ +endif -$(SHLIB): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) +ifneq ($(SHLIB),) +$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi - $(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(SHLIB)) \ - $(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS) + $(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$@) \ + $(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS) $(SHLIB_OPT) +endif + +ifneq ($(SONAME),) +$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)): $(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)) + ln -sf $(SHLIB) $@ +endif -$(EXE): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) +ifneq ($(EXE),) +$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) if test ! -d $(BINDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)),$(HOST_MKDIR)); fi - $(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(EXE)) \ + $(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)) \ $(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS) +endif $(OBJDIR)/$(app).o: $(OBJDIRS) $(OBJS) $(CROSS_COMPILE)ld -r -o $@ $(OBJS) @@ -141,18 +168,18 @@ $(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.S $(subst /,$(HOST_PSEP),$<) $(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.cpp - $(CC) $($(APP)_CXXFLAGS) \ + $(CXX) $($(APP)_CXXFLAGS) \ $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \ $(subst /,$(HOST_PSEP),$<) $(OBJDIRS): - $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) + $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) $(LIBDIR): - $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)) + $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) $(BINDIR): - $(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)),$(HOST_MKDIR)) + $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) clean: $(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)/*),$(HOST_RMR)) @@ -167,7 +194,18 @@ gcov-report: done realclean: clean - $(subst @@,$(subst /,$(HOST_PSEP),$(LIB)) $(subst /,$(HOST_PSEP),$(EXE)),$(HOST_RM)) +ifneq ($(LIB),) + $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)),$(HOST_RM)) +endif +ifneq ($(SHLIB),) + $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)),$(HOST_RM)) +endif +ifneq ($(SONAME),) + $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)),$(HOST_RM)) +endif +ifneq ($(EXE),) + $(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)),$(HOST_RM)) +endif $(subst @@,$(DEP_FILE),$(HOST_RM)) ifeq ($(OS_NAME),linux-kernel) rm -f ../lib/$(app).ko diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-common-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-common-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-common-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-common-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-debug-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-debug-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-debug-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-debug-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-debug-dynamic-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-debug-dynamic-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-debug-dynamic-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-debug-dynamic-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-debug-static-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-debug-static-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-debug-static-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-debug-static-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-release-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-release-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-release-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-release-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-release-dynamic-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-release-dynamic-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-release-dynamic-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-release-dynamic-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-release-static-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-release-static-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-release-static-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-release-static-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-win32-common-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win32-common-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-win32-common-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win32-common-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-win32-release-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win32-release-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-win32-release-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win32-release-defaults.vsprops diff --git a/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win64-common-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win64-common-defaults.vsprops new file mode 100644 index 0000000000000000000000000000000000000000..f168437c9261cbb0d342f9262f615fc44ec5d2ea --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win64-common-defaults.vsprops @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="pjproject-vs8-win64-common-defaults" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="WIN64;PJ_WIN64=1;PJ_M_X86_64=1;" + /> + <Tool + Name="VCLinkerTool" + SubSystem="1" + TargetMachine="17" + /> + <UserMacro + Name="TargetCPU" + Value="x86_64" + /> +</VisualStudioPropertySheet> diff --git a/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win64-release-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win64-release-defaults.vsprops new file mode 100644 index 0000000000000000000000000000000000000000..3d551d032b5d07b5f2f603583735ac43d2931623 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-win64-release-defaults.vsprops @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="pjproject-vs8-win64-release-defaults" + InheritedPropertySheets=".\pjproject-vs8-win64-common-defaults.vsprops" + > +</VisualStudioPropertySheet> diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm2003-common-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm2003-common-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm2003-common-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm2003-common-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm2003-release-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm2003-release-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm2003-release-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm2003-release-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm5-common-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm5-common-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm5-common-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm5-common-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm5-release-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm5-release-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm5-release-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm5-release-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm6-common-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm6-common-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm6-common-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm6-common-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm6-release-defaults.vsprops b/daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm6-release-defaults.vsprops similarity index 100% rename from daemon/libs/pjproject-2.1.0/build/vs/pjproject-vs8-wm6-release-defaults.vsprops rename to daemon/libs/pjproject-2.2.1/build/vs/pjproject-vs8-wm6-release-defaults.vsprops diff --git a/daemon/libs/pjproject-2.1.0/c++-build.mak b/daemon/libs/pjproject-2.2.1/c++-build.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/c++-build.mak rename to daemon/libs/pjproject-2.2.1/c++-build.mak diff --git a/daemon/libs/pjproject-2.1.0/config.guess b/daemon/libs/pjproject-2.2.1/config.guess similarity index 56% rename from daemon/libs/pjproject-2.1.0/config.guess rename to daemon/libs/pjproject-2.2.1/config.guess index dff9e481b70f9505b49ce999629a168a19976f4f..aa04f04bda9641e1dcbf138f6ba7a72b2bc3d1bd 100755 --- a/daemon/libs/pjproject-2.1.0/config.guess +++ b/daemon/libs/pjproject-2.2.1/config.guess @@ -1,9 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2001-09-04' +timestamp='2012-06-17' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -16,23 +17,24 @@ timestamp='2001-09-04' # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# along with this program; if not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# Written by Per Bothner <bothner@cygnus.com>. -# Please send patches to <config-patches@gnu.org>. + +# Originally written by Per Bothner. Please send patches (context +# diff format) to <config-patches@gnu.org> and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -52,7 +54,8 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -65,11 +68,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -87,30 +90,42 @@ if test $# != 0; then exit 1 fi +trap 'exit 1' 1 2 15 -dummy=dummy-$$ -trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. -# CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. -set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int dummy(){}" > $dummy.c ; - for c in cc gcc c89 ; do - ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; - if test $? = 0 ; then +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; - rm -f $dummy.c $dummy.o $dummy.rel ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac' +esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -127,32 +142,34 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) - # Netbsd (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. - # Determine the machine/vendor (is the vendor relevant). - case "${UNAME_MACHINE}" in - amiga) machine=m68k-unknown ;; - arm32) machine=arm-unknown ;; - atari*) machine=m68k-atari ;; - sun3*) machine=m68k-sun ;; - mac68k) machine=m68k-apple ;; - macppc) machine=powerpc-apple ;; - hp3[0-9][05]) machine=m68k-hp ;; - ibmrt|romp-ibm) machine=romp-ibm ;; - *) machine=${UNAME_MACHINE}-unknown ;; + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. - case "${UNAME_MACHINE}" in - i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -162,124 +179,139 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in fi ;; *) - os=netbsd + os=netbsd ;; esac # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" - exit 0 ;; + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then + case $UNAME_RELEASE in + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - cat <<EOF >$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - eval $set_cc_for_build - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `./$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - 2-1307) - UNAME_MACHINE="alphaev68" - ;; - esac - fi - rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix - exit 0 ;; + exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 - exit 0 ;; + exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 - exit 0;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; - arc64:OpenBSD:*:*) - echo mips64el-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hkmips:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; *:OS/390:*:*) echo i370-ibm-openedition - exit 0 ;; + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp - exit 0;; + exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then @@ -287,25 +319,51 @@ EOF else echo pyramid-pyramid-bsd fi - exit 0 ;; + exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 - exit 0 ;; + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) @@ -314,12 +372,12 @@ EOF esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; + exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; sun*:*:4.2BSD:*) - UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) @@ -329,16 +387,10 @@ EOF echo sparc-sun-sunos${UNAME_RELEASE} ;; esac - exit 0 ;; + exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; - sparc*:NetBSD:*) - echo `uname -p`-unknown-netbsd${UNAME_RELEASE} - exit 0 ;; - atari*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -348,50 +400,41 @@ EOF # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; - sun3*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; + exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 - exit 0 ;; + exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; + exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -415,30 +458,36 @@ EOF exit (-1); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy \ - && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; + exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax - exit 0 ;; + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix - exit 0 ;; + exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 - exit 0 ;; + exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 - exit 0 ;; + exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ @@ -451,29 +500,29 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit 0 ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 - exit 0 ;; + exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 - exit 0 ;; + exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd - exit 0 ;; + exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; + exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix - exit 0 ;; + exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` @@ -481,7 +530,7 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build @@ -496,17 +545,20 @@ EOF exit(0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo rs6000-ibm-aix3.2.5 + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi - exit 0 ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else @@ -518,96 +570,114 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:*:*) echo rs6000-ibm-aix - exit 0 ;; + exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 - exit 0 ;; + exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 + exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx - exit 0 ;; + exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 - exit 0 ;; + exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd - exit 0 ;; + exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 - exit 0 ;; + exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) - case "${HPUX_REV}" in - 11.[0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - esac ;; - esac - fi ;; - esac - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c - #define _HPUX_SOURCE - #include <stdlib.h> - #include <unistd.h> + #define _HPUX_SOURCE + #include <stdlib.h> + #include <unistd.h> - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } EOF - (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy - fi ;; + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -635,158 +705,173 @@ EOF exit (0); } EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 - exit 0 ;; + exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd - exit 0 ;; + exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd - exit 0 ;; + exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix - exit 0 ;; + exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf - exit 0 ;; + exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf - exit 0 ;; + exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi - exit 0 ;; + exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites - exit 0 ;; - hppa*:OpenBSD:*:*) - echo hppa-unknown-openbsd - exit 0 ;; + exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit 0 ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit 0 ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit 0 ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit 0 ;; - CRAY*X-MP:*:*:*) - echo xmp-cray-unicos - exit 0 ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - exit 0 ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; - i*:MINGW*:*) + exit ;; + *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; + exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix - exit 0 ;; + echo i586-pc-interix + exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin - exit 0 ;; + exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; *:GNU:*:*) + # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; - arm*:Linux:*:*) + exit ;; + aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux - exit 0 ;; - m68*:Linux:*:*) + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) - case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in - big) echo mips-unknown-linux-gnu && exit 0 ;; - little) echo mipsel-unknown-linux-gnu && exit 0 ;; - esac - ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit 0 ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit 0 ;; + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -796,11 +881,90 @@ EOF EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -808,92 +972,71 @@ EOF PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac - exit 0 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit 0 ;; + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux - exit 0 ;; + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit 0 ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - ld_supported_targets=`cd /; ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - cat >$dummy.c <<EOF -#include <features.h> -#ifdef __cplusplus -#include <stdio.h> /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-pc-linux-gnu\n", argv[1]); -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-pc-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-pc-linux-gnuaout\n", argv[1]); -#endif - return 0; -} -EOF - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 - ;; + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 - exit 0 ;; + exit ;; i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. + # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -901,99 +1044,113 @@ EOF else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi - exit 0 ;; - i*86:*:5:[78]*) + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; + exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` echo ${UNAME_MACHINE}-pc-isc$UNAME_REL elif /bin/uname -X 2>/dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 - (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi - exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; + exit ;; pc:*:*:*) # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit 0 ;; + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 - exit 0 ;; + exit ;; paragon:*:*:*) echo i860-intel-osf1 - exit 0 ;; + exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi - exit 0 ;; + exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; + exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` @@ -1001,82 +1158,123 @@ EOF else echo ns32k-sni-sysv fi - exit 0 ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says <Richard.M.Bartel@ccMail.Census.GOV> - echo i586-unisys-sysv4 - exit 0 ;; + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says <Richard.M.Bartel@ccMail.Census.GOV> + echo i586-unisys-sysv4 + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes <hewes@openmarket.com>. # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 - exit 0 ;; + exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 - exit 0 ;; + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos - exit 0 ;; + exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; + exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 - exit 0 ;; + exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv${UNAME_RELEASE} else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv${UNAME_RELEASE} fi - exit 0 ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos - exit 0 ;; + exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos - exit 0 ;; + exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos - exit 0 ;; + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} - exit 0 ;; + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) - if test "${UNAME_MACHINE}" = "x86pc"; then + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo `uname -p`-${UNAME_MACHINE}-nto-qnx - exit 0 ;; + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; *:QNX:*:4*) echo i386-pc-qnx - exit 0 ;; - NSR-[KW]:NONSTOP_KERNEL:*:*) + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux - exit 0 ;; + exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv - exit 0 ;; + exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 @@ -1087,36 +1285,53 @@ EOF UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; + exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 - exit 0 ;; + exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex - exit 0 ;; + exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 - exit 0 ;; + exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 - exit 0 ;; + exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 - exit 0 ;; + exit ;; *:ITS:*:*) echo pdp10-unknown-its - exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1139,16 +1354,16 @@ main () #include <sys/param.h> printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 - "4" + "4" #else - "" + "" #endif - ); exit (0); + ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); + printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) @@ -1237,12 +1452,12 @@ main () } EOF -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 -rm -f $dummy.c $dummy +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) @@ -1251,22 +1466,22 @@ then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd - exit 0 ;; + exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; c34*) echo c34-convex-bsd - exit 0 ;; + exit ;; c38*) echo c38-convex-bsd - exit 0 ;; + exit ;; c4*) echo c4-convex-bsd - exit 0 ;; + exit ;; esac fi @@ -1277,7 +1492,9 @@ This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from - ftp://ftp.gnu.org/pub/gnu/config/ + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +and + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD If the version you run ($0) is already up to date, please send the following data and any information you think might be diff --git a/daemon/libs/pjproject-2.1.0/config.sub b/daemon/libs/pjproject-2.2.1/config.sub similarity index 80% rename from daemon/libs/pjproject-2.1.0/config.sub rename to daemon/libs/pjproject-2.2.1/config.sub index 746ee208a175a4f263cc9a186f5dc8f420524274..aa2cf19b81e1b7db93ba04295e7c3998448c86ed 100755 --- a/daemon/libs/pjproject-2.1.0/config.sub +++ b/daemon/libs/pjproject-2.2.1/config.sub @@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2005-04-22' +timestamp='2012-06-17' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -20,23 +21,25 @@ timestamp='2005-04-22' # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - +# along with this program; if not, see <http://www.gnu.org/licenses/>. +# # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. + # Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -70,7 +73,8 @@ Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -83,11 +87,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -99,7 +103,7 @@ while test $# -gt 0 ; do *local*) # First pass through any local machine types. echo $1 - exit 0;; + exit ;; * ) break ;; @@ -118,11 +122,18 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ - kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -145,10 +156,13 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -163,13 +177,17 @@ case $os in os=-chorusos basic_machine=$1 ;; - -chorusrdb) - os=-chorusrdb + -chorusrdb) + os=-chorusrdb basic_machine=$1 - ;; + ;; -hiux*) os=-hiuxwe2 ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -186,6 +204,10 @@ case $os in # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -203,6 +225,12 @@ case $os in -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; -lynx*) os=-lynxos ;; @@ -227,26 +255,36 @@ case $basic_machine in # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | epiphany \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ - | mips64vr | mips64vrel \ + | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ @@ -255,31 +293,65 @@ case $basic_machine in | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | moxie \ + | mt \ | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 \ | ns16k | ns32k \ - | openrisc | or32 \ + | open8 \ + | or32 \ | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ - | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -295,32 +367,40 @@ case $basic_machine in # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ + | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ - | m32r-* | m32rle-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ + | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ @@ -329,27 +409,38 @@ case $basic_machine in | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ + | mt-* \ | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ | tron-* \ - | v850-* | v850e-* | vax-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-*) + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. @@ -367,7 +458,7 @@ case $basic_machine in basic_machine=a29k-amd os=-udi ;; - abacus) + abacus) basic_machine=abacus-unknown ;; adobe68k) @@ -413,6 +504,10 @@ case $basic_machine in basic_machine=m68k-apollo os=-bsd ;; + aros) + basic_machine=i386-pc + os=-aros + ;; aux) basic_machine=m68k-apple os=-aux @@ -421,10 +516,35 @@ case $basic_machine in basic_machine=ns32k-sequent os=-dynix ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; c90) basic_machine=c90-cray os=-unicos ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -453,8 +573,8 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16c) - basic_machine=cr16c-unknown + cr16 | cr16-*) + basic_machine=cr16-unknown os=-elf ;; crds | unos) @@ -492,6 +612,10 @@ case $basic_machine in basic_machine=m88k-motorola os=-sysv3 ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -607,7 +731,6 @@ case $basic_machine in i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -646,6 +769,14 @@ case $basic_machine in basic_machine=m68k-isi os=-sysv ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; m88k-omron*) basic_machine=m88k-omron ;; @@ -657,10 +788,17 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; miniframe) basic_machine=m68000-convergent ;; @@ -686,10 +824,21 @@ case $basic_machine in basic_machine=i386-pc os=-msdos ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i386-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -754,6 +903,12 @@ case $basic_machine in np1) basic_machine=np1-gould ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -761,9 +916,8 @@ case $basic_machine in basic_machine=hppa1.1-oki os=-proelf ;; - or32 | or32-*) + openrisc | openrisc-*) basic_machine=or32-unknown - os=-coff ;; os400) basic_machine=powerpc-ibm @@ -785,6 +939,14 @@ case $basic_machine in basic_machine=i860-intel os=-osf ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; @@ -794,6 +956,12 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; @@ -823,9 +991,10 @@ case $basic_machine in ;; power) basic_machine=power-ibm ;; - ppc) basic_machine=powerpc-unknown + ppc | ppcbe) basic_machine=powerpc-unknown ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown @@ -850,6 +1019,10 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; rom68k) basic_machine=m68k-rom68k os=-coff @@ -876,6 +1049,10 @@ case $basic_machine in sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; sei) basic_machine=mips-sei os=-seiux @@ -887,6 +1064,9 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; sh64) basic_machine=sh64-unknown ;; @@ -908,6 +1088,9 @@ case $basic_machine in basic_machine=i860-stratus os=-sysv4 ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; sun2) basic_machine=m68000-sun ;; @@ -964,17 +1147,9 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown @@ -1043,6 +1218,9 @@ case $basic_machine in xps | xps100) basic_machine=xps100-honeywell ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; ymp) basic_machine=ymp-cray os=-unicos @@ -1051,6 +1229,10 @@ case $basic_machine in basic_machine=z8k-unknown os=-sim ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -1089,13 +1271,10 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) @@ -1113,9 +1292,6 @@ case $basic_machine in pmac | pmac-mpw) basic_machine=powerpc-apple ;; - nios2*) - basic_machine=nios2-altera - ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; @@ -1142,9 +1318,12 @@ esac if [ x"$os" != x"" ] then case $os in - # First match some system type aliases - # that might get confused with valid system types. + # First match some system type aliases + # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1165,26 +1344,31 @@ case $os in # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ + | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1202,7 +1386,7 @@ case $os in os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) @@ -1223,7 +1407,7 @@ case $os in -opened*) os=-openedition ;; - -os400*) + -os400*) os=-os400 ;; -wince*) @@ -1272,7 +1456,7 @@ case $os in -sinix*) os=-sysv4 ;; - -tpf*) + -tpf*) os=-tpf ;; -triton*) @@ -1314,6 +1498,11 @@ case $os in -zvmoe) os=-zvmoe ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; -none) ;; *) @@ -1336,6 +1525,12 @@ else # system, and we'll never get to this point. case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; *-acorn) os=-riscix1.2 ;; @@ -1345,9 +1540,21 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff - ;; + c4x-* | tic4x-*) + os=-coff + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 @@ -1366,13 +1573,13 @@ case $basic_machine in ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout ;; + mep-*) + os=-elf + ;; mips*-cisco) os=-elf ;; @@ -1391,10 +1598,13 @@ case $basic_machine in *-be) os=-beos ;; + *-haiku) + os=-haiku + ;; *-ibm) os=-aix ;; - *-knuth) + *-knuth) os=-mmixware ;; *-wec) @@ -1499,7 +1709,7 @@ case $basic_machine in -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) @@ -1562,7 +1772,7 @@ case $basic_machine in esac echo $basic_machine$os -exit 0 +exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff --git a/daemon/libs/pjproject-2.1.0/configure b/daemon/libs/pjproject-2.2.1/configure similarity index 100% rename from daemon/libs/pjproject-2.1.0/configure rename to daemon/libs/pjproject-2.2.1/configure diff --git a/daemon/libs/pjproject-2.2.1/configure-android b/daemon/libs/pjproject-2.2.1/configure-android new file mode 100755 index 0000000000000000000000000000000000000000..02298a9719be74419fb2eb09205d148626ca1ec3 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/configure-android @@ -0,0 +1,166 @@ +#!/bin/sh +# + +F="configure-android" + +if test "$*" = "--help" -o "$*" = "-h"; then + echo "$F [--use-ndk-cflags] [OPTIONS]" + echo "" + echo "where:" + echo " --use-ndk-cflags Optional parameter to use the same compilation flags" + echo " as the one used by ndk-build" + echo " OPTIONS Other options that will be passed directly to" + echo " ./aconfigure script. Run ./aconfigure --help" + echo " for more info." + echo "" + echo "Environment variables:" + echo " ANDROID_NDK_ROOT Specify the directory of Android NDK to use." + echo " APP_PLATFORM Optionally specify the platform level used, e.g." + echo " android-9. By default, configure will use the" + echo " maximum platform level detected." + echo " TARGET_ABI Optionally specify a single target architecture," + echo " e.g. armeabi-v7a, mips, x86. By default, the target" + echo " architecture is armeabi. Only used when" + echo " --use-ndk-cflags is specified." + echo " IGNORE_CFLAGS Optionally specify compilation flags to be ignored." + echo " Each grepped flag that satisfies the criteria will" + echo " be ignored. Default:" + echo " IGNORE_CFLAGS=\"\-M\|\-f*stack\|\-f*alias\"" + echo " Only used when --use-ndk-cflags is specified." + echo "" + exit 0 +fi + +if test "x${ANDROID_NDK_ROOT}" = "x"; then + echo "$F error: ANDROID_NDK_ROOT must be specified" + exit 0 +fi + +#if test "$1" = "--simulator"; then +if test "1" = "0"; then + shift + TARGET_HOST="i686-android-linux" + TC_DIR="x86" +else + TARGET_HOST="arm-linux-androideabi" + TC_DIR=${TARGET_HOST} +fi + +if test "x$APP_PLATFORM" = "x"; then + APP_PLATFORM=`ls ${ANDROID_NDK_ROOT}/platforms/ | sed 's/android-//' | sort -gr | head -1` + APP_PLATFORM="android-${APP_PLATFORM}" + echo "$F: APP_PLATFORM not specified, using ${APP_PLATFORM}" +fi + +if test "x$TARGET_ABI" = "x"; then + TARGET_ABI="armeabi" + echo "$F: TARGET_ABI not specified, using ${TARGET_ABI}" +fi + +if test "$1" = "--use-ndk-cflags"; then + shift + ADD_CFLAGS="1" + if test "x${IGNORE_CFLAGS}" = "x"; then + IGNORE_CFLAGS="\-M\|\-f*stack\|\-f*alias" + fi + for i in `${ANDROID_NDK_ROOT}/ndk-build -n -C ${ANDROID_NDK_ROOT}/samples/hello-jni NDK_LOG=1 APP_PLATFORM=${APP_PLATFORM} APP_ABI=${TARGET_ABI}`; do + if test "x${NDK_CXX}" != "x" -a "$i" = "-o"; then break; fi + + # Parse NDK CXXFLAGS + if test "x${NDK_CXX}" != "x" -a "x`echo $i|grep 'hello-jni'`" = "x"; then + if test "x`echo $i|grep '\-\-sysroot='`" != "x"; then + ANDROID_SYSROOT=`echo $i|sed 's/--sysroot=//'`; + fi + NDK_CXXFLAGS="${NDK_CXXFLAGS} $i" + fi + + # Parse NDK CFLAGS + if test "x${NDK_CC}" != "x" -a "x`echo $i|grep 'hello-jni'`" = "x" -a "${ADD_CFLAGS}" = "1"; then + if test "$i" = "-c"; then ADD_CFLAGS="0"; else + if test "x`echo $i|grep ${IGNORE_CFLAGS}`" = "x"; then + NDK_CFLAGS="${NDK_CFLAGS} $i" + fi + fi + fi + + # Find gcc toolchain + if test "x${NDK_CC}" = "x" -a "x`echo $i | grep 'gcc'`" != "x"; then + NDK_CC=$i + fi + # Find g++ toolchain + if test "x`echo $i | grep 'g++'`" != "x"; then + NDK_CXX=$i + fi + done + + export CC="${NDK_CC}" + export CXX="${NDK_CXX}" + export AR=`echo ${NDK_CXX}|sed 's/-g++/-ar/'`; + export RANLIB=`echo ${NDK_CXX}|sed 's/-g++/-ranlib/'`; + + export LDFLAGS="${LDFLAGS} -nostdlib -L${ANDROID_SYSROOT}/usr/lib/" + export LIBS="${LIBS} -lc -lgcc" + export CFLAGS="${NDK_CFLAGS} ${CFLAGS}" + export CPPFLAGS="${CFLAGS} -fexceptions -frtti" + export CXXFLAGS="${NDK_CXXFLAGS} -fexceptions -frtti" + +else + + ANDROID_TC_VER=`ls -d ${ANDROID_NDK_ROOT}/toolchains/${TC_DIR}-* | sed 's/clang/0/' | sort -gr | head -1` + ANDROID_TC=`ls -d ${ANDROID_TC_VER}/prebuilt/* | grep -v gdbserver | head -1` + if test ! -d ${ANDROID_TC}; then + echo "$F error: unable to find directory ${ANDROID_TC} in Android NDK" + exit 1 + fi + + export ANDROID_SYSROOT="${ANDROID_NDK_ROOT}/platforms/${APP_PLATFORM}/arch-arm" + if test ! -d ${ANDROID_SYSROOT}; then + echo "$F error: unable to find sysroot dir ${ANDROID_SYSROOT} in Android NDK" + exit 1 + fi + + export CC="${ANDROID_TC}/bin/${TARGET_HOST}-gcc" + export CXX="${ANDROID_TC}/bin/${TARGET_HOST}-g++" + export AR="${ANDROID_TC}/bin/${TARGET_HOST}-ar" + export RANLIB="${ANDROID_TC}/bin/${TARGET_HOST}-ranlib" + + export LDFLAGS="${LDFLAGS} -nostdlib -L${ANDROID_SYSROOT}/usr/lib/" + export LIBS="${LIBS} -lc -lgcc" + export CFLAGS="${CFLAGS} -I${ANDROID_SYSROOT}/usr/include" + export CPPFLAGS="${CFLAGS} -fexceptions -frtti" + export CXXFLAGS="${CXXFLAGS} -shared --sysroot=${ANDROID_SYSROOT} -fexceptions -frtti" + +fi + +# C++ STL +# Note: STL for pjsua2 sample app is specified in pjsip-apps/src/swig/java/android/jni/Application.mk + +# gnustl +STDCPP_TC_VER=`ls -d ${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/[0-9]* | sort -gr | head -1` +STDCPP_CFLAGS="-I${STDCPP_TC_VER}/include -I${STDCPP_TC_VER}/libs/armeabi/include" +STDCPP_LIBS="${ANDROID_SYSROOT}/usr/lib/crtbegin_so.o -lgnustl_static" +STDCPP_LDFLAGS="-L${STDCPP_TC_VER}/libs/armeabi" + +# stlport +#STDCPP_CFLAGS="-I${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/stlport" +#STDCPP_LIBS="${ANDROID_SYSROOT}/usr/lib/crtbegin_so.o -lstlport_static -ldl" +#STDCPP_LDFLAGS="-L${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/libs/armeabi" + +export CFLAGS="${CFLAGS} ${STDCPP_CFLAGS}" +export LIBS="${STDCPP_LIBS} ${LIBS}" +export LDFLAGS="${LDFLAGS} ${STDCPP_LDFLAGS}" + +# Print settings +if test "1" = "1"; then + echo "$F: calling ./configure with env vars:" + echo " CC = ${CC}" + echo " CXX = ${CXX}" + echo " CFLAGS = ${CFLAGS}" + echo " CXXFLAGS = ${CXXFLAGS}" + echo " LDFLAGS = ${LDFLAGS}" + echo " LIBS = ${LIBS}" + echo " AR = ${AR}" + echo " RANLIB = ${RANLIB}" +fi + +./configure --host=${TARGET_HOST} --disable-video $* diff --git a/daemon/libs/pjproject-2.2.1/configure-bb10 b/daemon/libs/pjproject-2.2.1/configure-bb10 new file mode 100755 index 0000000000000000000000000000000000000000..4474947e0750e103e2b0f366dc12a8dc453bebdd --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/configure-bb10 @@ -0,0 +1,67 @@ +#!/bin/sh +# + +F="configure-bb10" + +if test "$*" = "--help" -o "$*" = "-h"; then + echo "$F [--simulator] [OPTIONS]" + echo "" + echo "where:" + echo " --simulator Optional parameter to specify that the compilation" + echo " target is a simulator." + echo " OPTIONS Other options that will be passed directly to" + echo " ./configure script. Run ./configure --help" + echo " for more info." + exit 0 +fi + +# Find simulator argument +args="" +simulator="no" +for arg in "$@"; do + if test "$arg" = "--simulator"; then + simulator="yes" + else + args="$args $arg" + fi +done + +if test "$simulator" = "yes"; then + TARGET_ARCH="x86" + TARGET_ARCHEND=${TARGET_ARCH} + LIBDIR=${TARGET_ARCH} + TARGET_HOST="i486-pc-nto-qnx8.0.0" +else + TARGET_ARCH="armv7" + TARGET_ARCHEND="${TARGET_ARCH}le" + LIBDIR="armle-v7" + TARGET_HOST="arm-unknown-nto-qnx8.0.0eabi" +fi + +RANLIB="${QNX_HOST}/usr/bin/nto${TARGET_ARCH}-ranlib " +CPP="${QNX_HOST}/usr/bin/qcc -V4.6.3,gcc_nto${TARGET_ARCHEND}_cpp -E " +CC="${QNX_HOST}/usr/bin/qcc -V4.6.3,gcc_nto${TARGET_ARCHEND}_cpp " +LD="${QNX_HOST}/usr/bin/nto${TARGET_ARCH}-ld " +export LDFLAGS="$LDFLAGS -L${QNX_TARGET}/${LIBDIR}/usr/lib -L${QNX_TARGET}/${LIBDIR}/lib -L${QNX_HOST}/usr/lib/gcc/${TARGET_HOST}/4.6.3 -lgcc -lasound -laudio_manager" + +if test "$CFLAGS" = ""; then + # Default if no CFLAGS is set in env + export CFLAGS=" -g -O2" +fi +export CFLAGS="$CFLAGS -fPIC -DPJ_CONFIG_BB10=1 -DPJMEDIA_AUDIO_DEV_HAS_BB10=1" + +# Invoke configure +./configure --host=${TARGET_HOST} --disable-oss $args +RETVAL=$? + +# Write to pjsip.pri only if configure was successful +if test $RETVAL -eq 0; then + echo "# Config file to be included in app's .pro file" > pjsip.pri + echo "# Auto-generated by 'configure-bb10 $*'" >> pjsip.pri + make -f bb10-config.mak >> pjsip.pri + + echo PJSIP config file for BB10 has been written to \'pjsip.pri\'. You can include this file from your application\'s .pro file. + echo +fi + + diff --git a/daemon/libs/pjproject-2.1.0/configure-iphone b/daemon/libs/pjproject-2.2.1/configure-iphone similarity index 87% rename from daemon/libs/pjproject-2.1.0/configure-iphone rename to daemon/libs/pjproject-2.2.1/configure-iphone index 79bf226f99dba5bf4d71de8a9cf64e96d85032eb..01cccbfcb3b83e4711684800ecab31fd4560ba87 100755 --- a/daemon/libs/pjproject-2.1.0/configure-iphone +++ b/daemon/libs/pjproject-2.2.1/configure-iphone @@ -18,7 +18,7 @@ if test "$*" = "--help" -o "$*" = "-h"; then echo " to use. By default, the compiler is deduced from the" echo " SDK." echo " ARCH Optional flags to specify target architecture, e.g." - echo " ARCH='-arch armv6'" + echo " ARCH='-arch armv6'. Default is armv7." echo "" exit 0 fi @@ -70,19 +70,24 @@ if test "$LDFLAGS" = ""; then LDFLAGS="-O2" fi +# Test the toolchain directory +TCPATH="${DEVPATH}/../../../Toolchains/XcodeDefault.xctoolchain" +if test ! -d ${TCPATH}/usr/bin; then + TCPATH="${DEVPATH}" +fi + # Determine which gcc for this SDK. Binaries should have the # full path as it's not normally in user's PATH if test "${CC}" = ""; then - # Try to use llvm-gcc if available + # Try to use clang if available + ccpath="${TCPATH}/usr/bin/clang" + # Next, try to use llvm-gcc gccpath="${DEVPATH}/usr/bin/llvm-gcc" - if test -e ${gccpath}; then + if test -e ${ccpath}; then + export CC="${ccpath}" + elif test -e ${gccpath}; then export CC="${gccpath}" - - if test "${ARCH}" = ""; then - export ARCH="-arch armv7" - echo "$F: ARCH is not specified, choosing ${ARCH}" - fi else for archpath in `ls -d ${SDKPATH}/usr/lib/gcc/arm-apple-darwin*`; do archname=`basename ${archpath}` @@ -104,6 +109,11 @@ if test "${CC}" = ""; then exit 1 fi +if test "${ARCH}" = ""; then + export ARCH="-arch armv7" + echo "$F: ARCH is not specified, choosing ${ARCH}" +fi + # Set CXX if not set if test "${CXX}" = ""; then export CXX=`echo ${CC} | sed 's/gcc/g++/'` @@ -114,7 +124,8 @@ fi #ARCH="-arch armv6" export CFLAGS="${CFLAGS} -DPJ_SDK_NAME=\"\\\"`basename $SDKPATH`\\\"\" ${ARCH} -isysroot ${SDKPATH}" export LDFLAGS="${LDFLAGS} ${ARCH} -isysroot ${SDKPATH} -framework AudioToolbox -framework Foundation" -export AR="${DEVPATH}/usr/bin/libtool -static -o" +export AR="${TCPATH}/usr/bin/libtool -static -o" +export AR_FLAGS=" " export RANLIB="echo ranlib" # Use gcc -E as preprocessor instead of cpp, since cpp will find the # header files in standard /usr/include instead of in isysroot diff --git a/daemon/libs/pjproject-2.1.0/configure-legacy b/daemon/libs/pjproject-2.2.1/configure-legacy similarity index 100% rename from daemon/libs/pjproject-2.1.0/configure-legacy rename to daemon/libs/pjproject-2.2.1/configure-legacy diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/Doxyfile b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/Doxyfile new file mode 100644 index 0000000000000000000000000000000000000000..49b794c2fd20ccfd0d11fc008330f642998bb665 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/Doxyfile @@ -0,0 +1,1781 @@ +# Doxyfile 1.7.6.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 +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. + +PROJECT_NAME = "pjsua2" + +# 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 = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + +# 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 = + +# 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: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# 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 if your file system +# 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 regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# 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 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 the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = 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 = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding +# "class=itcl::class" will allow you to use the command class in the +# itcl::class meaning. + +TCL_SUBST = + +# 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 = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also makes the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = 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 + +# 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 + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and +# unions with only public data fields will be shown inline in the documentation +# of the scope in which they are defined (i.e. file, namespace, or group +# documentation), provided this scope is documented. If set to NO (the default), +# structs, classes, and unions are shown on a separate page (for HTML and Man +# pages) or section (for LaTeX and RTF). + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penalty. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will roughly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols. + +SYMBOL_CACHE_SIZE = 0 + +# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be +# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given +# their name and scope. Since this can be an expensive process and often the +# same symbol appear multiple times in the code, doxygen keeps a cache of +# pre-resolved symbols. If the cache is too small doxygen will become slower. +# If the cache is too large, memory is wasted. The cache size is given by this +# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# 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 = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# 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 this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespaces are hidden. + +EXTRACT_ANON_NSPACES = 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 = YES + +# 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 FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# 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_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = 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 + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = 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 macro 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 macros 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. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files +# containing the references data. This must be a list of .bib files. The +# .bib extension is automatically appended if omitted. Using this command +# requires the bibtex tool to be installed. See also +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this +# feature you need bibtex and perl available in the search path. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# 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 = YES + +# 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_NO_PARAMDOC option can be enabled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# 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. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +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 = ../../pjsip/include/pjsua2 + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# 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++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl + +FILE_PATTERNS = *.hpp + +# 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 = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# 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. +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system 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. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# 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 <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> 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 or if +# non of the patterns match the file name, INPUT_FILTER is applied. + +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 + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +#--------------------------------------------------------------------------- +# 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 +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# 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 = YES + +# 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 = NO + +# 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. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is advised to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when +# changing the value of configuration settings such as GENERATE_TREEVIEW! + +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 +# style sheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the style sheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# 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 HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# 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 compiled 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 CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# 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 + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) +# at top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. Since the tabs have the same information as the +# navigation tree you can set this option to NO if you already set +# GENERATE_TREEVIEW to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value 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 (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. +# Since the tree basically has the same information as the tab index you +# could consider to set DISABLE_INDEX to NO when enabling this option. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = 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 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the +# mathjax.org site, so you can quickly see the result without installing +# MathJax, but it is strongly recommended to install a local copy of MathJax +# before deployment. + +MATHJAX_RELPATH = http://www.mathjax.org/mathjax + +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension +# names that should be enabled during MathJax rendering. + +MATHJAX_EXTENSIONS = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvantages are that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# 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 = NO + +# 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. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +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, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4 + +# 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 = + +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + +# 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 = YES + +# 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 = YES + +# 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 + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See +# http://en.wikipedia.org/wiki/BibTeX for more info. + +LATEX_BIB_STYLE = plain + +#--------------------------------------------------------------------------- +# 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 style sheet 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 = YES + +# 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_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# pointed to by INCLUDE_PATH will be searched when 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 = DOXYGEN + +# 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 that +# overrules the definition found in the source code. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these 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 also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# 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 = NO + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will use the Helvetica font for all dot files that +# doxygen generates. When you want a differently looking font you can specify +# the font name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or by setting +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. + +DOT_FONTNAME = Helvetica + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the Helvetica font. +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to +# set the path where dot can find it. + +DOT_FONTPATH = + +# 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 +# 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 GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = 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 options 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 CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller 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 caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will generate a graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are svg, png, jpg, or gif. +# If left blank png will be used. If you choose svg you need to set +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible in IE 9+ (other browsers do not have this requirement). + +DOT_IMAGE_FORMAT = png + +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible. Older versions of IE do not have SVG support. + +INTERACTIVE_SVG = NO + +# 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 in the path. + +DOT_PATH = + +# 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 MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# 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 the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# 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 diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/Makefile b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..696410e27b81627b7ba5f13a54421645c247789d --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/Makefile @@ -0,0 +1,170 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +all: html + +help: + @echo "Please use \`make <target>' where <target> is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + -rm -rf xml + -rm -rf html + +install: + @if test -z "$(WWWDIR)" ; then \ + echo WWWDIR is not set; \ + else \ + echo Copying html dir to $(WWWDIR)/docs/book-latest/..; \ + cp -a -f _build/html $(WWWDIR)/docs/book-latest/; \ + echo Copying PJSUA2Doc.pdf to $(WWWDIR)/docs/book-latest/..; \ + cp -f _build/latex/PJSUA2Doc.pdf $(WWWDIR)/docs/book-latest/; \ + fi + +xml: Doxyfile ../../pjsip/include/pjsua2 + doxygen + +html: xml + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ThePJSIPBook.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ThePJSIPBook.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/ThePJSIPBook" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ThePJSIPBook" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: xml + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/account.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/account.rst new file mode 100644 index 0000000000000000000000000000000000000000..c4bfbacad5a70ee16046918babfb93f23e5f5af1 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/account.rst @@ -0,0 +1,222 @@ + +Accounts +========= +Accounts provide identity (or identities) of the user who is currently using the application. An account has one SIP Uniform Resource Identifier (URI) associated with it. In SIP terms, this URI acts as Address of Record (AOR) of the person and is used as the From header in outgoing requests. + +Account may or may not have client registration associated with it. An account is also associated with route set and some authentication credentials, which are used when sending SIP request messages using the account. An account also has presence status, which will be reported to remote peer when they subscribe to the account's presence, or which is published to a presence server if presence publication is enabled for the account. + +At least one account MUST be created in the application, since any outgoing requests require an account context. If no user association is required, application can create a userless account by calling Account.create(). A userless account identifies local endpoint instead of a particular user, and it corresponds to a particular transport ID. + +Also one account must be set as the default account, which will be used as the account identity when pjsua fails to match incoming request with any accounts using the stricter matching rules. + +Subclassing the Account class +--------------------------------- +To use the Account class, normally application SHOULD create its own subclass, in order to receive notifications for the account. For example: + +.. code-block:: c++ + + class MyAccount : public Account + { + public: + MyAccount() {} + ~MyAccount() {} + + virtual void onRegState(OnRegStateParam &prm) + { + AccountInfo ai = getInfo(); + cout << (ai.regIsActive? "*** Register: code=" : "*** Unregister: code=") + << prm.code << endl; + } + + virtual void onIncomingCall(OnIncomingCallParam &iprm) + { + Call *call = new MyCall(*this, iprm.callId); + + // Just hangup for now + CallOpParam op; + op.statusCode = PJSIP_SC_DECLINE; + call->hangup(op); + + // And delete the call + delete call; + } + }; + +In its subclass, application can implement the account callbacks, which is basically used to process events related to the account, such as: + +- the status of SIP registration +- incoming calls +- incoming presence subscription requests +- incoming instant message not from buddy + +Application needs to override the relevant callback methods in the derived class to handle these particular events. + +If the events are not handled, default actions will be invoked: + +- incoming calls will not be handled +- incoming presence subscription requests will be accepted +- incoming instant messages from non-buddy will be ignored + +Creating Userless Accounts +-------------------------- +A userless account identifies a particular SIP endpoint rather than a particular user. Some other SIP softphones may call this peer-to-peer mode, which means that we are calling another computer via its address rather than calling a particular user ID. For example, we might identify ourselves as "sip:192.168.0.15" (a userless account) rather than, say, "sip:alice@pjsip.org". + +In the lower layer PJSUA-LIB API, a userless account is associated with a SIP transport, and is created with ``pjsua_acc_add_local()`` API. This concept has been deprecated in PJSUA2, and rather, a userless account is a "normal" account with a userless ID URI (e.g. "sip:192.168.0.15") and without registration. Thus creating a userless account is exactly the same as creating "normal" account. + + +Creating Account +---------------- +We need to configure AccountConfig and call Account.create() to create the account. At the very minimum, pjsua only requires the account's ID, which is an URI to identify the account (or in SIP terms, it's called Address of Record/AOR). Here's a snippet: + +.. code-block:: c++ + + AccountConfig acc_cfg; + acc_cfg.idUri = "sip:test1@pjsip.org"; + + MyAccount *acc = new MyAccount; + try { + acc->create(acc_cfg); + } catch(Error& err) { + cout << "Account creation error: " << err.info() << endl; + } + +The account created above doesn't do anything except to provide identity in the "From:" header for outgoing requests. The account will not register to SIP server or anything. + +Typically you will want the account to authenticate and register to your SIP server so that you can receive incoming calls. To do that you will need to configure some more settings in your AccountConfig, something like this: + +.. code-block:: c++ + + AccountConfig acc_cfg; + acc_cfg.idUri = "sip:test1@pjsip.org"; + acc_cfg.regConfig.registrarUri = "sip:pjsip.org"; + acc_cfg.sipConfig.authCreds.push_back( AuthCredInfo("digest", "*", "test1", 0, "secret1") ); + + MyAccount *acc = new MyAccount; + try { + acc->create(acc_cfg); + } catch(Error& err) { + cout << "Account creation error: " << err.info() << endl; + } + +Account Configurations +----------------------- +There are many more settings that can be specified in AccountConfig, like: + +- AccountRegConfig, to specify registration settings, such as registrar server and retry interval. +- AccountSipConfig, to specify SIP settings, such as credential information and proxy server. +- AccountCallConfig, to specify call settings, such as whether reliable provisional response (SIP 100rel) is required. +- AccountPresConfig, to specify presence settings, such as whether presence publication (PUBLISH) is enabled. +- AccountMwiConfig, to specify MWI (Message Waiting Indication) settings. +- AccountNatConfig, to specify NAT settings, such as whether STUN or ICE is used. +- AccountMediaConfig, to specify media settings, such as Secure RTP (SRTP) related settings. +- AccountVideoConfig, to specify video settings, such as default capture and render device. + +Please see AccountConfig reference documentation for more info. + +Account Operations +-------------------------------------- +Some of the operations to the Account object: + +- manage registration +- manage buddies/contacts +- manage presence online status + +Please see the reference documentation for Account for more info. Calls, presence, and buddy will be explained in later chapters. + + +Class Reference +--------------- +Account ++++++++ +.. doxygenclass:: pj::Account + :path: xml + :members: + +AccountInfo ++++++++++++ +.. doxygenstruct:: pj::AccountInfo + :path: xml + +Account Settings +++++++++++++++++ +AccountConfig +~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountConfig + :path: xml + +AccoutRegConfig +~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountRegConfig + :path: xml + +AccountSipConfig +~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountSipConfig + :path: xml + +AccountCallConfig +~~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountCallConfig + :path: xml + +AccountPresConfig +~~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountPresConfig + :path: xml + +AccountMwiConfig +~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountMwiConfig + :path: xml + +AccountNatConfig +~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountNatConfig + :path: xml + +AccountMediaConfig +~~~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountMediaConfig + :path: xml + +AccountVideoConfig +~~~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountVideoConfig + :path: xml + + +Callback Parameters ++++++++++++++++++++ +.. doxygenstruct:: pj::OnIncomingCallParam + :path: xml + +.. doxygenstruct:: pj::OnRegStartedParam + :path: xml + +.. doxygenstruct:: pj::OnRegStateParam + :path: xml + +.. doxygenstruct:: pj::OnIncomingSubscribeParam + :path: xml + +.. doxygenstruct:: pj::OnInstantMessageParam + :path: xml + +.. doxygenstruct:: pj::OnInstantMessageStatusParam + :path: xml + +.. doxygenstruct:: pj::OnTypingIndicationParam + :path: xml + +.. doxygenstruct:: pj::OnMwiInfoParam + :path: xml + +.. doxygenstruct:: pj::PresNotifyParam + :path: xml + +Other ++++++ +.. doxygenclass:: pj::FindBuddyMatch + :path: xml + :members: + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/breathe.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/breathe.rst new file mode 100644 index 0000000000000000000000000000000000000000..ea6d351679088486fe1edad14510cb0a8e477e41 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/breathe.rst @@ -0,0 +1,113 @@ +Appendix: Generating This Documentation +======================================= + +Requirements +------------ + +This documentation is created with `Sphinx <http://sphinx-doc.org>`_ and `Breathe <http://michaeljones.github.io/breathe/index.html>`_. Here are the required tools: + +1. Doxygen is required. `Install <http://www.stack.nl/~dimitri/doxygen/download.html#srcbin>`_ it for your platform. + +2. The easiest way to install all the tools is with `Python Package Index (PyPI) <http://pypi.python.org>`_. Just run this and it will install Sphinx, Breathe, and all the required tools if they are not installed:: + + $ sudo pip install breathe + +3. Otherwise if PyPI is not available, consult Sphinx and Breathe sites for installation instructions and you may need to install these manually: + + - `Sphinx <http://sphinx-doc.org>`_ + - `Breathe <http://michaeljones.github.io/breathe/index.html>`_ + - docutils + - Pygments + + +Rendering The Documentation +------------------------------ +The main source of the documentation is currently the '''Trac''' pages at https://trac.pjsip.org/repos/wiki/pjsip-doc/index. The copies in SVN are just copies for backup. + +To render the documentation as HTML in `_build/html` directory:: + + $ cd $PJDIR/doc/pjsip-book + $ python fetch_trac.py + $ make + +To build PDF, run:: + + $ make latexpdf + + +How to Use Integrate Book with Doxygen +-------------------------------------- +Quick sample:: + + will be rendered like this: + +++++++++++++++++++++++++++ + + This is how to quote a code with syntax coloring: + + .. code-block:: c++ + + pj::AudioMediaPlayer *player = new AudioMediaPlayer; + player->createPlayer("announcement.wav"); + + There are many ways to refer a symbol: + + * A method: :cpp:func:`pj::AudioMediaPlayer::createPlayer()` + * A method with alternate display: :cpp:func:`a method <pj::AudioMediaPlayer::createPlayer()>` + * A class :cpp:class:`pj::AudioMediaPlayer` + * A class with alternate display: :cpp:class:`a class <pj::AudioMediaPlayer>` + + For that links to work, we need to display the link target declaration (a class or method) + somewhere in the doc, like this: + + .. doxygenclass:: pj::AudioMediaPlayer + :path: xml + :members: + + Alternatively we can display a single method declaration like this: + + .. doxygenfunction:: pj::AudioMediaPlayer::createPlayer() + :path: xml + :no-link: + + We can also display class declaration with specific members. + + For more info see `Breathe documentation <http://michaeljones.github.io/breathe/domains.html>`_ + + +.. default-domain:: cpp + +will be rendered like this: ++++++++++++++++++++++++++++ + +This is how to quote a code with syntax coloring: + +.. code-block:: c++ + + pj::AudioMediaPlayer *player = new AudioMediaPlayer; + player->createPlayer("announcement.wav"); + +There are many ways to refer a symbol: + +* A method: :cpp:func:`pj::AudioMediaPlayer::createPlayer()` +* A method with alternate display: :cpp:func:`a method <pj::AudioMediaPlayer::createPlayer()>` +* A class :cpp:class:`pj::AudioMediaPlayer` +* A class with alternate display: :cpp:class:`a class <pj::AudioMediaPlayer>` + +For that links to work, we need to display the link target declaration (a class or method) somewhere in the doc, like this: + + .. doxygenclass:: pj::AudioMediaPlayer + :path: xml + :members: + +Alternatively we can display a single method declaration like this: + + .. doxygenfunction:: pj::AudioMediaPlayer::createPlayer() + :path: xml + :no-link: + +We can also display class declaration with specific members. + +For more info see `Breathe documentation <http://michaeljones.github.io/breathe/domains.html>`_ + + + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/call.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/call.rst new file mode 100644 index 0000000000000000000000000000000000000000..f3aee4ee985433eb1a55e7c0fe49c34be90d30e7 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/call.rst @@ -0,0 +1,244 @@ + +Calls +===== +Calls are represented by Call class. + +Subclassing the Call Class +------------------------------------ +To use the Call class, normally application SHOULD create its own subclass, such as: + +.. code-block:: c++ + + class MyCall : public Call + { + public: + MyCall(Account &acc, int call_id = PJSUA_INVALID_ID) + : Call(acc, call_id) + { } + + ~MyCall() + { } + + // Notification when call's state has changed. + virtual void onCallState(OnCallStateParam &prm); + + // Notification when call's media state has changed. + virtual void onCallMediaState(OnCallMediaStateParam &prm); + }; + +In its subclass, application can implement the call callbacks, which is basically used to process events related to the call, such as call state change or incoming call transfer request. + +Making Outgoing Calls +-------------------------------------- +Making outgoing call is simple, just invoke makeCall() method of the Call object. Assuming you have the Account object as acc variable and destination URI string in dest_uri, you can initiate outgoing call with the snippet below: + +.. code-block:: c++ + + Call *call = new MyCall(*acc); + CallOpParam prm(true); // Use default call settings + try { + call->makeCall(dest_uri, prm); + } catch(Error& err) { + cout << err.info() << endl; + } + +The snippet above creates a Call object and initiates outgoing call to dest_uri using the default call settings. Subsequent operations to the call can use the method in the call instance, and events to the call will be reported to the callback. More on the callback will be explained a bit later. + +Receiving Incoming Calls +-------------------------------------- +Incoming calls are reported as onIncomingCall() of the Account class. You must derive a class from the Account class to handle incoming calls. + +Below is a sample code of the callback implementation: + +.. code-block:: c++ + + void MyAccount::onIncomingCall(OnIncomingCallParam &iprm) + { + Call *call = new MyCall(*this, iprm.callId); + CallOpParam prm; + prm.statusCode = PJSIP_SC_OK; + call->answer(prm); + } + +For incoming calls, the call instance is created in the callback function as shown above. Application should make sure to store the call instance during the lifetime of the call (that is until the call is disconnected). + +Call Properties +---------------- +All call properties such as state, media state, remote peer information, etc. are stored as CallInfo class, which can be retrieved from the call object with using getInfo() method of the Call. + +Call Disconnection +------------------- +Call disconnection event is a special event since once the callback that reports this event returns, the call is no longer valid and any operations invoked to the call object will raise error exception. Thus, it is recommended to delete the call object inside the callback. + +The call disconnection is reported in onCallState() method of Call and it can be detected as follows: + +.. code-block:: c++ + + void MyCall::onCallState(OnCallStateParam &prm) + { + CallInfo ci = getInfo(); + if (ci.state == PJSIP_INV_STATE_DISCONNECTED) { + /* Delete the call */ + delete this; + } + } + +Working with Call's Audio Media +------------------------------------------------- +You can only operate with the call's audio media (e.g. connecting the call to the sound device in the conference bridge) when the call's audio media is ready (or active). The changes to the call's media state is reported in onCallMediaState() callback, and if the calls audio media is ready (or active) the function Call.getMedia() will return a valid audio media. + +Below is a sample code to connect the call to the sound device when the media is active: + +.. code-block:: c++ + + void MyCall::onCallMediaState(OnCallMediaStateParam &prm) + { + CallInfo ci = getInfo(); + // Iterate all the call medias + for (unsigned i = 0; i < ci.media.size(); i++) { + if (ci.media[i].type==PJMEDIA_TYPE_AUDIO && getMedia(i)) { + AudioMedia *aud_med = (AudioMedia *)getMedia(i); + + // Connect the call audio media to sound device + AudDevManager& mgr = Endpoint::instance().audDevManager(); + aud_med->startTransmit(mgr.getPlaybackDevMedia()); + mgr.getCaptureDevMedia().startTransmit(*aud_med); + } + } + } + +When the audio media becomes inactive (for example when the call is put on hold), there is no need to stop the audio media's transmission to/from the sound device since the call's audio media will be removed automatically from the conference bridge when it's no longer valid, and this will automatically remove all connections to/from the call. + +Call Operations +------------------- +You can invoke operations to the Call object, such as hanging up, putting the call on hold, sending re-INVITE, etc. Please see the reference documentation of Call for more info. + +Instant Messaging(IM) +--------------------- +You can send IM within a call using Call.sendInstantMessage(). The transmission status of outgoing instant messages is reported in Call.onInstantMessageStatus() callback method. + +In addition to sending instant messages, you can also send typing indication using Call.sendTypingIndication(). + +Incoming IM and typing indication received within a call will be reported in the callback functions Call.onInstantMessage() and Call.onTypingIndication(). + +Alternatively, you can send IM and typing indication outside a call by using Buddy.sendInstantMessage() and Buddy.sendTypingIndication(). For more information, please see Presence documentation. + + +Class Reference +--------------- +Call +++++ +.. doxygenclass:: pj::Call + :path: xml + :members: + +Settings +++++++++ +.. doxygenstruct:: pj::CallSetting + :path: xml + + +Info and Statistics ++++++++++++++++++++ +.. doxygenstruct:: pj::CallInfo + :path: xml + +.. doxygenstruct:: pj::CallMediaInfo + :path: xml + +.. doxygenstruct:: pj::StreamInfo + :path: xml + +.. doxygenstruct:: pj::StreamStat + :path: xml + +.. doxygenstruct:: pj::JbufState + :path: xml + +.. doxygenstruct:: pj::RtcpStat + :path: xml + +.. doxygenstruct:: pj::RtcpStreamStat + :path: xml + +.. doxygenstruct:: pj::MathStat + :path: xml + +.. doxygenstruct:: pj::MediaTransportInfo + :path: xml + + +Callback Parameters ++++++++++++++++++++ +.. doxygenstruct:: pj::OnCallStateParam + :path: xml + +.. doxygenstruct:: pj::OnCallTsxStateParam + :path: xml + +.. doxygenstruct:: pj::OnCallMediaStateParam + :path: xml + +.. doxygenstruct:: pj::OnCallSdpCreatedParam + :path: xml + +.. doxygenstruct:: pj::OnStreamCreatedParam + :path: xml + +.. doxygenstruct:: pj::OnStreamDestroyedParam + :path: xml + +.. doxygenstruct:: pj::OnDtmfDigitParam + :path: xml + +.. doxygenstruct:: pj::OnCallTransferRequestParam + :path: xml + +.. doxygenstruct:: pj::OnCallTransferStatusParam + :path: xml + +.. doxygenstruct:: pj::OnCallReplaceRequestParam + :path: xml + +.. doxygenstruct:: pj::OnCallReplacedParam + :path: xml + +.. doxygenstruct:: pj::OnCallRxOfferParam + :path: xml + +.. doxygenstruct:: pj::OnCallRedirectedParam + :path: xml + +.. doxygenstruct:: pj::OnCallMediaEventParam + :path: xml + +.. doxygenstruct:: pj::OnCallMediaTransportStateParam + :path: xml + +.. doxygenstruct:: pj::OnCreateMediaTransportParam + :path: xml + +.. doxygenstruct:: pj::CallOpParam + :path: xml + +.. doxygenstruct:: pj::CallSendRequestParam + :path: xml + +.. doxygenstruct:: pj::CallVidSetStreamParam + :path: xml + +Other ++++++ +.. doxygenstruct:: pj::MediaEvent + :path: xml + +.. doxygenstruct:: pj::MediaFmtChangedEvent + :path: xml + +.. doxygenstruct:: pj::SdpSession + :path: xml + +.. doxygenstruct:: pj::RtcpSdes + :path: xml + + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/conf.py b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/conf.py new file mode 100644 index 0000000000000000000000000000000000000000..3e21197959668f43b8ff416db65168e1c9d9499c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/conf.py @@ -0,0 +1,256 @@ +# -*- coding: utf-8 -*- +# +# The PJSIP Book documentation build configuration file, created by +# sphinx-quickstart on Sat Nov 30 06:36:26 2013. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [ 'breathe', 'sphinx.ext.todo', 'sphinx.ext.viewcode'] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'PJSUA2 Documentation' +copyright = u'2014, Teluu Ltd.' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '1.0' +# The full version, including alpha/beta/rc tags. +release = '1.0-alpha' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# "<project> v<release> documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a <link> tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'PJSUA2Doc' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'PJSUA2Doc.tex', u'PJSUA2 Documentation', + u'Sauw Ming Liong, Benny Prijono', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'pjsua2doc', u'PJSUA2 Documentation', + [u'Sauw Ming Liong', u'Benny Prijono'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------------ + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'PJSUA2Doc', u'PJSUA2 Documentation', + u'Sauw Ming Liong@*Benny Prijono', 'ThePJSIPBook', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +breathe_projects = { + "pjsua2": "xml/", +} + +breathe_default_project = "pjsua2" + +breathe_projects_source = { + "pjsua2":"../../pjsip/include/pjsua2" +} + +breathe_domain_by_extension = { + "hpp":"cpp" +} diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/consider.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/consider.rst new file mode 100644 index 0000000000000000000000000000000000000000..9533503b3a9c7e9725d0cf17a9311dcfca29f27f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/consider.rst @@ -0,0 +1,215 @@ + +Development Guidelines and Considerations +***************************************** + +Development Guidelines +====================== + +Preparation +------------ +* **Essential:** Familiarise yourself with SIP. You don't need to be an expert, but SIP knowledge is essential. +* Check out our features in `Datasheet <http://trac.pjsip.org/repos/wiki/PJSIP-Datasheet>`_. Other features may be provided by our `community <http://trac.pjsip.org/repos/wiki/Projects_Using_PJSIP>`_. +* All PJSIP documentation is indexed in our `Trac site <http://trac.pjsip.org/repos>`_. + + +Development +------------- +* **Essential:** Follow the `Getting Started <http://trac.pjsip.org/repos/wiki/Getting-Started>`_ instructions to build PJSIP for your platform. +* **Essential:** Interactive debugging capability is essential during development +* Start with default settings in `<pj/config_site_sample.h>`. The default settings should be good to get you started. You can always optimize later after things are running okay. + +Coding Style +------------- +**Essential:** set your editor to use 8 characters tab size in order to see PJSIP source correctly. + +Detailed below is the PJSIP coding style. You don't need to follow it unless you are submitting patches to PJSIP: + +* Indentation uses tabs and spaces. Tab size is 8 characters, indentation 4. +* All public API in header file must be documented in Doxygen format. +* Apart from that, we mostly just use `K & R style <http://en.wikipedia.org/wiki/1_true_brace_style#K.26R_style>`_, which is the only correct style anyway. + + +Deployment +----------- +* **Essential:** Logging is essential when troubleshooting any problems. The application MUST be equipped with logging capability. Enable PJSIP log at level 5. + + +Platform Consideration +======================== +Platform selection is usually driven by business motives. The selection will affect all aspects of development, and here we will cover considerations for each platforms that we support. + +Windows Desktop +--------------- +Windows is supported from Windows 2000 up to the recent Windows 8 and beyond. All features are expected to work. 64bit support was added recently. Development is based on Visual Studio. Considerations for this platform include: + +#. Because Visual Studio file format keeps changing on every release, we decided to support the lowest denominator, namely Visual Studio 2005. Unfortunately the project upgrade procedure fails on Visual Studio 2010, and we don't have any solution for that. VS 2008 and VS 2012 onwards should work. + +MacOS X +------- +All features are expected to work. Considerations include: + +#. Development with XCode is currently not supported. This is **not** to say that you cannot use XCode, but PJSIP only provides basic Makefiles and if you want to use XCode you'd need to arrange the project yourself. +#. Mac systems typically provides very good sound device, so we don't expect any problems with audio on Mac. + +Linux Desktop +------------- +All features are expected to work. Linux considerations: + +#. Use our native ALSA backend instead of PortAudio because ALSA has less jitter than OSS and our backend is more lightweight than PortAudio + + +iOS for iPhone, iPad, and iPod Touch +------------------------------------ +All features except video are expected to work (video is coming soon!). Considerations for iOS: + +#. You need to use TCP transport for SIP for the background feature to work +#. IP change (for example when user is changing access point) is a feature frequently asked by developers and you can find the documentation here: http://trac.pjsip.org/repos/wiki/IPAddressChange +#. There are some specific issues for iOS 7 and beyond, please see http://trac.pjsip.org/repos/ticket/1697 +#. If SSL is needed, you need to compile OpenSSL for iOS + + +Android +------- +All features except video are expected to work (video is coming soon!). Considerations for Android: + +#. You can only use PJSUA2 Java binding for this target. +#. It has been reported that Android audio device is not so good in general, so some audio tuning may be needed. Echo cancellation also needs to be checked. +#. This is also a new platform for us. + + +Symbian +------- +Symbian has been supported for a long time. In general all features (excluding video) are expected to work, but we're not going to do Symbian specific development anymore. Other considerations for Symbian: + +#. The MDA audio is not very good (it has high latency), so normally you'd want to use Audio Proxy Server (APS) or VoIP Audio Service (VAS) for the audio device, which we support. Using these audio backends will also provide us with high quality echo cancellation as well as low bitrate codecs such as AMR-NB, G.729, and iLBC. But VAS and APS requires purchase of Nokia development certificate to sign the app, and also since APS and VAS only run on specific device type, you need to package the app carefully and manage the deployment to cover various device types. + + +BlackBerry 10 +------------- +BlackBerry 10 (BB10) is supported since PJSIP version 2.2. As this is a relatively new platform for us, we are currently listening to developer's feedback regarding the port. But so far it seems to be working well. Some considerations for BB10 platform include: + +#. IP change (for example when user is changing access point) is a feature frequently asked by developers and you can find the documentation here: http://trac.pjsip.org/repos/wiki/IPAddressChange + + +Windows Mobile +-------------- +This is the old Windows Mobile platform that is based on WinCE. This platform has been supported for a long time. We expect all features except video to work, but there may be some errors every now and then because this target is not actively maintained. No new development will be done for this platform. + +Other considerations for Windows Mobile platform are: + +#. The quality of audio device on WM varies a lot, and this affects audio latency. Audio latency could go as high as hundreds of millisecond on bad hardware. +#. Echo cancellation could be a problem. We can only use basic echo suppressor due to hardware limitation, and combined with bad quality of audio device, it may cause ineffective echo cancellation. This could be mitigated by setting the audio level to low. + + +Windows Phone 8 +--------------- +Windows Phone 8 (WP8) support is being added and is still under development on `projects/winphone` branch. Specific considerations for this platform are: + +#. WP8 governs specific interaction with WP8 GUI and framework that needs to be followed by application in order to make VoIP call work seamlessly on the device. Some lightweight process will be created by WP8 framework in order for background call to work and PJSIP needs to put its background processing in this process' context. Currently this feature is under development. + + + +Embedded Linux +-------------- +In general embedded Linux support is similar to Linux and we find no problems with it. We found some specific considerations for embedded Linux as follows: + +#. The performance of the audio device is probably the one with most issues, as some development boards does not have a decent sound device. Typically there is high audio jitter (or burst) and latency. This will affect end to end audio latency and also the performance of the echo canceller. Also we found that ALSA generally works better than OSS, so if you can have ALSA up and running that will be better. Use our native ALSA backend audio device instead of PortAudio since it is simpler and lighter. + + +QNX or Other Posix Embedded OS +------------------------------ +This is not part of our officially supported OS platforms, but users have run PJSIP on QNX and BlackBerry 10 is based on QNX too. Since QNX provides Posix API, and maybe by using the settings found in the configure-bb10 script, PJSIP should be able to run on it, but you need to develop PJMEDIA sound device wrapper for your audio device. Other than this, we don't have enough experience to comment on the platform. + + +Other Unix Desktop OSes +----------------------- +Community members, including myself, have occasionally run PJSIP on other Unix OSes such as Solaris, FreeBSD, and OpenBSD. We expect PJSIP to run on these platforms (maybe with a little kick). + + +Porting to Other Embedded OS +------------------------------ +It is possible to port PJSIP to other embedded OS or even directly to device without OS and people have done so. In general, the closer resemblance the new OS to existing supported OS, the easier the porting job will be. The good thing is, PJSIP has been made to be very very portable, and system dependent features are localized in PJLIB and PJMEDIA audio device, so the effort is more quantifiable. Once you are able to successfully run *pjlib-test*, you are more or less there with your porting effort. Other than that, if you really want to port PJSIP to new platform, you probably already know what you're doing. + + + +Which API to Use +================ + +PJSIP, PJMEDIA, and PJNATH Level +-------------------------------- +At the lowest level we have the individual PJSIP **C** libraries, which consist of PJSIP, PJMEDIA, and PJNATH, with PJLIB-UTIL and PJLIB as support libraries. This level provides the most flexibility, but it's also the hardest to use. The only reason you'd want to use this level is if: + +#. You only need the individual library (say, PJNATH) +#. You need to be very very tight in footprint (say when things need to be measured in Kilobytes instead of Megabytes) +#. You are **not** developing a SIP client + +Use the corresponding PJSIP, PJMEDIA, PJNATH manuals from http://trac.pjsip.org/repos/ for information on how to use the libraries. If you use PJSIP, the PJSIP Developer's Guide (PDF) from that page provides in-depth information about PJSIP library. + +PJSUA-LIB API +------------- +Next up is PJSUA-LIB API that combines all those libraries into a high level, integrated client user agent library written in C. This is the library that most PJSIP users use, and the highest level abstraction before pjsua2 was created. + +Motivations for using PJSUA-LIB library includes: + +#. Developing client application (PJSUA-LIB is optimized for developing client app) +#. Better efficiency than higher level API + + +PJSUA2 C++ API +-------------- +pjsua2 is a new, objected oriented, C++ API created on top of PJSUA-LIB. The API is different than PJSUA-LIB, but it should be even easier to use and it should have better documentation too (such as this book). The pjsua2 API removes most cruxes typically associated with PJSIP, such as the pool and pj_str_t, and add new features such as object persistence so you can save your configs to a file, for example. All data structures are rewritten for more clarity. + +A C++ application can use pjsua2 natively, while at the same time still has access to the lower level objects if it needs to. This means that the C++ application should not lose any information from using the C++ abstraction, compared to if it is using PJSUA-LIB directly. The C++ application also should not lose the ability to extend the library. It would still be able to register a custom PJSIP module, pjmedia_port, pjmedia_transport, and so on. + +Benefits of using pjsua2 C++ API include: + +#. Cleaner object oriented API +#. Uniform API for higher level language such as Java and Python +#. Persistence API +#. The ability to access PJSUA-LIB and lower level libraries when needed (including the ability to extend the libraries, for example creating custom PJSIP module, pjmedia_port, pjmedia_transport, etc.) + + +Some considerations on PJSUA2 C++ API are: + +#. Instead of returning error, the API uses exception for error reporting +#. It uses standard C++ library (STL) +#. The performance penalty due to the API abstraction should be negligible on typical modern device + + + +PJSUA2 API for Java, Python, and Others +--------------------------------------- +The PJSUA2 API is also available for non-native code via SWIG binding. Configurations for Java and Python are provided with the distribution. Thanks to SWIG, other language bindings may be generated relatively easily. + +The pjsua2 API for non-native code is effectively the same as pjsua2 C++ API. However, unlike C++, you cannot access PJSUA-LIB and the underlying C libraries from the scripting language, hence you are limited to what pjsua2 provides. + +You can use this API if native application development is not available in target platform (such as Android), or if you prefer to develop with non-native code instead of C/C++. + + + + +Network and Infrastructure Considerations +========================================= + +NAT Issues +---------- +TBD. + +TCP Requirement +--------------- +If you support iOS devices in your service, you need to use TCP, because only TCP will work on iOS device when it is in background mode. This means your infrastructure needs to support TCP. + + +Sound Device +============ + +Latency +------- +TBD. + +Echo Cancellation +----------------- +TBD. + + + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/endpoint.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/endpoint.rst new file mode 100644 index 0000000000000000000000000000000000000000..3dfefa21ccc6bfd97d12432fcf4cd787ce5da259 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/endpoint.rst @@ -0,0 +1,172 @@ + +Endpoint +************ +The Endpoint class is a singleton class, and application MUST create one and at most one of this class instance before it can do anything else, and similarly, once this class is destroyed, application must NOT call any library API. This class is the core class of PJSUA2, and it provides the following functions: + +- Starting up and shutting down +- Customization of configurations, such as core UA (User Agent) SIP configuration, media configuration, and logging configuration + +This chapter will describe the functions above. + +To use the Endpoint class, normally application does not need to subclass it unless: + +- application wants to implement/override Endpoints callback methods to get the events such as transport state change or NAT detection completion, or +- application schedules a timer using Endpoint.utilTimerSchedule() API. In this case, application needs to implement the onTimer() callback to get the notification when the timer expires. + +Instantiating the Endpoint +-------------------------- +Before anything else, you must instantiate the Endpoint class:: + + Endpoint *ep = new Endpoint; + +Once the endpoint is instantiated, you can retrieve the Endpoint instance using Endpoint.instance() static method. + +Creating the Library +---------------------- +Create the library by calling its libCreate() method: + +.. code-block:: c++ + + try { + ep->libCreate(); + } catch(Error& err) { + cout << "Startup error: " << err.info() << endl; + } + +The libCreate() method will raise exception if error occurs, so we need to trap the exception using try/catch clause as above. + +Initializing the Library and Configuring the Settings +---------------------------------------------------------------------------- + +The EpConfig class provides endpoint configuration which allows the customization of the following settings: + +- UAConfig, to specify core SIP user agent settings. +- MediaConfig, to specify various media *global* settings +- LogConfig, to customize logging settings. + +Note that some settings can be further specified on per account basis, in the AccountConfig. + +To customize the settings, create instance of EpConfig class and specify them during the endpoint initialization (will be explained more later), for example: + +.. code-block:: c++ + + EpConfig ep_cfg; + ep_cfg.logConfig.level = 5; + ep_cfg.uaConfig.maxCalls = 4; + ep_cfg.mediaConfig.sndClockRate = 16000; + +Next, you can initialize the library by calling libInit(): + +.. code-block:: c++ + + try { + EpConfig ep_cfg; + // Specify customization of settings in ep_cfg + ep->libInit(ep_cfg); + } catch(Error& err) { + cout << "Initialization error: " << err.info() << endl; + } + +The snippet above initializes the library with the default settings. + +Creating One or More Transports +-------------------------------------------------- +Application needs to create one or more transports before it can send or receive SIP messages: + +.. code-block:: c++ + + try { + TransportConfig tcfg; + tcfg.port = 5060; + TransportId tid = ep->transportCreate(PJSIP_TRANSPORT_UDP, tcfg); + } catch(Error& err) { + cout << "Transport creation error: " << err.info() << endl; + } + +The transportCreate() method returns the newly created Transport ID and it takes the transport type and TransportConfig object to customize the transport settings like bound address and listening port number. Without this, by default the transport will be bound to INADDR_ANY and any available port. + +There is no real use of the Transport ID, except to create userless account (with Account.create(), as will be explained later), and perhaps to display the list of transports to user if the application wants it. + +Starting the Library +-------------------- +Now we're ready to start the library. We need to start the library to finalize the initialization phase, e.g. to complete the initial STUN address resolution, initialize/start the sound device, etc. To start the library, call libStart() method: + +.. code-block:: c++ + + try { + ep->libStart(); + } catch(Error& err) { + cout << "Startup error: " << err.info() << endl; + } + +Shutting Down the Library +-------------------------------------- +Once the application exits, the library needs to be shutdown so that resources can be released back to the operating system. Although this can be done by deleting the Endpoint instance, which will internally call libDestroy(), it is better to call it manually because on Java or Python there are problems with garbage collection as explained earlier: + +.. code-block:: c++ + + ep->libDestroy(); + delete ep; + + +Class Reference +--------------- +The Endpoint +++++++++++++ +.. doxygenclass:: pj::Endpoint + :path: xml + :members: + +Endpoint Configurations ++++++++++++++++++++++++ +Endpoint +~~~~~~~~ +.. doxygenstruct:: pj::EpConfig + :path: xml + +Media +~~~~~ +.. doxygenstruct:: pj::MediaConfig + :path: xml + +Logging +~~~~~~~ +.. doxygenstruct:: pj::LogConfig + :path: xml + +.. doxygenclass:: pj::LogWriter + :path: xml + :members: + +.. doxygenstruct:: pj::LogEntry + :path: xml + +User Agent +~~~~~~~~~~ +.. doxygenstruct:: pj::UaConfig + :path: xml + + +Callback Parameters ++++++++++++++++++++ +.. doxygenstruct:: pj::OnNatDetectionCompleteParam + :path: xml + +.. doxygenstruct:: pj::OnNatCheckStunServersCompleteParam + :path: xml + +.. doxygenstruct:: pj::OnTimerParam + :path: xml + +.. doxygenstruct:: pj::OnTransportStateParam + :path: xml + +.. doxygenstruct:: pj::OnSelectAccountParam + :path: xml + + +Other ++++++ +.. doxygenstruct:: pj::PendingJob + :path: xml + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/fetch_trac.py b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/fetch_trac.py new file mode 100644 index 0000000000000000000000000000000000000000..94e591108fb007eeb743292d68cf5f7932826ce0 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/fetch_trac.py @@ -0,0 +1,91 @@ +import urllib2 +import sys +import unicodedata + +def fetch_rst(url): + print 'Fetching %s..' % url + req = urllib2.Request(url) + + fd = urllib2.urlopen(req, timeout=30) + body = fd.read() + body = body.replace("\r\n", "\n") + + body = body.decode('utf8', 'ignore').encode('ascii', 'ignore') + + pos = body.find("{{{") + if pos >= 0: + body = body[pos+4:] + + pos = body.find("}}}") + if pos >= 0: + body = body[:pos] + + pos = body.find("#!rst") + if pos >= 0: + body = body[pos+6:] + + pos = url.rfind("/") + if pos >= 0: + filename = url[pos+1:] + else: + filename = url + + pos = filename.find('?') + if pos >= 0: + filename = filename[:pos] + + filename += ".rst" + f = open(filename, 'w') + f.write(body) + f.close() + + +def process_index(index): + pages = [] + + f = open(index + '.rst', 'r') + line = f.readline() + while line: + if line.find('toctree::') >= 0: + break + line = f.readline() + + if line.find('toctree::') < 0: + return [] + # Skip directive (or whatever it's called + line = f.readline().strip() + while line and line[0] == ':': + line = f.readline().strip() + # Skip empty lines + line = f.readline().strip() + while not line: + line = f.readline().strip() + # Parse names + while line: + pages.append(line) + line = f.readline().strip() + + f.close() + + return pages + + +if __name__ == '__main__': + print "** Warning: This will overwrite ALL RST files in current directory. Continue? [n] ", + if sys.stdin.readline().strip() != 'y': + sys.exit(0) + + url_format = 'http://trac.pjsip.org/repos/wiki/pjsip-doc/%s?format=txt' + + index = url_format % ('index') + fetch_rst(index) + + pages = process_index('index') + for page in pages: + #if not 'endpoint' in page: + # continue + url = url_format % (page) + fetch_rst(url) + + print 'Done.' + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/index.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..d911813598d9cd6d12d46fa883d46da0eea17df6 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/index.rst @@ -0,0 +1,36 @@ +.. PJSUA2 documentation master file, created by + sphinx-quickstart on Sat Nov 30 06:36:26 2013. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +PJSUA2 Documentation +========================================== + +Contents: + +.. toctree:: + :maxdepth: 2 + :numbered: 1 + + intro + consider + intro_pjsua2 + endpoint + account + media + call + presence + samples + media_quality + network_problems + reference + breathe + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/intro.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/intro.rst new file mode 100644 index 0000000000000000000000000000000000000000..b76ea841e7950a1e7126a84450a73ab69ba60f8f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/intro.rst @@ -0,0 +1,26 @@ + +Introduction +******************************* +This documentation is intended for developers looking to develop Session Initiation Protocol (SIP) based client application. Some knowledge on SIP is definitely required, and of course some programming experience. Prior knowledge of PJSUA C API is not needed, although it will probably help. + +PJSIP libraries provide multi-level APIs to do SIP calls, presence, and instant messaging, as well as handling media and NAT traversal. PJSUA2 API is the highest API from PJSIP, on top of PJSUA-LIB API. PJSUA-LIB API itself is a library that unifies SIP, audio/video media, NAT traversal, and client media application best practices into a high level, integrated, and easy to use API. The next chapter will guide you on selecting which API level to use depending on your requirements. + +This documentation can be `viewed online <http://www.pjsip.org/docs/book-latest/html/index.html>`_, or alternatively you can `download the PDF format <http://www.pjsip.org/docs/book-latest/PJSUA2Doc.pdf>`_ for offline viewing. + +Getting Started with PJSIP +============================== +Check `PJSIP Datasheet <http://trac.pjsip.org/repos/wiki/PJSIP-Datasheet>`_ to make sure that it has the features that you require. + +To start using PJSIP, the `Getting Started Guide <http://trac.pjsip.org/repos/wiki/Getting-Started>`_ contains instructions to acquire and build PJSIP on various platforms that we support. + + +PJSIP Info and Documentation +================================ +To get other relevant info and documentations about PJSIP, you can visit: + +- `PJSIP General Wiki <http://trac.pjsip.org/repos/wiki>`_ is the home for all documentation +- `PJSIP FAQ <http://trac.pjsip.org/repos/wiki/FAQ>`_ +- `PJSIP Reference Manual <http://trac.pjsip.org/repos/wiki>`_ - please see Reference Manual section + + + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/intro_pjsua2.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/intro_pjsua2.rst new file mode 100644 index 0000000000000000000000000000000000000000..c2085dfeb020c10c0b7eb2f42b44a64cf99c57ed --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/intro_pjsua2.rst @@ -0,0 +1,306 @@ +PJSUA2-High Level API +****************************** +PJSUA2 is an object-oriented abstraction above PJSUA API. It provides high level API for constructing Session Initiation Protocol (SIP) multimedia user agent applications (a.k.a Voice over IP/VoIP softphones). It wraps together the signaling, media, and NAT traversal functionality into easy to use call control API, account management, buddy list management, presence, and instant messaging, along with multimedia features such as local conferencing, file streaming, local playback, and voice recording, and powerful NAT traversal techniques utilizing STUN, TURN, and ICE. + +PJSUA2 is implemented on top of PJSUA-LIB API. The SIP and media features and object modelling follows what PJSUA-LIB provides (for example, we still have accounts, call, buddy, and so on), but the API to access them is different. These features will be described later in this chapter. PJSUA2 is a C++ library, which you can find under ``pjsip`` directory in the PJSIP distribution. The C++ library can be used by native C++ applications directly. But PJSUA2 is not just a C++ library. From the beginning, it has been designed to be accessible from high level non-native languages such as Java and Python. This is achieved by SWIG binding. And thanks to SWIG, binding to other languages can be added relatively easily in the future. + +PJSUA2 API declaration can be found in ``pjsip/include/pjsua2`` while the source codes are located in ``pjsip/src/pjsua2``. It will be automatically built when you compile PJSIP. + + +PJSUA2 Main Classes +====================== +Here are the main classes of the PJSUA2: + +Endpoint +-------------- +This is the main class of PJSUA2. You need to instantiate one and exactly one of this class, and from the instance you can then initialize and start the library. + +Account +------------- +An account specifies the identity of the person (or endpoint) on one side of SIP conversation. At least one account instance needs to be created before anything else, and from the account instance you can start making/receiving calls as well as adding buddies. + +Media +---------- +This is an abstract base class that represents a media element which is capable to either produce media or takes media. It is then subclassed into ``AudioMedia``, which is then subclassed into concrete classes such as ``AudioMediaPlayer`` and ``AudioMediaRecorder``. + +Call +------ +This class represents an ongoing call (or speaking technically, an INVITE session) and can be used to manipulate it, such as to answer the call, hangup the call, put the call on hold, transfer the call, etc. + +Buddy +--------- +This class represents a remote buddy (a person, or a SIP endpoint). You can subscribe to presence status of a buddy to know whether the buddy is online/offline/etc., and you can send and receive instant messages to/from the buddy. + +General Concepts +================== +Class Usage Patterns +--------------------- +With the methods of the main classes above, you will be able to invoke various operations to the object quite easily. But how can we get events/notifications from these classes? Each of the main classes above (except Media) will get their events in the callback methods. So to handle these events, just derive a class from the corresponding class (Endpoint, Call, Account, or Buddy) and implement/override the relevant method (depending on which event you want to handle). More will be explained in later sections. + +Error Handling +--------------- +We use exceptions as means to report error, as this would make the program flows more naturally. Operations which yield error will raise Error exception. If you prefer to display the error in more structured manner, the Error class has several members to explain the error, such as the operation name that raised the error, the error code, and the error message itself. + +Asynchronous Operations +------------------------- +If you have developed applications with PJSIP, you'll know about this already. In PJSIP, all operations that involve sending and receiving SIP messages are asynchronous, meaning that the function that invokes the operation will complete immediately, and you will be given the completion status as callbacks. + +Take a look for example the makeCall() method of the Call class. This function is used to initiate outgoing call to a destination. When this function returns successfully, it does not mean that the call has been established, but rather it means that the call has been initiated successfully. You will be given the report of the call progress and/or completion in the onCallState() callback method of Call class. + +Threading +---------- +For platforms that require polling, the PJSUA2 module provides its own worker thread to poll PJSIP, so it is not necessary to instantiate own your polling thread. Having said that the application should be prepared to have the callbacks called by different thread than the main thread. The PJSUA2 module itself is thread safe. + +Often though, especially if you use PJSUA2 with high level languages such as Python, it is required to disable PJSUA2 internal worker threads by setting EpConfig.uaConfig.threadCnt to 0, because the high level environment doesn't like to be called by external thread (such as PJSIP's worker thread). + + +Problems with Garbage Collection +-------------------------------- +Garbage collection (GC) exists in Java and Python (and other languages, but we don't support those for now), and there are some problems with it when it comes to PJSUA2 usage: + +- it delays the destruction of objects (including PJSUA2 objects), causing the code in object's destructor to be executed out of order +- the GC operation may run on different thread not previously registered to PJLIB, causing assertion + +Due to problems above, application '''MUST immediately destroy PJSUA2 objects using object's delete() method (in Java)''', instead of relying on the GC to clean up the object. + +For example, to delete an Account, it's **NOT** enough to just let it go out of scope. Application MUST delete it manually like this (in Java): + +.. code-block:: c++ + + acc.delete(); + + + + +Objects Persistence +--------------------- +PJSUA2 includes PersistentObject class to provide functionality to read/write data from/to a document (string or file). The data can be simple data types such as boolean, number, string, and string arrays, or a user defined object. Currently the implementation supports reading and writing from/to JSON document ([http://tools.ietf.org/html/rfc4627 RFC 4627]), but the framework allows application to extend the API to support other document formats. + +As such, classes which inherit from PersistentObject, such as EpConfig (endpoint configuration), AccountConfig (account configuration), and BuddyConfig (buddy configuration) can be loaded/saved from/to a file. Heres an example to save a config to a file: + +.. code-block:: c++ + + EpConfig epCfg; + JsonDocument jDoc; + epCfg.uaConfig.maxCalls = 61; + epCfg.uaConfig.userAgent = "Just JSON Test"; + jDoc.writeObject(epCfg); + jDoc.saveFile("jsontest.js"); + +To load from the file: + +.. code-block:: c++ + + EpConfig epCfg; + JsonDocument jDoc; + jDoc.loadFile("jsontest.js"); + jDoc.readObject(epCfg); + + +Building PJSUA2 +====================== +The PJSUA2 C++ library will be built by default by PJSIP build system. Standard C++ library is required. + +Building Python and Java SWIG Modules +====================================== +The SWIG modules for Python and Java are built by invoking ``make`` and ``make install`` manually from ``pjsip-apps/src/swig`` directory. The ``make install`` will install the Python SWIG module to user's ``site-packages`` directory. + +Requirements +------------ + +#. `SWIG <http://www.swig.org>`_ +#. ``JDK``. +#. ``Python``, version 2.7 or above is required. + For **Linux/UNIX**, you will also need ``Python developent package`` (called ``python-devel`` (e.g. on Fedora) or ``python2.7-dev`` (e.g. on Ubuntu)). For **Windows**, you will need MinGW and ``Python SDK`` such as `ActivePython-2.7.5`_ from `ActiveState`_. + +.. _`ActivePython-2.7.5`: http://www.activestate.com/activepython/downloads +.. _`ActiveState`: http://www.activestate.com + +Testing The Installation +------------------------ +To test the installation, simply run python and import ``pjsua2`` module:: + + $ python + > import pjsua2 + > ^Z + + +Using in C++ Application +======================== +As mentioned in previous chapter, a C++ application can use *pjsua2* natively, while at the same time still has access to the lower level objects and the ability to extend the libraries if it needs to. Using the API will be exactly the same as the API reference that is written in this book. + +Here is a sample complete C++ application to give you some idea about the API. The snippet below initializes the library and creates an account that registers to our pjsip.org SIP server. + +.. code-block:: c++ + + #include <pjsua2.hpp> + #include <iostream> + + using namespace pj; + + // Subclass to extend the Account and get notifications etc. + class MyAccount : public Account { + public: + virtual void onRegState(OnRegStateParam &prm) { + AccountInfo ai = getInfo(); + std::cout << (ai.regIsActive? "*** Register:" : "*** Unregister:") + << " code=" << prm.code << std::endl; + } + }; + + int main() + { + Endpoint ep; + + ep.libCreate(); + + // Initialize endpoint + EpConfig ep_cfg; + ep.libInit( ep_cfg ); + + // Create SIP transport. Error handling sample is shown + TransportConfig tcfg; + tcfg.port = 5060; + try { + ep.transportCreate(PJSIP_TRANSPORT_UDP, tcfg); + } catch (Error &err) { + std::cout << err.info() << std::endl; + return 1; + } + + // Start the library (worker threads etc) + ep.libStart(); + std::cout << "*** PJSUA2 STARTED ***" << std::endl; + + // Configure an AccountConfig + AccountConfig acfg; + acfg.idUri = "sip:test@pjsip.org"; + acfg.regConfig.registrarUri = "sip:pjsip.org"; + AuthCredInfo cred("digest", "*", "test", 0, "secret"); + acfg.sipConfig.authCreds.push_back( cred ); + + // Create the account + MyAccount *acc = new MyAccount; + acc->create(acfg); + + // Here we don't have anything else to do.. + pj_thread_sleep(10000); + + // Delete the account. This will unregister from server + delete acc; + + // This will implicitly shutdown the library + return 0; + } + + +Using in Python Application +=========================== +The equivalence of the C++ sample code above in Python is as follows: + +.. code-block:: python + + # Subclass to extend the Account and get notifications etc. + class Account(pj.Account): + def onRegState(self, prm): + print "***OnRegState: " + prm.reason + + # pjsua2 test function + def pjsua2_test(): + # Create and initialize the library + ep_cfg = pj.EpConfig() + ep = pj.Endpoint() + ep.libCreate() + ep.libInit(ep_cfg) + + # Create SIP transport. Error handling sample is shown + sipTpConfig = pj.TransportConfig(); + sipTpConfig.port = 5060; + ep.transportCreate(pj.PJSIP_TRANSPORT_UDP, sipTpConfig); + # Start the library + ep.libStart(); + + acfg = pj.AccountConfig(); + acfg.idUri = "sip:test@pjsip.org"; + acfg.regConfig.registrarUri = "sip:pjsip.org"; + cred = pj.AuthCredInfo("digest", "*", "test", 0, "pwtest"); + acfg.sipConfig.authCreds.append( cred ); + # Create the account + acc = Account(); + acc.create(acfg); + # Here we don't have anything else to do.. + time.sleep(10); + + # Destroy the library + ep.libDestroy() + + # + # main() + # + if __name__ == "__main__": + pjsua2_test() + + +Using in Java Application +========================= +The equivalence of the C++ sample code above in Java is as follows: + +.. code-block:: java + + import org.pjsip.pjsua2.*; + + // Subclass to extend the Account and get notifications etc. + class MyAccount extends Account { + @Override + public void onRegState(OnRegStateParam prm) { + System.out.println("*** On registration state: " + prm.getCode() + prm.getReason()); + } + } + + public class test { + static { + System.loadLibrary("pjsua2"); + System.out.println("Library loaded"); + } + + public static void main(String argv[]) { + try { + // Create endpoint + Endpoint ep = new Endpoint(); + ep.libCreate(); + // Initialize endpoint + EpConfig epConfig = new EpConfig(); + ep.libInit( epConfig ); + // Create SIP transport. Error handling sample is shown + TransportConfig sipTpConfig = new TransportConfig(); + sipTpConfig.setPort(5060); + ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_UDP, sipTpConfig); + // Start the library + ep.libStart(); + + AccountConfig acfg = new AccountConfig(); + acfg.setIdUri("sip:test@pjsip.org"); + acfg.getRegConfig().setRegistrarUri("sip:pjsip.org"); + AuthCredInfo cred = new AuthCredInfo("digest", "*", "test", 0, "secret"); + acfg.getSipConfig().getAuthCreds().add( cred ); + // Create the account + MyAccount acc = new MyAccount(); + acc.create(acfg); + // Here we don't have anything else to do.. + Thread.sleep(10000); + /* Explicitly delete the account. + * This is to avoid GC to delete the endpoint first before deleting + * the account. + */ + acc.delete(); + + // Explicitly destroy and delete endpoint + ep.libDestroy(); + ep.delete(); + + } catch (Exception e) { + System.out.println(e); + return; + } + } + } diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/make.bat b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/make.bat new file mode 100644 index 0000000000000000000000000000000000000000..564b4bd8e45db1e5e939b0ee368680a4ed40c29f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/make.bat @@ -0,0 +1,190 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^<target^>` where ^<target^> is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\ThePJSIPBook.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\ThePJSIPBook.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +:end diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/media.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/media.rst new file mode 100644 index 0000000000000000000000000000000000000000..35f2f4e4df5bfe3673db2d897aad0b598d6ecf2d --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/media.rst @@ -0,0 +1,220 @@ + +Media +===== +Media objects are objects that are capable to either produce media or takes media. + +An important subclass of Media is AudioMedia which represents audio media. There are several type of audio media objects supported in PJSUA2: + +- Capture device's AudioMedia, to capture audio from the sound device. +- Playback device's AudioMedia, to play audio to the sound device. +- Call's AudioMedia, to transmit and receive audio to/from remote person. +- AudioMediaPlayer, to play WAV file(s). +- AudioMediaRecorder, to record audio to a WAV file. + +More media objects may be added in the future. + +The Audio Conference Bridge +---------------------------- +The conference bridge provides a simple but yet powerful concept to manage audio flow between the audio medias. The principle is very simple, that is you connect audio source to audio destination, and the bridge will make the audio flows from the source to destination, and that's it. If more than one sources are transmitting to the same destination, then the audio from the sources will be mixed. If one source is transmitting to more than one destinations, the bridge will take care of duplicating the audio from the source to the multiple destinations. The bridge will even take care medias with different clock rates and ptime. + +In PJSUA2, all audio media objects are plugged-in to the central conference bridge for easier manipulation. At first, a plugged-in audio media will not be connected to anything, so media will not flow from/to any objects. An audio media source can start/stop the transmission to a destination by using the API AudioMedia.startTransmit() / AudioMedia.stopTransmit(). + +An audio media object plugged-in to the conference bridge will be given a port ID number that identifies the object in the bridge. Application can use the API AudioMedia.getPortId() to retrieve the port ID. Normally, application should not need to worry about the conference bridge and its port ID (as all will be taken care of by the Media class) unless application want to create its own custom audio media. + +Playing a WAV File +++++++++++++++++++ +To playback the WAV file to the sound device, just start the transmission of the WAV playback object to the sound device's playback media: + +.. code-block:: c++ + + AudioMediaPlayer player; + AudioMedia& play_med = Endpoint::instance().audDevManager().getPlaybackDevMedia(); + try { + player.createPlayer("file.wav"); + player.startTransmit(play_med); + } catch(Error& err) { + } + +By default, the WAV file will be played in a loop. To disable the loop, specify ``PJMEDIA_FILE_NO_LOOP`` when creating the player: + +.. code-block:: c++ + + player.createPlayer("file.wav", PJMEDIA_FILE_NO_LOOP); + +Without looping, silence will be played once the playback has reached the end of the WAV file. + +Once you're done with the playback, just stop the transmission to stop the playback: + +.. code-block:: c++ + + try { + player.stopTransmit(play_med); + } catch(Error& err) { + } + +Resuming the transmission after the playback is stopped will resume playback from the last play position. Use ``player.setPos()`` to set playback position to a desired location. + + +Recording to WAV File ++++++++++++++++++++++ +Or if you want to record the audio from the sound device to the WAV file, simply do this: + +.. code-block:: c++ + + AudioMediaRecorder recorder; + AudioMedia& cap_med = Endpoint::instance().audDevManager().getCaptureDevMedia(); + try { + recorder.createRecorder("file.wav"); + cap_med.startTransmit(recorder); + } catch(Error& err) { + } + +And the media will flow from the sound device to the WAV record file. As usual, to stop or pause recording, just stop the transmission: + +.. code-block:: c++ + + try { + cap_med.stopTransmit(recorder); + } catch(Error& err) { + } + +Note that stopping the transmission to the WAV recorder as above does not close the WAV file, and you can resume recording by connecting a source to the WAV recorder again. You cannot playback the recorded WAV file before you close it. To close the WAV recorder, simply delete it: + +.. code-block:: c++ + + delete recorder; + + +Local Audio Loopback +++++++++++++++++++++ +A useful test to check whether the local sound device (capture and playback device) is working properly is by transmitting the audio from the capture device directly to the playback device (i.e. local loopback). You can do this by: + +.. code-block:: c++ + + cap_med.startTransmit(play_med); + + +Looping Audio ++++++++++++++ +If you want, you can loop the audio of an audio media object to itself (i.e. the audio received from the object will be transmitted to itself). You can loop-back audio from any objects, as long as the object has bidirectional media. That means you can loop the call's audio media, so that audio received from the remote person will be transmitted back to her/him. But you can't loop the WAV player or recorder since these objects can only play or record and not both. + +Normal Call ++++++++++++ + +A single call can have more than one media (for example, audio and video). Application can retrieve the audio media by using the API Call.getMedia(). Then for a normal call, we would want to establish bidirectional audio with the remote person, which can be done easily by connecting the sound device and the call audio media and vice versa: + +.. code-block:: c++ + + CallInfo ci = call.getInfo(); + AudioMedia *aud_med = NULL; + + // Find out which media index is the audio + for (unsigned i=0; i<ci.media.size(); ++i) { + if (ci.media[i].type == PJMEDIA_TYPE_AUDIO) { + aud_med = (AudioMedia *)call.getMedia(i); + break; + } + } + + if (aud_med) { + // This will connect the sound device/mic to the call audio media + cap_med.startTransmit(*aud_med); + + // And this will connect the call audio media to the sound device/speaker + aud_med->startTransmit(play_med); + } + + + +Second Call ++++++++++++ +Suppose we want to talk with two remote parties at the same time. Since we already have bidirectional media connection with one party, we just need to add bidirectional connection with the other party using the code below: + +.. code-block:: c++ + + AudioMedia *aud_med2 = (AudioMedia *)call2.getMedia(aud_idx); + if (aud_med2) { + cap_med->startTransmit(*aud_med2); + aud_med2->startTransmit(play_med); + } + +Now we can talk to both parties at the same time, and we will hear audio from either party. But at this stage, the remote parties can't talk or hear each other (i.e. we're not in full conference mode yet). + +Conference Call ++++++++++++++++ +To enable both parties talk to each other, just establish bidirectional media between them: + +.. code-block:: c++ + + aud_med->startTransmit(*aud_med2); + aud_med2->startTransmit(*aud_med); + +Now the three parties (us and both remote parties) will be able to talk to each other. + +Recording the Conference +++++++++++++++++++++++++ + +While doing the conference, it perfectly makes sense to want to record the conference to a WAV file, and all we need to do is to connect the microphone and both calls to the WAV recorder: + +.. code-block:: c++ + + cap_med.startTransmit(recorder); + aud_med->startTransmit(recorder); + aud_med2->startTransmit(recorder); + + +Audio Device Management +----------------------- +Please see `Audio Device Framework <#auddev>`_ below. + + +Class Reference +--------------- +Media Framework ++++++++++++++++ +Classes +~~~~~~~ +.. doxygenclass:: pj::Media + :path: xml + :members: + +.. doxygenclass:: pj::AudioMedia + :path: xml + :members: + +.. doxygenclass:: pj::AudioMediaPlayer + :path: xml + :members: + +.. doxygenclass:: pj::AudioMediaRecorder + :path: xml + :members: + +Formats and Info +~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::MediaFormat + :path: xml + +.. doxygenstruct:: pj::MediaFormatAudio + :path: xml + +.. doxygenstruct:: pj::MediaFormatVideo + :path: xml + +.. doxygenstruct:: pj::ConfPortInfo + :path: xml + +Audio Device Framework +++++++++++++++++++++++ +Device Manager +~~~~~~~~~~~~~~ +.. _auddev: +.. doxygenclass:: pj::AudDevManager + :path: xml + :members: + +Device Info +~~~~~~~~~~~ +.. doxygenstruct:: pj::AudioDevInfo + :path: xml + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/media_quality.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/media_quality.rst new file mode 100644 index 0000000000000000000000000000000000000000..e4224ec985b75a3ffc110016fefd12b4e6332d12 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/media_quality.rst @@ -0,0 +1,30 @@ + +Media Quality +************* + +Audio Quality +============= +If you experience any problem with the audio quality, you may want to try the steps below: + +1. Follow the guide: `Test the sound device using pjsystest`_. +2. Identify the sound problem and troubleshoot it using the steps described in: `Checking for sound problems`_. + +.. _`Checking for sound problems`: http://trac.pjsip.org/repos/wiki/sound-problems +.. _`Test the sound device using pjsystest`: http://trac.pjsip.org/repos/wiki/Testing_Audio_Device_with_pjsystest + +It is probably easier to do the testing using lower level API such as PJSUA since we already have a built-in pjsua sample app located in pjsip-apps/bin to do the testing. However, you can also do the testing in your application using PJSUA2 API such as local audio loopback, recording to WAV file as explained in the Media chapter previously. + +Video Quality +============= +For video quality problems, the steps are as follows: + +1. For lack of video, check account's AccountVideoConfig, especially the fields autoShowIncoming and autoTransmitOutgoing. More about the video API is explained in `Video Users Guide`_. +2. Check local video preview using PJSUA API as described in `Video Users Guide-Video Preview API`_. +3. Since video requires a larger bandwidth, we need to check for network impairments as described in `Checking Network Impairments`_. The document is for troubleshooting audio problem but it applies for video as well. +4. Check the CPU utilization. If the CPU utilization is too high, you can try a different (less CPU-intensive) video codec or reduce the resolution/fps. A general guide on how to reduce CPU utilization can be found here: `FAQ-CPU utilization`_. + +.. _`Video Users Guide`: http://trac.pjsip.org/repos/wiki/Video_Users_Guide +.. _`Video Users Guide-Video Preview API`: http://trac.pjsip.org/repos/wiki/Video_Users_Guide#VideopreviewAPI +.. _`Checking Network Impairments`: http://trac.pjsip.org/repos/wiki/audio-check-packet-loss +.. _`FAQ-CPU utilization`: http://trac.pjsip.org/repos/wiki/FAQ#cpu + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/network_problems.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/network_problems.rst new file mode 100644 index 0000000000000000000000000000000000000000..4fadc4ed16eeb773c7979919419ca635d06f1adb --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/network_problems.rst @@ -0,0 +1,16 @@ + +Network Problems +**************** + +IP Address Change +================= +Please see the wiki `Handling IP Address Change`_. Note that the guide is written using PJSUA API as a reference. + +.. _`Handling IP Address Change`: https://trac.pjsip.org/repos/wiki/IPAddressChange + +Blocked/Filtered Network +======================== +Please refer to the wiki `Getting Around Blocked or Filtered VoIP Network`_. + +.. _`Getting Around Blocked or Filtered VoIP Network`: https://trac.pjsip.org/repos/wiki/get-around-nat-blocked-traffic-filtering + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/optimization.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/optimization.rst new file mode 100644 index 0000000000000000000000000000000000000000..c04bf1c031dacfbf52b53b530383462f606e33b1 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/optimization.rst @@ -0,0 +1,13 @@ + +General Configuration Optimization +********************************** + +PJSUA2 Settings +=============== + +CPU Optimization +================ +A general guide on how to reduce CPU utilization can be found here: `FAQ-CPU utilization`_. + +.. _`FAQ-CPU utilization`: http://trac.pjsip.org/repos/wiki/FAQ#cpu + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/presence.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/presence.rst new file mode 100644 index 0000000000000000000000000000000000000000..880dba72f73120e44e631b9f3c7fefcafd099531 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/presence.rst @@ -0,0 +1,108 @@ + +Buddy (Presence) +================ +Presence feature in PJSUA2 centers around Buddy class. This class represents a remote buddy (a person, or a SIP endpoint). + +Subclassing the Buddy class +---------------------------- +To use the Buddy class, normally application SHOULD create its own subclass, such as: + +.. code-block:: c++ + + class MyBuddy : public Buddy + { + public: + MyBuddy() {} + ~MyBuddy() {} + + virtual void onBuddyState(); + }; + +In its subclass, application can implement the buddy callback to get the notifications on buddy state change. + +Subscribing to Buddy's Presence Status +--------------------------------------- +To subscribe to buddy's presence status, you need to add a buddy object and subscribe to buddy's presence status. The snippet below shows a sample code to achieve these: + +.. code-block:: c++ + + BuddyConfig cfg; + cfg.uri = "sip:alice@example.com"; + MyBuddy buddy; + try { + buddy.create(*acc, cfg); + buddy.subscribePresence(true); + } catch(Error& err) { + } + +Then you can get the buddy's presence state change inside the onBuddyState() callback: + +.. code-block:: c++ + + void MyBuddy::onBuddyState() + { + BuddyInfo bi = getInfo(); + cout << "Buddy " << bi.uri << " is " << bi.presStatus.statusText << endl; + } + +For more information, please see Buddy class reference documentation. + +Responding to Presence Subscription Request +------------------------------------------- +By default, incoming presence subscription to an account will be accepted automatically. You will probably want to change this behavior, for example only to automatically accept subscription if it comes from one of the buddy in the buddy list, and for anything else prompt the user if he/she wants to accept the request. + +This can be done by overriding the onIncomingSubscribe() method of the Account class. Please see the documentation of this method for more info. + +Changing Account's Presence Status +---------------------------------- +To change account's presence status, you can use the function Account.setOnlineStatus() to set basic account's presence status (i.e. available or not available) and optionally, some extended information (e.g. busy, away, on the phone, etc), such as: + +.. code-block:: c++ + + try { + PresenceStatus ps; + ps.status = PJSUA_BUDDY_STATUS_ONLINE; + // Optional, set the activity and some note + ps.activity = PJRPID_ACTIVITY_BUSY; + ps.note = "On the phone"; + acc->setOnlineStatus(ps); + } catch(Error& err) { + } + +When the presence status is changed, the account will publish the new status to all of its presence subscriber, either with PUBLISH request or NOTIFY request, or both, depending on account configuration. + +Instant Messaging(IM) +--------------------- +You can send IM using Buddy.sendInstantMessage(). The transmission status of outgoing instant messages is reported in Account.onInstantMessageStatus() callback method of Account class. + +In addition to sending instant messages, you can also send typing indication to remote buddy using Buddy.sendTypingIndication(). + +Incoming IM and typing indication received not within the scope of a call will be reported in the callback functions Account.onInstantMessage() and Account.onTypingIndication(). + +Alternatively, you can send IM and typing indication within a call by using Call.sendInstantMessage() and Call.sendTypingIndication(). For more information, please see Call documentation. + + +Class Reference +--------------- +Buddy ++++++ +.. doxygenclass:: pj::Buddy + :path: xml + :members: + +Status +++++++ +.. doxygenstruct:: pj::PresenceStatus + :path: xml + +Info +++++ +.. doxygenstruct:: pj::BuddyInfo + :path: xml + +Config +++++++ +.. doxygenstruct:: pj::BuddyConfig + :path: xml + + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/reference.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/reference.rst new file mode 100644 index 0000000000000000000000000000000000000000..986f22ccc6b97c3be9fb858ef6603a0251612e0a --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/reference.rst @@ -0,0 +1,58 @@ + + +PJSUA2 API Reference Manuals +**************************** + +endpoint.hpp +============= +.. doxygenfile:: endpoint.hpp + :path: xml + +account.hpp +=========== +.. doxygenfile:: account.hpp + :path: xml + + +media.hpp +========= +.. doxygenfile:: media.hpp + :path: xml + + +call.hpp +========= +.. doxygenfile:: call.hpp + :path: xml + + +presence.hpp +============ +.. doxygenfile:: presence.hpp + :path: xml + +persistent.hpp +================ +.. doxygenfile:: persistent.hpp + :path: xml + +json.hpp +================ +.. doxygenfile:: json.hpp + :path: xml + +siptypes.hpp +================ +.. doxygenfile:: siptypes.hpp + :path: xml + +types.hpp +================ +.. doxygenfile:: types.hpp + :path: xml + +config.hpp +================ +.. doxygenfile:: config.hpp + :path: xml + diff --git a/daemon/libs/pjproject-2.2.1/doc/pjsip-book/samples.rst b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/samples.rst new file mode 100644 index 0000000000000000000000000000000000000000..7c8191d8e2f49bbdad6b368a469a7a3457c98e03 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/doc/pjsip-book/samples.rst @@ -0,0 +1,33 @@ + +PJSUA2 Sample Applications +*********************************** + +Sample Apps +=========== + +C++ +----- +There is a very simple C++ sample application available in ``pjsip-apps/src/samples/pjsua2_demo.cpp``. The binary will be located in ``pjsip-apps/bin/samples``. + + +Python GUI +------------------ +This is a rather complete Python GUI sample apps, located in ``pjsip-apps/src/pygui``. It requires Python 2.7 and above, and the Python SWIG module of course. To use the application, simply run:: + + python application.py + +Android +---------------- +Please see https://trac.pjsip.org/repos/wiki/Getting-Started/Android#pjsua2 for Android sample application. + +Java +---------------- +There is a Hello World type of application located in ``pjsip-apps/src/swig/java``. This requires the Java SWIG module. After building the SWIG module, run ``make test`` from this directory to run the app. + + +Miscellaneous +=================== + +How to +----------------------------- + diff --git a/daemon/libs/pjproject-2.1.0/install-sh b/daemon/libs/pjproject-2.2.1/install-sh similarity index 100% rename from daemon/libs/pjproject-2.1.0/install-sh rename to daemon/libs/pjproject-2.2.1/install-sh diff --git a/daemon/libs/pjproject-2.1.0/libpjproject.pc.in b/daemon/libs/pjproject-2.2.1/libpjproject.pc.in similarity index 59% rename from daemon/libs/pjproject-2.1.0/libpjproject.pc.in rename to daemon/libs/pjproject-2.2.1/libpjproject.pc.in index 7cd4313f55e120e44849e3592c2021097ae865bc..fa8d39114662e445685203703803a6a18ea8d8b5 100644 --- a/daemon/libs/pjproject-2.1.0/libpjproject.pc.in +++ b/daemon/libs/pjproject-2.2.1/libpjproject.pc.in @@ -2,12 +2,12 @@ prefix=@PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include +libdir=@LIBDIR@ +includedir=@INCLUDEDIR@ Name: libpjproject Description: Multimedia communication library URL: http://www.pjsip.org Version: @PJ_VERSION@ -Libs: -L${libdir} @PJ_LDLIBS@ -Cflags: -I${includedir} @PJ_INSTALL_CFLAGS@ +Libs: -L${libdir} @PJ_LDXXLIBS@ +Cflags: -I${includedir} @PJ_INSTALL_CXXFLAGS@ diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/build/Makefile b/daemon/libs/pjproject-2.2.1/pjlib-util/build/Makefile similarity index 56% rename from daemon/libs/pjproject-2.1.0/pjlib-util/build/Makefile rename to daemon/libs/pjproject-2.2.1/pjlib-util/build/Makefile index d2ad65a8a36b4e1cab481ba1113bfda4e32beb9f..cb601cb68814320bcd940eaf26f7dadd580a2112 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/build/Makefile +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/build/Makefile @@ -6,10 +6,20 @@ include ../../build.mak include ../../version.mak include $(PJDIR)/build/common.mak +export LIBDIR := ../lib +export BINDIR := ../bin + RULES_MAK := $(PJDIR)/build/rules.mak PJLIB_LIB:=$(PJDIR)/pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT) -export PJLIB_UTIL_LIB:=../lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT) + +export PJLIB_UTIL_LIB := libpjlib-util-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export PJLIB_UTIL_SONAME := libpjlib-util.$(SHLIB_SUFFIX) +export PJLIB_UTIL_SHLIB := $(PJLIB_UTIL_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### # Gather all flags. @@ -18,42 +28,44 @@ export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ $(CFLAGS) $(CC_INC)../include $(CC_INC)../../pjlib/include export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ $(HOST_CXXFLAGS) $(CXXFLAGS) -export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJLIB_UTIL_LIB)) \ - $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \ - $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ - $(LDFLAGS) +export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(APP_LDFLAGS) $(LDFLAGS) ############################################################################### # Defines for building PJLIB-UTIL library # export PJLIB_UTIL_SRCDIR = ../src/pjlib-util export PJLIB_UTIL_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ - base64.o crc32.o errno.o dns.o dns_dump.o dns_server.o \ - getopt.o hmac_md5.o hmac_sha1.o http_client.o md5.o pcap.o resolver.o \ - scanner.o sha1.o srv_resolver.o string.o stun_simple.o \ + base64.o cli.o cli_console.o cli_telnet.o crc32.o errno.o dns.o \ + dns_dump.o dns_server.o getopt.o hmac_md5.o hmac_sha1.o \ + http_client.o json.o md5.o pcap.o resolver.o scanner.o sha1.o \ + srv_resolver.o string.o stun_simple.o \ stun_simple_client.o xml.o export PJLIB_UTIL_CFLAGS += $(_CFLAGS) +export PJLIB_UTIL_CXXFLAGS += $(_CXXFLAGS) +export PJLIB_UTIL_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS) ############################################################################### # Defines for building test application # export UTIL_TEST_SRCDIR = ../src/pjlib-util-test export UTIL_TEST_OBJS += xml.o encryption.o stun.o resolver_test.o test.o \ - http_client.o + json_test.o http_client.o export UTIL_TEST_CFLAGS += $(_CFLAGS) -export UTIL_TEST_LDFLAGS += $(_LDFLAGS) -export UTIL_TEST_EXE:=../bin/pjlib-util-test-$(TARGET_NAME)$(HOST_EXE) +export UTIL_TEST_CXXFLAGS += $(_CXXFLAGS) +export UTIL_TEST_LDFLAGS += $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) +export UTIL_TEST_EXE:=pjlib-util-test-$(TARGET_NAME)$(HOST_EXE) export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT ############################################################################### # Main entry -# -# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. -# -TARGETS := pjlib-util pjlib-util-test +TARGETS := $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) +TARGETS_EXE := $(UTIL_TEST_EXE) -all: $(TARGETS) +all: $(TARGETS) $(TARGETS_EXE) + +lib: $(TARGETS) doc: cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg @@ -69,22 +81,28 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend pjlib pjlib-test clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) +.PHONY: $(UTIL_TEST_EXE) -pjlib-util: - $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(PJLIB_UTIL_LIB) +pjlib-util: $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) +$(PJLIB_UTIL_SONAME): $(PJLIB_UTIL_LIB) +$(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME): $(PJLIB_LIB) $(PJLIB_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) -pjlib-util-test: pjlib-util - $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(UTIL_TEST_EXE) +pjlib-util-test: $(UTIL_TEST_EXE) +$(UTIL_TEST_EXE): $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) + $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) -.PHONY: ../lib/pjlib-util.ko -../lib/pjlib-util.ko: +.PHONY: pjlib-util.ko +pjlib-util.ko: echo Making $@ - $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@ + $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) -.PHONY: ../lib/pjlib-util-test.ko -../lib/pjlib-util-test.ko: - $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@ +.PHONY: pjlib-util-test.ko +pjlib-util-test.ko: + $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean: $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@ @@ -99,6 +117,5 @@ realclean: depend: $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@ $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@ - echo '$(UTIL_TEST_EXE): $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjlib-util-test-$(TARGET_NAME).depend; \ - + echo '$(BINDIR)/$(UTIL_TEST_EXE): $(LIBDIR)/$(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjlib-util-test-$(TARGET_NAME).depend; \ diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/build/os-auto.mak.in b/daemon/libs/pjproject-2.2.1/pjlib-util/build/os-auto.mak.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/build/os-auto.mak.in rename to daemon/libs/pjproject-2.2.1/pjlib-util/build/os-auto.mak.in diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/build/os-rtems.mak b/daemon/libs/pjproject-2.2.1/pjlib-util/build/os-rtems.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/build/os-rtems.mak rename to daemon/libs/pjproject-2.2.1/pjlib-util/build/os-rtems.mak diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/build/pjlib_util.dsw b/daemon/libs/pjproject-2.2.1/pjlib-util/build/pjlib_util.dsw similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/build/pjlib_util.dsw rename to daemon/libs/pjproject-2.2.1/pjlib-util/build/pjlib_util.dsw diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/build/pjlib_util.vcproj b/daemon/libs/pjproject-2.2.1/pjlib-util/build/pjlib_util.vcproj similarity index 74% rename from daemon/libs/pjproject-2.1.0/pjlib-util/build/pjlib_util.vcproj rename to daemon/libs/pjproject-2.2.1/pjlib-util/build/pjlib_util.vcproj index 4eb8cadf49c119d62b7d119ea379fe1d31fd53fb..a00959d283bbb76af47bbd30a8c1842fcdd97dda 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/build/pjlib_util.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/build/pjlib_util.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -223,9 +226,9 @@ /> </Configuration> <Configuration - Name="Debug|Win32" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -244,6 +247,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -281,9 +285,9 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -320,7 +324,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -347,9 +351,9 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -386,7 +390,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -413,7 +417,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Debug|Win32" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" @@ -471,7 +475,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -537,7 +541,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -603,9 +607,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -624,12 +628,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="../include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -661,9 +667,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -700,7 +706,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -727,9 +733,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -766,7 +772,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -793,9 +799,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -851,9 +857,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -917,9 +923,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -983,9 +989,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1004,12 +1010,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="../include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1041,9 +1049,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1080,7 +1088,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1107,9 +1115,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1146,7 +1154,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1173,11 +1181,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Dynamic|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1196,9 +1205,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1212,7 +1220,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1224,26 +1232,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1262,9 +1262,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1278,7 +1278,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1305,11 +1305,11 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1328,9 +1328,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1344,7 +1344,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1371,11 +1371,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Dynamic|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1391,12 +1392,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1410,7 +1411,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1422,26 +1423,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1460,9 +1453,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1503,11 +1496,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1526,9 +1519,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1569,11 +1562,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1592,9 +1586,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1608,7 +1601,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1620,26 +1613,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1658,9 +1643,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1674,7 +1659,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1701,11 +1686,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1724,9 +1709,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1740,7 +1725,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1767,11 +1752,12 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1787,13 +1773,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1806,7 +1793,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1818,26 +1805,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1856,9 +1835,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1899,11 +1878,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1922,9 +1901,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1965,11 +1944,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1988,9 +1968,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -2004,7 +1983,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2016,26 +1995,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -2054,9 +2025,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -2070,7 +2041,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2097,11 +2068,136 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Release-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2120,9 +2216,75 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -2136,7 +2298,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2163,7 +2325,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2229,8 +2391,8 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="4" @@ -2295,8 +2457,8 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="4" @@ -2361,7 +2523,7 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2400,7 +2562,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2427,8 +2589,8 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="4" @@ -2466,7 +2628,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2493,8 +2655,8 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="4" @@ -2532,7 +2694,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2559,7 +2721,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2625,8 +2787,8 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="4" @@ -2691,8 +2853,8 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="4" @@ -2756,23 +2918,1029 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" > - <File - RelativePath="..\src\pjlib-util\base64.c" - > - </File> - <File - RelativePath="..\src\pjlib-util\crc32.c" - > - <FileConfiguration - Name="Release|Win32" + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjlib-util-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\pjlib-util\base64.c" + > + </File> + <File + RelativePath="..\src\pjlib-util\cli.c" + > + </File> + <File + RelativePath="..\src\pjlib-util\cli_console.c" + > + </File> + <File + RelativePath="..\src\pjlib-util\cli_telnet.c" + > + </File> + <File + RelativePath="..\src\pjlib-util\crc32.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\dns.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\dns_dump.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\dns_server.c" + > + </File> + <File + RelativePath="..\src\pjlib-util\errno.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\getopt.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\hmac_md5.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\hmac_sha1.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\http_client.c" + > + </File> + <File + RelativePath="..\src\pjlib-util\json.c" + > + </File> + <File + RelativePath="..\src\pjlib-util\md5.c" + > + <FileConfiguration + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -2781,7 +3949,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2790,7 +3958,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -2799,7 +3967,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2808,7 +3976,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2817,7 +3985,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2825,12 +3993,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\dns.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2839,7 +4003,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2848,7 +4012,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2857,7 +4021,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2866,7 +4030,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2875,7 +4039,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2885,7 +4049,11 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-util\dns_dump.c" + RelativePath="..\src\pjlib-util\pcap.c" + > + </File> + <File + RelativePath="..\src\pjlib-util\resolver.c" > <FileConfiguration Name="Release|Win32" @@ -2897,7 +4065,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2906,7 +4074,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -2915,7 +4083,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2924,7 +4092,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2933,7 +4101,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2941,16 +4109,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\dns_server.c" - > - </File> - <File - RelativePath="..\src\pjlib-util\errno.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2959,7 +4119,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2968,7 +4128,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2977,7 +4137,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2986,7 +4146,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2995,7 +4155,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3005,7 +4165,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-util\getopt.c" + RelativePath="..\src\pjlib-util\scanner.c" > <FileConfiguration Name="Release|Win32" @@ -3017,7 +4177,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3026,7 +4186,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3035,7 +4195,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3044,7 +4204,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3053,7 +4213,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3061,12 +4221,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\hmac_md5.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3075,7 +4231,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3084,7 +4240,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3093,7 +4249,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3102,7 +4258,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3111,7 +4267,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3121,10 +4277,11 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-util\hmac_sha1.c" + RelativePath="..\src\pjlib-util\scanner_cis_bitwise.c" > <FileConfiguration Name="Release|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3133,25 +4290,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3160,33 +4316,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\http_client.c" - > - </File> - <File - RelativePath="..\src\pjlib-util\md5.c" - > <FileConfiguration - Name="Release|Win32" + Name="Debug|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3195,7 +4342,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3203,8 +4367,25 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3213,25 +4394,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3239,34 +4419,25 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\pcap.c" - > - </File> - <File - RelativePath="..\src\pjlib-util\resolver.c" - > <FileConfiguration - Name="Release|Win32" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3275,7 +4446,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3283,8 +4471,25 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3293,7 +4498,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3301,12 +4523,25 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\scanner.c" - > <FileConfiguration - Name="Release|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3315,25 +4550,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3342,39 +4576,31 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\scanner_cis_bitwise.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3382,7 +4608,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3390,17 +4616,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3408,7 +4632,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3416,17 +4640,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3434,7 +4656,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3442,17 +4664,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3460,15 +4680,19 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\scanner_cis_uint.c" + > <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool @@ -3478,7 +4702,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3486,7 +4710,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3494,7 +4718,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release|x64" ExcludedFromBuild="true" > <Tool @@ -3504,7 +4728,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3512,7 +4736,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3520,15 +4744,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3536,7 +4762,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3544,15 +4770,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3560,7 +4788,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3568,15 +4796,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3584,7 +4814,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3592,15 +4822,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3608,7 +4840,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3616,15 +4848,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3632,7 +4866,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3640,15 +4874,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3656,7 +4892,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3664,15 +4900,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3680,7 +4918,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3688,15 +4926,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3704,19 +4944,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\scanner_cis_uint.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool @@ -3726,7 +4962,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3734,7 +4970,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3742,7 +4978,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool @@ -3752,7 +4988,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3760,7 +4996,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3768,17 +5004,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3786,7 +5020,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3794,17 +5028,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3812,7 +5044,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3820,17 +5052,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3838,7 +5068,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3846,17 +5076,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3864,208 +5092,244 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\sha1.c" + > <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-util\srv_resolver.c" + > + </File> + <File + RelativePath="..\src\pjlib-util\string.c" + > <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-util\sha1.c" + RelativePath="..\src\pjlib-util\stun_simple.c" > <FileConfiguration Name="Release|Win32" @@ -4077,7 +5341,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4086,7 +5350,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4095,7 +5359,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4104,7 +5368,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4113,7 +5377,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4121,16 +5385,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\srv_resolver.c" - > - </File> - <File - RelativePath="..\src\pjlib-util\string.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4139,7 +5395,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4148,7 +5404,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4157,7 +5413,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4166,7 +5422,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4175,7 +5431,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4185,7 +5441,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-util\stun_simple.c" + RelativePath="..\src\pjlib-util\stun_simple_client.c" > <FileConfiguration Name="Release|Win32" @@ -4197,7 +5453,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4206,7 +5462,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4215,7 +5471,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4224,7 +5480,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4233,7 +5489,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4241,12 +5497,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-util\stun_simple_client.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4255,7 +5507,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4264,7 +5516,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4273,7 +5525,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4282,7 +5534,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4291,7 +5543,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4328,6 +5580,31 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -4353,6 +5630,31 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -4379,7 +5681,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4388,7 +5690,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4396,7 +5698,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4404,7 +5706,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4413,7 +5715,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4421,7 +5723,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4429,7 +5731,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4438,7 +5740,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4446,7 +5748,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4454,15 +5756,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4470,7 +5773,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4478,15 +5781,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4494,7 +5798,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4502,15 +5806,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4518,7 +5823,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4526,11 +5831,12 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration @@ -4658,6 +5964,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -4667,6 +5982,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -4676,6 +6000,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -4685,6 +6018,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -4694,6 +6036,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -4703,6 +6054,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> </Filter> <Filter @@ -4713,6 +6073,22 @@ RelativePath="..\include\pjlib-util\base64.h" > </File> + <File + RelativePath="..\include\pjlib-util\cli.h" + > + </File> + <File + RelativePath="..\include\pjlib-util\cli_console.h" + > + </File> + <File + RelativePath="..\include\pjlib-util\cli_imp.h" + > + </File> + <File + RelativePath="..\include\pjlib-util\cli_telnet.h" + > + </File> <File RelativePath="..\include\pjlib-util\config.h" > @@ -4749,6 +6125,10 @@ RelativePath="..\include\pjlib-util\http_client.h" > </File> + <File + RelativePath="..\include\pjlib-util\json.h" + > + </File> <File RelativePath="..\include\pjlib-util\md5.h" > diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/build/pjlib_util_test.vcproj b/daemon/libs/pjproject-2.2.1/pjlib-util/build/pjlib_util_test.vcproj similarity index 80% rename from daemon/libs/pjproject-2.1.0/pjlib-util/build/pjlib_util_test.vcproj rename to daemon/libs/pjproject-2.2.1/pjlib-util/build/pjlib_util_test.vcproj index 675ecc18e5878cb4a4d60c6763e9fc5b944923c3..ff871ca8f5de94ea77aa4b602097bcc8aa89eeaf 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/build/pjlib_util_test.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/build/pjlib_util_test.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -233,9 +236,9 @@ /> </Configuration> <Configuration - Name="Debug|Win32" + Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -254,6 +257,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -274,6 +278,7 @@ Name="VCLinkerTool" AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -301,9 +306,9 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -340,7 +345,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -367,9 +372,9 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -406,7 +411,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -433,7 +438,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Debug|Win32" ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" @@ -501,7 +506,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -567,7 +572,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -633,9 +638,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Debug|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -654,12 +659,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="../include,../../pjlib/include" PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -674,6 +681,7 @@ Name="VCLinkerTool" AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -701,9 +709,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -740,7 +748,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -767,9 +775,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -806,7 +814,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -833,9 +841,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -901,9 +909,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -967,9 +975,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1033,9 +1041,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Debug-Static|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1054,12 +1062,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="../include,../../pjlib/include" PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1074,6 +1084,7 @@ Name="VCLinkerTool" AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -1101,9 +1112,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1140,7 +1151,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1167,9 +1178,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1206,7 +1217,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1233,11 +1244,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Dynamic|Win32" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1256,8 +1268,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1271,12 +1283,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1284,26 +1299,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1338,7 +1351,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1365,11 +1378,11 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1404,7 +1417,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1431,11 +1444,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Dynamic|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1451,11 +1465,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1469,12 +1484,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1482,26 +1501,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1563,11 +1580,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1629,11 +1646,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|Win32" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1652,8 +1670,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1667,12 +1685,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1680,26 +1701,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1734,7 +1753,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1761,11 +1780,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1800,7 +1819,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1827,11 +1846,12 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1847,12 +1867,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1865,12 +1887,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1878,26 +1904,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1959,11 +1983,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2025,11 +2049,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Win32" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -2048,8 +2073,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -2063,9 +2088,410 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-util-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> <Tool Name="VCALinkTool" /> @@ -2832,6 +3258,10 @@ RelativePath="..\src\pjlib-util-test\http_client.c" > </File> + <File + RelativePath="..\src\pjlib-util-test\json_test.c" + > + </File> <File RelativePath="..\src\pjlib-util-test\main.c" > @@ -2860,6 +3290,31 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -2885,6 +3340,31 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2911,7 +3391,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2920,7 +3400,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -2928,7 +3408,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -2936,7 +3416,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2945,7 +3425,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -2953,7 +3433,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -2961,7 +3441,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2970,7 +3450,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -2978,7 +3458,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -2986,15 +3466,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3002,7 +3483,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3010,15 +3491,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3026,7 +3508,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3034,15 +3516,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3050,7 +3533,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3058,11 +3541,12 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration @@ -3189,6 +3673,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" @@ -3197,6 +3689,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" ExcludedFromBuild="true" @@ -3205,6 +3705,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" ExcludedFromBuild="true" @@ -3213,6 +3721,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" @@ -3221,6 +3737,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" ExcludedFromBuild="true" @@ -3229,6 +3753,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjlib-util-test\resolver_test.c" @@ -3250,6 +3782,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -3259,6 +3800,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3268,6 +3818,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3277,6 +3836,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3286,6 +3854,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3295,6 +3872,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjlib-util-test\xml.c" @@ -3308,6 +3894,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -3317,6 +3912,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3326,6 +3930,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3335,6 +3948,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3344,6 +3966,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3353,6 +3984,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> </Filter> <Filter diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/build/wince-evc4/pjlib_util_test_wince.vcp b/daemon/libs/pjproject-2.2.1/pjlib-util/build/wince-evc4/pjlib_util_test_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/build/wince-evc4/pjlib_util_test_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjlib-util/build/wince-evc4/pjlib_util_test_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/build/wince-evc4/pjlib_util_wince.vcp b/daemon/libs/pjproject-2.2.1/pjlib-util/build/wince-evc4/pjlib_util_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/build/wince-evc4/pjlib_util_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjlib-util/build/wince-evc4/pjlib_util_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/build/wince-evc4/pjlib_util_wince.vcw b/daemon/libs/pjproject-2.2.1/pjlib-util/build/wince-evc4/pjlib_util_wince.vcw similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/build/wince-evc4/pjlib_util_wince.vcw rename to daemon/libs/pjproject-2.2.1/pjlib-util/build/wince-evc4/pjlib_util_wince.vcw diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/docs/doxygen.cfg b/daemon/libs/pjproject-2.2.1/pjlib-util/docs/doxygen.cfg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/docs/doxygen.cfg rename to daemon/libs/pjproject-2.2.1/pjlib-util/docs/doxygen.cfg diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/docs/doxygen.css b/daemon/libs/pjproject-2.2.1/pjlib-util/docs/doxygen.css similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/docs/doxygen.css rename to daemon/libs/pjproject-2.2.1/pjlib-util/docs/doxygen.css diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/docs/footer.html b/daemon/libs/pjproject-2.2.1/pjlib-util/docs/footer.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/docs/footer.html rename to daemon/libs/pjproject-2.2.1/pjlib-util/docs/footer.html diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/docs/header.html b/daemon/libs/pjproject-2.2.1/pjlib-util/docs/header.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/docs/header.html rename to daemon/libs/pjproject-2.2.1/pjlib-util/docs/header.html diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util.h similarity index 86% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util.h index 671bb072d981a2a30937298c015a88bcf0cc11de..d06a7914d6ea3e08acaa2af0d24fd9d1f26ee583 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util.h +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util.h @@ -1,4 +1,4 @@ -/* $Id: pjlib-util.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: pjlib-util.h 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -48,12 +48,16 @@ /* Simple DNS server */ #include <pjlib-util/dns_server.h> -/* Text scanner */ +/* Text scanner and utilities */ #include <pjlib-util/scanner.h> +#include <pjlib-util/string.h> /* XML */ #include <pjlib-util/xml.h> +/* JSON */ +#include <pjlib-util/json.h> + /* Old STUN */ #include <pjlib-util/stun_simple.h> @@ -63,4 +67,10 @@ /* HTTP */ #include <pjlib-util/http_client.h> +/** CLI **/ +#include <pjlib-util/cli.h> +#include <pjlib-util/cli_console.h> +#include <pjlib-util/cli_telnet.h> + #endif /* __PJLIB_UTIL_H__ */ + diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/base64.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/base64.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/base64.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/base64.h diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli.h new file mode 100644 index 0000000000000000000000000000000000000000..a91fb3de25af2deb0feaec78f157066f54d435eb --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli.h @@ -0,0 +1,529 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CLI_H__ +#define __PJLIB_UTIL_CLI_H__ + +/** + * @file cli.h + * @brief Command Line Interface + */ + +#include <pjlib-util/types.h> +#include <pj/list.h> + + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_CLI Command Line Interface Framework + * @{ + * A CLI framework features an interface for defining command specification, + * parsing, and executing a command. + * It also features an interface to communicate with various front-ends, + * such as console, telnet. + * Application normally needs only one CLI instance to be created. + * On special cases, application could also create multiple CLI + * instances, with each instance has specific command structure. + * +\verbatim +| vid help Show this help screen | +| vid enable|disable Enable or disable video in next offer/answer | +| vid call add Add video stream for current call | +| vid call cap N ID Set capture dev ID for stream #N in current call | +| disable_codec g711|g722 Show this help screen | +<CMD name='vid' id='0' desc=""> + <CMD name='help' id='0' desc='' /> + <CMD name='enable' id='0' desc='' /> + <CMD name='disable' id='0' desc='' /> + <CMD name='call' id='0' desc='' > + <CMD name='add' id='101' desc='...' /> + <CMD name='cap' id='102' desc='...' > + <ARG name='streamno' type='int' desc='...' id='1'/> + <ARG name='devid' type='int' optional='1' id='2'/> + </CMD> + </CMD> +</CMD> +<CMD name='disable_codec' id=0 desc=""> + <ARG name='codec_list' type='choice' id='3'> + <CHOICE value='g711'/> + <CHOICE value='g722'/> + </ARG> +</CMD> +\endverbatim + */ + +/** + * This opaque structure represents a CLI application. A CLI application is + * the root placeholder of other CLI objects. In an application, one (and + * normally only one) CLI application instance needs to be created. + */ +typedef struct pj_cli_t pj_cli_t; + +/** + * Type of command id. + */ +typedef int pj_cli_cmd_id; + +/** + * This describes the parameters to be specified when creating a CLI + * application with pj_cli_create(). Application MUST initialize this + * structure by calling pj_cli_cfg_default() before using it. + */ +typedef struct pj_cli_cfg +{ + /** + * The application name, which will be used in places such as logs. + * This field is mandatory. + */ + pj_str_t name; + + /** + * Optional application title, which will be used in places such as + * window title. If not specified, the application name will be used + * as the title. + */ + pj_str_t title; + + /** + * The pool factory where all memory allocations will be taken from. + * This field is mandatory. + */ + pj_pool_factory *pf; + +} pj_cli_cfg; + +/** + * Type of argument id. + */ +typedef int pj_cli_arg_id; + +/** + * Forward declaration of pj_cli_cmd_spec structure. + */ +typedef struct pj_cli_cmd_spec pj_cli_cmd_spec; + +/** + * Forward declaration for pj_cli_sess, which will be declared in cli_imp.h. + */ +typedef struct pj_cli_sess pj_cli_sess; + +/** + * Forward declaration for CLI front-end. + */ +typedef struct pj_cli_front_end pj_cli_front_end; + +/** + * Forward declaration for CLI argument spec structure. + */ +typedef struct pj_cli_arg_spec pj_cli_arg_spec; + +/** + * This structure contains the command to be executed by command handler. + */ +typedef struct pj_cli_cmd_val +{ + /** The session on which the command was executed on. */ + pj_cli_sess *sess; + + /** The command specification being executed. */ + const pj_cli_cmd_spec *cmd; + + /** Number of argvs. */ + int argc; + + /** Array of args, with argv[0] specifies the name of the cmd. */ + pj_str_t argv[PJ_CLI_MAX_ARGS]; + +} pj_cli_cmd_val; + +/** + * This structure contains the hints information for the end user. + * This structure could contain either command or argument information. + * The front-end will format the information and present it to the user. + */ +typedef struct pj_cli_hint_info +{ + /** + * The hint value. + */ + pj_str_t name; + + /** + * The hint type. + */ + pj_str_t type; + + /** + * Helpful description of the hint value. + */ + pj_str_t desc; + +} pj_cli_hint_info; + +/** + * This structure contains extra information returned by pj_cli_sess_exec()/ + * pj_cli_sess_parse(). + * Upon return from the function, various other fields in this structure will + * be set by the function. + */ +typedef struct pj_cli_exec_info +{ + /** + * If command parsing failed, on return this will point to the location + * where the failure occurs, otherwise the value will be set to -1. + */ + int err_pos; + + /** + * If a command matching the command in the cmdline was found, on return + * this will be set to the command id of the command, otherwise it will be + * set to PJ_CLI_INVALID_CMD_ID. + */ + pj_cli_cmd_id cmd_id; + + /** + * If a command was executed, on return this will be set to the return + * value of the command, otherwise it will contain PJ_SUCCESS. + */ + pj_status_t cmd_ret; + + /** + * The number of hint elements + **/ + unsigned hint_cnt; + + /** + * If pj_cli_sess_parse() fails because of a missing argument or ambigous + * command/argument, the function returned PJ_CLI_EMISSINGARG or + * PJ_CLI_EAMBIGUOUS error. + * This field will contain the hint information. This is useful to give + * helpful information to the end_user. + */ + pj_cli_hint_info hint[PJ_CLI_MAX_HINTS]; + +} pj_cli_exec_info; + +/** + * This structure contains the information returned from the dynamic + * argument callback. + */ +typedef struct pj_cli_arg_choice_val +{ + /** + * The argument choice value + */ + pj_str_t value; + + /** + * Helpful description of the choice value. This text will be used when + * displaying the help texts for the choice value + */ + pj_str_t desc; + +} pj_cli_arg_choice_val; + +/** + * This structure contains the parameters for pj_cli_get_dyn_choice + */ +typedef struct pj_cli_dyn_choice_param +{ + /** + * The session on which the command was executed on. + */ + pj_cli_sess *sess; + + /** + * The command being processed. + */ + pj_cli_cmd_spec *cmd; + + /** + * The argument id. + */ + pj_cli_arg_id arg_id; + + /** + * The maximum number of values that the choice can hold. + */ + unsigned max_cnt; + + /** + * The pool to allocate memory from. + */ + pj_pool_t *pool; + + /** + * The choice values count. + */ + unsigned cnt; + + /** + * Array containing the valid choice values. + */ + pj_cli_arg_choice_val choice[PJ_CLI_MAX_CHOICE_VAL]; +} pj_cli_dyn_choice_param; + +/** + * This specifies the callback type for argument handlers, which will be + * called to get the valid values of the choice type arguments. + */ +typedef void (*pj_cli_get_dyn_choice) (pj_cli_dyn_choice_param *param); + +/** + * This specifies the callback type for command handlers, which will be + * executed when the specified command is invoked. + * + * @param cmd_val The command that is specified by the user. + * + * @return Return the status of the command execution. + */ +typedef pj_status_t (*pj_cli_cmd_handler)(pj_cli_cmd_val *cval); + +/** + * Write a log message to the CLI application. The CLI application + * will send the log message to all the registered front-ends. + * + * @param cli The CLI application instance. + * @param level Verbosity level of this message message. + * @param buffer The message itself. + * @param len Length of this message. + */ +PJ_DECL(void) pj_cli_write_log(pj_cli_t *cli, + int level, + const char *buffer, + int len); + +/** + * Create a new CLI application instance. + * + * @param cfg CLI application creation parameters. + * @param p_cli Pointer to receive the returned instance. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_cli_create(pj_cli_cfg *cfg, + pj_cli_t **p_cli); + +/** + * This specifies the function to get the id of the specified command + * + * @param cmd The specified command. + * + * @return The command id + */ +PJ_DECL(pj_cli_cmd_id) pj_cli_get_cmd_id(const pj_cli_cmd_spec *cmd); + +/** + * Get the internal parameter of the CLI instance. + * + * @param cli The CLI application instance. + * + * @return CLI parameter instance. + */ +PJ_DECL(pj_cli_cfg*) pj_cli_get_param(pj_cli_t *cli); + +/** + * Call this to signal application shutdown. Typically application would + * call this from it's "Quit" menu or similar command to quit the + * application. + * + * See also pj_cli_sess_end_session() to end a session instead of quitting the + * whole application. + * + * @param cli The CLI application instance. + * @param req The session on which the shutdown request is + * received. + * @param restart Indicate whether application restart is wanted. + */ +PJ_DECL(void) pj_cli_quit(pj_cli_t *cli, pj_cli_sess *req, + pj_bool_t restart); +/** + * Check if application shutdown or restart has been requested. + * + * @param cli The CLI application instance. + * + * @return PJ_TRUE if pj_cli_quit() has been called. + */ +PJ_DECL(pj_bool_t) pj_cli_is_quitting(pj_cli_t *cli); + +/** + * Check if application restart has been requested. + * + * @param cli The CLI application instance. + * + * @return PJ_TRUE if pj_cli_quit() has been called with + * restart parameter set. + */ +PJ_DECL(pj_bool_t) pj_cli_is_restarting(pj_cli_t *cli); + +/** + * Destroy a CLI application instance. This would also close all sessions + * currently running for this CLI application. + * + * @param cli The CLI application. + */ +PJ_DECL(void) pj_cli_destroy(pj_cli_t *cli); + +/** + * Initialize a pj_cli_cfg with its default values. + * + * @param param The instance to be initialized. + */ +PJ_DECL(void) pj_cli_cfg_default(pj_cli_cfg *param); + +/** + * Register a front end to the CLI application. + * + * @param CLI The CLI application. + * @param fe The CLI front end to be registered. + */ +PJ_DECL(void) pj_cli_register_front_end(pj_cli_t *cli, + pj_cli_front_end *fe); + +/** + * Create a new complete command specification from an XML node text and + * register it to the CLI application. + * + * @param cli The CLI application. + * @param group Optional group to which this command will be added + * to, or specify NULL if this command is a root + * command. + * @param xml Input string containing XML node text for the + * command. + * @param handler Function handler for the command. This must be NULL + * if the command specifies a command group. + * @param p_cmd Optional pointer to store the newly created + * specification. + * @param get_choice Function handler for the argument. Specify this for + * dynamic choice type arguments. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_cli_add_cmd_from_xml(pj_cli_t *cli, + pj_cli_cmd_spec *group, + const pj_str_t *xml, + pj_cli_cmd_handler handler, + pj_cli_cmd_spec **p_cmd, + pj_cli_get_dyn_choice get_choice); +/** + * Initialize pj_cli_exec_info with its default values. + * + * @param param The param to be initialized. + */ +PJ_DECL(void) pj_cli_exec_info_default(pj_cli_exec_info *param); + +/** + * Write a log message to the specific CLI session. + * + * @param sess The CLI active session. + * @param buffer The message itself. + * @param len Length of this message. + */ +PJ_DECL(void) pj_cli_sess_write_msg(pj_cli_sess *sess, + const char *buffer, + pj_size_t len); + +/** + * Parse an input cmdline string. The first word of the command line is the + * command itself, which will be matched against command specifications + * registered in the CLI application. + * + * Zero or more arguments follow the command name. Arguments are separated by + * one or more whitespaces. Argument may be placed inside a pair of quotes, + * double quotes, '{' and '}', or '[' and ']' pairs. This is useful when the + * argument itself contains whitespaces or other restricted characters. If + * the quote character itself is to appear in the argument, the argument then + * must be quoted with different quote characters. There is no character + * escaping facility provided by this function (such as the use of backslash + * '\' character). + * + * The cmdline may be followed by an extra newline (LF or CR-LF characters), + * which will be removed by the function. However any more characters + * following this newline will cause an error to be returned. + * + * @param sess The CLI session. + * @param cmdline The command line string to be parsed. + * @param val Structure to store the parsing result. + * @param pool The pool to allocate memory from. + * @param info Additional info to be returned regarding the parsing. + * + * @return This function returns the status of the parsing, + * which can be one of the following : + * - PJ_SUCCESS: a command was executed successfully. + * - PJ_EINVAL: invalid parameter to this function. + * - PJ_ENOTFOUND: command is not found. + * - PJ_CLI_EAMBIGUOUS: command/argument is ambiguous. + * - PJ_CLI_EMISSINGARG: missing argument. + * - PJ_CLI_EINVARG: invalid command argument. + * - PJ_CLI_EEXIT: "exit" has been called to end + * the current session. This is a signal for the + * application to end it's main loop. + */ +PJ_DECL(pj_status_t) pj_cli_sess_parse(pj_cli_sess *sess, + char *cmdline, + pj_cli_cmd_val *val, + pj_pool_t *pool, + pj_cli_exec_info *info); + +/** + * End the specified session, and destroy it to release all resources used + * by the session. + * + * See also pj_cli_sess and pj_cli_front_end for more info regarding the + * creation process. + * See also pj_cli_quit() to quit the whole application instead. + * + * @param sess The CLI session to be destroyed. + */ +PJ_DECL(void) pj_cli_sess_end_session(pj_cli_sess *sess); + +/** + * Execute a command line. This function will parse the input string to find + * the appropriate command and verify whether the string matches the command + * specifications. If matches, the command will be executed, and the return + * value of the command will be set in the \a cmd_ret field of the \a info + * argument, if specified. + * + * See also pj_cli_sess_parse() for more info regarding the cmdline format. + * + * @param sess The CLI session. + * @param cmdline The command line string to be executed. + * @param pool The pool to allocate memory from. + * @param info Optional pointer to receive additional information + * related to the execution of the command (such as + * the command return value). + * + * @return This function returns the status of the command + * parsing and execution (note that the return value + * of the handler itself will be returned in \a info + * argument, if specified). Please see the return value + * of pj_cli_sess_parse() for possible return values. + */ +PJ_DECL(pj_status_t) pj_cli_sess_exec(pj_cli_sess *sess, + char *cmdline, + pj_pool_t *pool, + pj_cli_exec_info *info); + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_CLI_H__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli_console.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli_console.h new file mode 100644 index 0000000000000000000000000000000000000000..5b68ead83e25bec30d7419ddeff428447f200fd8 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli_console.h @@ -0,0 +1,117 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CLI_CONSOLE_H__ +#define __PJLIB_UTIL_CLI_CONSOLE_H__ + +/** + * @file cli_console.h + * @brief Command Line Interface Console Front End API + */ + +#include <pjlib-util/cli_imp.h> + + +PJ_BEGIN_DECL + +/** + * @ingroup PJLIB_UTIL_CLI_IMP + * @{ + * + */ + + +/** + * This structure contains various options for CLI console front-end. + * Application must call pj_cli_console_cfg_default() to initialize + * this structure with its default values. + */ +typedef struct pj_cli_console_cfg +{ + /** + * Default log verbosity level for the session. + * + * Default value: PJ_CLI_CONSOLE_LOG_LEVEL + */ + int log_level; + + /** + * Specify text message as a prompt string to user. + * + * Default: empty + */ + pj_str_t prompt_str; + + /** + * Specify the command to quit the application. + * + * Default: empty + */ + pj_str_t quit_command; + +} pj_cli_console_cfg; + + +/** + * Initialize pj_cli_console_cfg with its default values. + * + * @param param The structure to be initialized. + */ +PJ_DECL(void) pj_cli_console_cfg_default(pj_cli_console_cfg *param); + + +/** + * Create a console front-end for the specified CLI application, and return + * the only session instance for the console front end. On Windows operating + * system, this may open a new console window. + * + * @param cli The CLI application instance. + * @param param Optional console CLI parameters. If this value is + * NULL, default parameters will be used. + * @param p_sess Pointer to receive the session instance for the + * console front end. + * @param p_fe Optional pointer to receive the front-end instance + * of the console front-end just created. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_cli_console_create(pj_cli_t *cli, + const pj_cli_console_cfg *param, + pj_cli_sess **p_sess, + pj_cli_front_end **p_fe); + +/** + * Retrieve a cmdline from console stdin and process the input accordingly. + * + * @param sess The CLI session. + * @param buf Pointer to receive the buffer. + * @param maxlen Maximum length to read. + * + * @return PJ_SUCCESS if an input was read + */ +PJ_DECL(pj_status_t) pj_cli_console_process(pj_cli_sess *sess, + char *buf, + unsigned maxlen); + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_CLI_CONSOLE_H__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli_imp.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli_imp.h new file mode 100644 index 0000000000000000000000000000000000000000..bb1324e8f82125689b328ac33f51ffa4b67dc3fa --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli_imp.h @@ -0,0 +1,208 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CLI_IMP_H__ +#define __PJLIB_UTIL_CLI_IMP_H__ + +/** + * @file cli_imp.h + * @brief Command Line Interface Implementor's API + */ + +#include <pjlib-util/cli.h> + + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_CLI_IMP Command Line Interface Implementor's API + * @ingroup PJLIB_UTIL_CLI + * @{ + * + */ + +/** + * Default log level for console sessions. + */ +#ifndef PJ_CLI_CONSOLE_LOG_LEVEL +# define PJ_CLI_CONSOLE_LOG_LEVEL PJ_LOG_MAX_LEVEL +#endif + +/** + * Default log level for telnet sessions. + */ +#ifndef PJ_CLI_TELNET_LOG_LEVEL +# define PJ_CLI_TELNET_LOG_LEVEL 4 +#endif + +/** + * Default port number for telnet daemon. + */ +#ifndef PJ_CLI_TELNET_PORT +# define PJ_CLI_TELNET_PORT 0 +#endif + +/** + * This enumeration specifies front end types. + */ +typedef enum pj_cli_front_end_type +{ + PJ_CLI_CONSOLE_FRONT_END, /**< Console front end. */ + PJ_CLI_TELNET_FRONT_END, /**< Telnet front end. */ + PJ_CLI_HTTP_FRONT_END, /**< HTTP front end. */ + PJ_CLI_GUI_FRONT_END /**< GUI front end. */ +} pj_cli_front_end_type; + + +/** + * Front end operations. Only the CLI should call these functions + * directly. + */ +typedef struct pj_cli_front_end_op +{ + /** + * Callback to write a log message to the appropriate sessions belonging + * to this front end. The front end would only send the log message to + * the session if the session's log verbosity level is greater than the + * level of this log message. + * + * @param fe The front end. + * @param level Verbosity level of this message message. + * @param data The message itself. + * @param len Length of this message. + */ + void (*on_write_log)(pj_cli_front_end *fe, int level, + const char *data, pj_size_t len); + + /** + * Callback to be called when the application is quitting, to signal the + * front-end to end its main loop or any currently blocking functions, + * if any. + * + * @param fe The front end. + * @param req The session which requested the application quit. + */ + void (*on_quit)(pj_cli_front_end *fe, pj_cli_sess *req); + + /** + * Callback to be called to close and self destroy the front-end. This + * must also close any active sessions created by this front-ends. + * + * @param fe The front end. + */ + void (*on_destroy)(pj_cli_front_end *fe); + +} pj_cli_front_end_op; + + +/** + * This structure describes common properties of CLI front-ends. A front- + * end is a mean to interact with end user, for example the CLI application + * may interact with console, telnet, web, or even a GUI. + * + * Each end user's interaction will create an instance of pj_cli_sess. + * + * Application instantiates the front end by calling the appropriate + * function to instantiate them. + */ +struct pj_cli_front_end +{ + /** + * Linked list members + */ + PJ_DECL_LIST_MEMBER(struct pj_cli_front_end); + + /** + * Front end type. + */ + pj_cli_front_end_type type; + + /** + * The CLI application. + */ + pj_cli_t *cli; + + /** + * Front end operations. + */ + pj_cli_front_end_op *op; +}; + + +/** + * Session operations. + */ +typedef struct pj_cli_sess_op +{ + /** + * Callback to be called to close and self destroy the session. + * + * @param sess The session to destroy. + */ + void (*destroy)(pj_cli_sess *sess); + +} pj_cli_sess_op; + + +/** + * This structure describes common properties of a CLI session. A CLI session + * is the interaction of an end user to the CLI application via a specific + * renderer, where the renderer can be console, telnet, web, or a GUI app for + * mobile. A session is created by its renderer, and it's creation procedures + * vary among renderer (for example, a telnet session is created when the + * end user connects to the application, while a console session is always + * instantiated once the program is run). + */ +struct pj_cli_sess +{ + /** + * Linked list members + */ + PJ_DECL_LIST_MEMBER(struct pj_cli_sess); + + /** + * Pointer to the front-end instance which created this session. + */ + pj_cli_front_end *fe; + + /** + * Session operations. + */ + pj_cli_sess_op *op; + + /** + * Text containing session info, which is filled by the renderer when + * the session is created. + */ + pj_str_t info; + + /** + * Log verbosity of this session. + */ + int log_level; + +}; + +/** + * @} + */ + + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_CLI_IMP_H__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli_telnet.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli_telnet.h new file mode 100644 index 0000000000000000000000000000000000000000..fff208951f263c0a40e19d4c55cdcfcd3714532d --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/cli_telnet.h @@ -0,0 +1,166 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CLI_TELNET_H__ +#define __PJLIB_UTIL_CLI_TELNET_H__ + +/** + * @file cli_telnet.h + * @brief Command Line Interface Telnet Front End API + */ + +#include <pjlib-util/cli_imp.h> + +PJ_BEGIN_DECL + +/** + * @ingroup PJLIB_UTIL_CLI_IMP + * @{ + * + */ + + /** + * This structure contains the information about the telnet. + * Application will get updated information each time the telnet is started/ + * restarted. + */ +typedef struct pj_cli_telnet_info +{ + /** + * The telnet's ip address. + */ + pj_str_t ip_address; + + /** + * The telnet's port number. + */ + pj_uint16_t port; + + /* Internal buffer for IP address */ + char buf_[32]; + +} pj_cli_telnet_info; + +/** + * This specifies the callback called when telnet is started + * + * @param status The status of telnet startup process. + * + */ +typedef void (*pj_cli_telnet_on_started)(pj_status_t status); + +/** + * This structure contains various options to instantiate the telnet daemon. + * Application must call pj_cli_telnet_cfg_default() to initialize + * this structure with its default values. + */ +typedef struct pj_cli_telnet_cfg +{ + /** + * Listening port number. The value may be 0 to let the system choose + * the first available port. + * + * Default value: PJ_CLI_TELNET_PORT + */ + pj_uint16_t port; + + /** + * Ioqueue instance to be used. If this field is NULL, an internal + * ioqueue and worker thread will be created. + */ + pj_ioqueue_t *ioqueue; + + /** + * Default log verbosity level for the session. + * + * Default value: PJ_CLI_TELNET_LOG_LEVEL + */ + int log_level; + + /** + * Specify a password to be asked to the end user to access the + * application. + * + * Default: empty (no password) + */ + pj_str_t passwd; + + /** + * Specify text message to be displayed to newly connected users. + * + * Default: empty + */ + pj_str_t welcome_msg; + + /** + * Specify text message as a prompt string to user. + * + * Default: empty + */ + pj_str_t prompt_str; + + /** + * Specify the pj_cli_telnet_on_started callback. + * + * Default: empty + */ + pj_cli_telnet_on_started on_started; + +} pj_cli_telnet_cfg; + +/** + * Initialize pj_cli_telnet_cfg with its default values. + * + * @param param The structure to be initialized. + */ +PJ_DECL(void) pj_cli_telnet_cfg_default(pj_cli_telnet_cfg *param); + + +/** + * Create, initialize, and start a telnet daemon for the application. + * + * @param cli The CLI application instance. + * @param param Optional parameters for creating the telnet daemon. + * If this value is NULL, default parameters will be used. + * @param p_fe Optional pointer to receive the front-end instance + * of the telnet front-end just created. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_cli_telnet_create(pj_cli_t *cli, + pj_cli_telnet_cfg *param, + pj_cli_front_end **p_fe); + + +/** + * Retrieve cli telnet info. + * + * @param telnet_info The telnet runtime information. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pj_cli_telnet_get_info(pj_cli_front_end *fe, + pj_cli_telnet_info *info); + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_CLI_TELNET_H__ */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/config.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/config.h similarity index 79% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/config.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/config.h index da0bb46640bae2384e4a0a01b5f89b86e68aa540..74a27252a2ad68fec77da5e0529e71cf345d4c70 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/config.h +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/config.h @@ -1,4 +1,4 @@ -/* $Id: config.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: config.h 4589 2013-09-05 03:50:22Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -266,6 +266,106 @@ # define PJ_HTTP_DEFAULT_TIMEOUT (60000) #endif +/* ************************************************************************** + * CLI configuration + */ + +/** + * Initial pool size for CLI. + * Default: 1024 bytes + */ +#ifndef PJ_CLI_POOL_SIZE +# define PJ_CLI_POOL_SIZE 1024 +#endif + +/** + * Pool increment size for CLI. + * Default: 512 bytes + */ +#ifndef PJ_CLI_POOL_INC +# define PJ_CLI_POOL_INC 512 +#endif + +/** + * Maximum length of command buffer. + * Default: 512 + */ +#ifndef PJ_CLI_MAX_CMDBUF +# define PJ_CLI_MAX_CMDBUF 512 +#endif + +/** + * Maximum command arguments. + * Default: 8 + */ +#ifndef PJ_CLI_MAX_ARGS +# define PJ_CLI_MAX_ARGS 8 +#endif + +/** + * Maximum number of hints. + * Default: 32 + */ +#ifndef PJ_CLI_MAX_HINTS +# define PJ_CLI_MAX_HINTS 32 +#endif + +/** + * Maximum short name version (shortcuts) for a command. + * Default: 4 + */ +#ifndef PJ_CLI_MAX_SHORTCUTS +# define PJ_CLI_MAX_SHORTCUTS 4 +#endif + +/** + * Initial pool size for console CLI. + * Default: 256 bytes + */ +#ifndef PJ_CLI_CONSOLE_POOL_SIZE +# define PJ_CLI_CONSOLE_POOL_SIZE 256 +#endif + +/** + * Pool increment size for console CLI. + * Default: 256 bytes + */ +#ifndef PJ_CLI_CONSOLE_POOL_INC +# define PJ_CLI_CONSOLE_POOL_INC 256 +#endif + +/** + * Initial pool size for telnet CLI. + * Default: 1024 bytes + */ +#ifndef PJ_CLI_TELNET_POOL_SIZE +# define PJ_CLI_TELNET_POOL_SIZE 1024 +#endif + +/** + * Pool increment size for telnet CLI. + * Default: 512 bytes + */ +#ifndef PJ_CLI_TELNET_POOL_INC +# define PJ_CLI_TELNET_POOL_INC 512 +#endif + +/** + * Maximum number of argument values of choice type. + * Default: 16 + */ +#ifndef PJ_CLI_MAX_CHOICE_VAL +# define PJ_CLI_MAX_CHOICE_VAL 16 +#endif + +/** + * Maximum number of command history. + * Default: 16 + */ +#ifndef PJ_CLI_MAX_CMD_HISTORY +# define PJ_CLI_MAX_CMD_HISTORY 16 +#endif + /** * @} */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/crc32.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/crc32.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/crc32.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/crc32.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/dns.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/dns.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/dns.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/dns.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/dns_server.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/dns_server.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/dns_server.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/dns_server.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/errno.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/errno.h similarity index 85% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/errno.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/errno.h index 5f93bc8d267d8f6cd4cc0750c8d4e53ef18776d2..4ab045897f701fb4a7e4f179094654748c876360 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/errno.h +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/errno.h @@ -1,4 +1,4 @@ -/* $Id: errno.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: errno.h 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -117,6 +117,15 @@ #define PJLIB_UTIL_EINXML (PJLIB_UTIL_ERRNO_START+20) /* 320020 */ +/************************************************************ + * JSON ERROR + ***********************************************************/ +/** + * @hideinitializer + * General invalid JSON message. + */ +#define PJLIB_UTIL_EINJSON (PJLIB_UTIL_ERRNO_START+30) /* 320030 */ + /************************************************************ * DNS ERROR @@ -386,6 +395,60 @@ */ #define PJLIB_UTIL_EHTTPLOST (PJLIB_UTIL_ERRNO_START+155)/* 320155 */ +/************************************************************ + * CLI ERROR + ***********************************************************/ + +/** + * @hideinitializer + * End the current session. This is a special error code returned by + * pj_cli_sess_exec() to indicate that "exit" or equivalent command has been + * called to end the current session. + */ +#define PJ_CLI_EEXIT (PJLIB_UTIL_ERRNO_START+201)/* 320201 */ +/** + * @hideinitializer + * A required CLI argument is not specified. + */ +#define PJ_CLI_EMISSINGARG (PJLIB_UTIL_ERRNO_START+202)/* 320202 */ + /** + * @hideinitializer + * Too many CLI arguments. + */ +#define PJ_CLI_ETOOMANYARGS (PJLIB_UTIL_ERRNO_START+203)/* 320203 */ +/** + * @hideinitializer + * Invalid CLI argument. Typically this is caused by extra characters + * specified in the command line which does not match any arguments. + */ +#define PJ_CLI_EINVARG (PJLIB_UTIL_ERRNO_START+204)/* 320204 */ +/** + * @hideinitializer + * CLI command with the specified name already exist. + */ +#define PJ_CLI_EBADNAME (PJLIB_UTIL_ERRNO_START+205)/* 320205 */ +/** + * @hideinitializer + * CLI command with the specified id already exist. + */ +#define PJ_CLI_EBADID (PJLIB_UTIL_ERRNO_START+206)/* 320206 */ +/** + * @hideinitializer + * Invalid XML format for CLI command specification. + */ +#define PJ_CLI_EBADXML (PJLIB_UTIL_ERRNO_START+207)/* 320207 */ +/** + * @hideinitializer + * CLI command entered by user match with more than one command/argument + * specification. + */ +#define PJ_CLI_EAMBIGUOUS (PJLIB_UTIL_ERRNO_START+208)/* 320208 */ +/** + * @hideinitializer + * Telnet connection lost. + */ +#define PJ_CLI_ETELNETLOST (PJLIB_UTIL_ERRNO_START+211)/* 320211 */ + /** * @} */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/getopt.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/getopt.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/getopt.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/getopt.h index 3463b5cf7e4d6e0a8235be5a7585078b939f66e9..ec2755f2df8d3e8b1b10e55e042d9c57ef0966ae 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/getopt.h +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/getopt.h @@ -1,5 +1,4 @@ -/* $Id: getopt.h 2037 2008-06-20 21:39:02Z bennylp $ */ -/* This file has now become GPL. */ +/* $Id: getopt.h 4578 2013-08-02 02:31:44Z ming $ */ /* Declarations for pj_getopt. Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/hmac_md5.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/hmac_md5.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/hmac_md5.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/hmac_md5.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/hmac_sha1.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/hmac_sha1.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/hmac_sha1.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/hmac_sha1.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/http_client.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/http_client.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/http_client.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/http_client.h diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/json.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/json.h new file mode 100644 index 0000000000000000000000000000000000000000..7232f46c2f3eb2483643658d0586583d319bc3a4 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/json.h @@ -0,0 +1,228 @@ +/* $Id: json.h 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_JSON_H__ +#define __PJLIB_UTIL_JSON_H__ + + +/** + * @file json.h + * @brief PJLIB JSON Implementation + */ + +#include <pj/types.h> +#include <pj/list.h> +#include <pj/pool.h> + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_JSON JSON Writer and Loader + * @ingroup PJ_FILE_FMT + * @{ + * This API implements JSON file format according to RFC 4627. It can be used + * to parse, write, and manipulate JSON documents. + */ + +/** + * Type of JSON value. + */ +typedef enum pj_json_val_type +{ + PJ_JSON_VAL_NULL, /**< Null value (null) */ + PJ_JSON_VAL_BOOL, /**< Boolean value (true, false) */ + PJ_JSON_VAL_NUMBER, /**< Numeric (float or fixed point) */ + PJ_JSON_VAL_STRING, /**< Literal string value. */ + PJ_JSON_VAL_ARRAY, /**< Array */ + PJ_JSON_VAL_OBJ /**< Object. */ +} pj_json_val_type; + +/* Forward declaration for JSON element */ +typedef struct pj_json_elem pj_json_elem; + +/** + * JSON list to store child elements. + */ +typedef struct pj_json_list +{ + PJ_DECL_LIST_MEMBER(pj_json_elem); +} pj_json_list; + +/** + * This represents JSON element. A JSON element is basically a name/value + * pair, where the name is a string and the value can be one of null, boolean + * (true and false constants), number, string, array (containing zero or more + * elements), or object. An object can be viewed as C struct, that is a + * compound element containing other elements, each having name/value pair. + */ +struct pj_json_elem +{ + PJ_DECL_LIST_MEMBER(pj_json_elem); + pj_str_t name; /**< ELement name. */ + pj_json_val_type type; /**< Element type. */ + union + { + pj_bool_t is_true; /**< Boolean value. */ + float num; /**< Number value. */ + pj_str_t str; /**< String value. */ + pj_json_list children; /**< Object and array children */ + } value; /**< Element value. */ +}; + +/** + * Structure to be specified to pj_json_parse() to be filled with additional + * info when parsing failed. + */ +typedef struct pj_json_err_info +{ + unsigned line; /**< Line location of the error */ + unsigned col; /**< Column location of the error */ + int err_char; /**< The offending character. */ +} pj_json_err_info; + +/** + * Type of function callback to write JSON document in pj_json_writef(). + * + * @param s The string to be written to the document. + * @param size The length of the string + * @param user_data User data that was specified to pj_json_writef() + * + * @return If the callback returns non-PJ_SUCCESS, it will + * stop the pj_json_writef() function and this error + * will be returned to caller. + */ +typedef pj_status_t (*pj_json_writer)(const char *s, + unsigned size, + void *user_data); + +/** + * Initialize null element. + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + */ +PJ_DECL(void) pj_json_elem_null(pj_json_elem *el, pj_str_t *name); + +/** + * Initialize boolean element with the specified value. + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + * @param val The value. + */ +PJ_DECL(void) pj_json_elem_bool(pj_json_elem *el, pj_str_t *name, + pj_bool_t val); + +/** + * Initialize number element with the specified value. + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + * @param val The value. + */ +PJ_DECL(void) pj_json_elem_number(pj_json_elem *el, pj_str_t *name, + float val); + +/** + * Initialize string element with the specified value. + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + * @param val The value. + */ +PJ_DECL(void) pj_json_elem_string(pj_json_elem *el, pj_str_t *name, + pj_str_t *val); + +/** + * Initialize element as an empty array + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + */ +PJ_DECL(void) pj_json_elem_array(pj_json_elem *el, pj_str_t *name); + +/** + * Initialize element as an empty object + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + */ +PJ_DECL(void) pj_json_elem_obj(pj_json_elem *el, pj_str_t *name); + +/** + * Add an element to an object or array. + * + * @param el The object or array element. + * @param child Element to be added to the object or array. + */ +PJ_DECL(void) pj_json_elem_add(pj_json_elem *el, pj_json_elem *child); + +/** + * Parse a JSON document in the buffer. The buffer MUST be NULL terminated, + * or if not then it must have enough size to put the NULL character. + * + * @param pool The pool to allocate memory for creating elements. + * @param buffer String buffer containing JSON document. + * @param size Size of the document. + * @param err_info Optional structure to be filled with info when + * parsing failed. + * + * @return The root element from the document. + */ +PJ_DECL(pj_json_elem*) pj_json_parse(pj_pool_t *pool, + char *buffer, + unsigned *size, + pj_json_err_info *err_info); + +/** + * Write the specified element to the string buffer. + * + * @param elem The element to be written. + * @param buffer Output buffer. + * @param size On input, it must be set to the size of the buffer. + * Upon successful return, this will be set to + * the length of the written string. + * + * @return PJ_SUCCESS on success or the appropriate error. + */ +PJ_DECL(pj_status_t) pj_json_write(const pj_json_elem *elem, + char *buffer, unsigned *size); + +/** + * Incrementally write the element to arbitrary medium using the specified + * callback to write the document chunks. + * + * @param elem The element to be written. + * @param writer Callback function which will be called to write + * text chunks. + * @param user_data Arbitrary user data which will be given back when + * calling the callback. + * + * @return PJ_SUCCESS on success or the appropriate error. + */ +PJ_DECL(pj_status_t) pj_json_writef(const pj_json_elem *elem, + pj_json_writer writer, + void *user_data); + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_JSON_H__ */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/md5.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/md5.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/md5.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/md5.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/pcap.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/pcap.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/pcap.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/pcap.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/resolver.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/resolver.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/resolver.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/resolver.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/scanner.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/scanner.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/scanner.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/scanner.h index 7bbeac51f26807d0eed2d27863703bf1588b96bf..f47a8f03d5fd83099c9d80c592fd8136b1b1498e 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/scanner.h +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/scanner.h @@ -1,4 +1,4 @@ -/* $Id: scanner.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: scanner.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -231,7 +231,8 @@ typedef struct pj_scan_state * @param callback Callback to be called when the scanner encounters syntax * error condition. */ -PJ_DECL(void) pj_scan_init( pj_scanner *scanner, char *bufstart, int buflen, +PJ_DECL(void) pj_scan_init( pj_scanner *scanner, char *bufstart, + pj_size_t buflen, unsigned options, pj_syn_err_func_ptr callback ); diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/scanner_cis_uint.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/scanner_cis_uint.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/scanner_cis_uint.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/scanner_cis_uint.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/sha1.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/sha1.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/sha1.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/sha1.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/srv_resolver.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/srv_resolver.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/srv_resolver.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/srv_resolver.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/string.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/string.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/string.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/string.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/stun_simple.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/stun_simple.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/stun_simple.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/stun_simple.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/types.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/types.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/types.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/xml.h b/daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/xml.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/include/pjlib-util/xml.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/include/pjlib-util/xml.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/encryption.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/encryption.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/encryption.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/encryption.c index 706a441c731b49a459fb13ec678b6baf32e154fd..d5d09bef4c677dee5638abe3896b8edf2fb47855 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/encryption.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/encryption.c @@ -1,4 +1,4 @@ -/* $Id: encryption.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: encryption.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -468,7 +468,7 @@ static int crc32_test(void) for (i=0; i<PJ_ARRAY_SIZE(crc32_test_data); ++i) { pj_crc32_context ctx; pj_uint32_t crc0, crc1; - unsigned len; + pj_size_t len; len = pj_ansi_strlen(crc32_test_data[i].input); crc0 = pj_crc32_calc((pj_uint8_t*)crc32_test_data[i].input, len); @@ -591,7 +591,7 @@ static int base64_test(void) if (base64_test_vec[i].flag & ENCODE) { out_len = sizeof(output); rc = pj_base64_encode((pj_uint8_t*)base64_test_vec[i].base256, - strlen(base64_test_vec[i].base256), + (int)strlen(base64_test_vec[i].base256), output, &out_len); if (rc != PJ_SUCCESS) return -90; @@ -712,7 +712,7 @@ int encryption_benchmark() double total_len; input_len = 2048; - total_len = input_len * LOOP; + total_len = (unsigned)input_len * LOOP; pool = pj_pool_create(mem, "enc", input_len+256, 0, NULL); if (!pool) return PJ_ENOMEM; @@ -726,7 +726,7 @@ int encryption_benchmark() /* Dry run */ for (i=0; i<PJ_ARRAY_SIZE(algorithms); ++i) { algorithms[i].init_context(&context); - algorithms[i].update(&context, input, input_len); + algorithms[i].update(&context, input, (unsigned)input_len); algorithms[i].final(&context, digest); } @@ -738,7 +738,7 @@ int encryption_benchmark() pj_get_timestamp(&t1); algorithms[i].init_context(&context); for (j=0; j<LOOP; ++j) { - algorithms[i].update(&context, input, input_len); + algorithms[i].update(&context, input, (unsigned)input_len); } algorithms[i].final(&context, digest); pj_get_timestamp(&t2); diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/http_client.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/http_client.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/http_client.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/http_client.c index 0e2e3f6f7eea98e027e287b9e24d3a96b3f95c7c..8a548218f8bf7fe0340e3a69e617df7e8dc79073 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/http_client.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/http_client.c @@ -1,4 +1,4 @@ -/* $Id: http_client.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: http_client.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -76,7 +76,7 @@ static int server_thread(void *p) while (!thread_quit) { PJ_FD_ZERO(&rset); PJ_FD_SET(srv->sock, &rset); - rc = pj_sock_select(srv->sock+1, &rset, NULL, NULL, &timeout); + rc = pj_sock_select((int)srv->sock+1, &rset, NULL, NULL, &timeout); if (rc != 1) { continue; } @@ -93,7 +93,7 @@ static int server_thread(void *p) while (!thread_quit) { PJ_FD_ZERO(&rset); PJ_FD_SET(newsock, &rset); - rc = pj_sock_select(newsock+1, &rset, NULL, NULL, &timeout); + rc = pj_sock_select((int)newsock+1, &rset, NULL, NULL, &timeout); if (rc != 1) { PJ_LOG(3,("http test", "client timeout")); continue; @@ -115,7 +115,8 @@ static int server_thread(void *p) if (srv->action == ACTION_IGNORE) { continue; } else if (srv->action == ACTION_REPLY) { - unsigned send_size = 0, ctr = 0; + pj_size_t send_size = 0; + unsigned ctr = 0; pj_ansi_sprintf(pkt, "HTTP/1.0 200 OK\r\n"); if (srv->send_content_length) { pj_ansi_sprintf(pkt + pj_ansi_strlen(pkt), diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/json_test.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/json_test.c new file mode 100644 index 0000000000000000000000000000000000000000..1b802354a9717b645cd90d983fc58c8edfe22a83 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/json_test.c @@ -0,0 +1,106 @@ +/* $Id: json_test.c 4761 2014-02-24 09:02:44Z nanang $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +#define THIS_FILE "json_test.c" + +#if INCLUDE_JSON_TEST + +#include <pjlib-util/json.h> +#include <pj/log.h> +#include <pj/string.h> + +static char json_doc1[] = +"{\ + \"Object\": {\ + \"Integer\": 800,\ + \"Negative\": -12,\ + \"Float\": -7.2,\ + \"String\": \"A\\tString with tab\",\ + \"Object2\": {\ + \"True\": true,\ + \"False\": false,\ + \"Null\": null\ + },\ + \"Array1\": [116, false, \"string\", {}],\ + \"Array2\": [\ + {\ + \"Float\": 123.,\ + },\ + {\ + \"Float\": 123.,\ + }\ + ]\ + },\ + \"Integer\": 800,\ + \"Array1\": [116, false, \"string\"]\ +}\ +"; + +static int json_verify_1() +{ + pj_pool_t *pool; + pj_json_elem *elem; + char *out_buf; + unsigned size; + pj_json_err_info err; + + pool = pj_pool_create(mem, "json", 1000, 1000, NULL); + + size = (unsigned)strlen(json_doc1); + elem = pj_json_parse(pool, json_doc1, &size, &err); + if (!elem) { + PJ_LOG(1, (THIS_FILE, " Error: json_verify_1() parse error")); + goto on_error; + } + + size = (unsigned)strlen(json_doc1) * 2; + out_buf = pj_pool_alloc(pool, size); + + if (pj_json_write(elem, out_buf, &size)) { + PJ_LOG(1, (THIS_FILE, " Error: json_verify_1() write error")); + goto on_error; + } + + PJ_LOG(3,(THIS_FILE, "Json document:\n%s", out_buf)); + pj_pool_release(pool); + return 0; + +on_error: + pj_pool_release(pool); + return 10; +} + + +int json_test(void) +{ + int rc; + + rc = json_verify_1(); + if (rc) + return rc; + + return 0; +} + + + +#else +int json_dummy; +#endif diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/main.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/main.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/main.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/main.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/main_rtems.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/main_rtems.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/main_rtems.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/main_rtems.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/main_win32.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/main_win32.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/main_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/main_win32.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/resolver_test.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/resolver_test.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/resolver_test.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/resolver_test.c index f08f8b4ea2d361ec5ed80331c588f06aef16a2cc..fedac1e3477cdc589fe6556bc91dcb969c0261a4 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/resolver_test.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/resolver_test.c @@ -1,4 +1,4 @@ -/* $Id: resolver_test.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: resolver_test.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -111,7 +111,7 @@ static int print_name(pj_uint8_t *pkt, int size, return 2; } else { if (tab->count < MAX_LABEL) { - tab->a[tab->count].pos = (p-pkt); + tab->a[tab->count].pos = (unsigned)(p-pkt); tab->a[tab->count].label.ptr = (char*)(p+1); tab->a[tab->count].label.slen = name->slen; ++tab->count; @@ -136,7 +136,7 @@ static int print_name(pj_uint8_t *pkt, int size, *p = (pj_uint8_t)label.slen; pj_memcpy(p+1, label.ptr, label.slen); - size -= (label.slen+1); + size -= (int)(label.slen+1); p += (label.slen+1); if (endlabel != endname && *endlabel == '.') @@ -149,7 +149,7 @@ static int print_name(pj_uint8_t *pkt, int size, *p++ = '\0'; - return p-pos; + return (int)(p-pos); } static int print_rr(pj_uint8_t *pkt, int size, pj_uint8_t *pos, @@ -232,7 +232,7 @@ static int print_rr(pj_uint8_t *pkt, int size, pj_uint8_t *pos, return -1; } - return p-pos; + return (int)(p-pos); } static int print_packet(const pj_dns_parsed_packet *rec, pj_uint8_t *pkt, @@ -319,7 +319,7 @@ static int print_packet(const pj_dns_parsed_packet *rec, pj_uint8_t *pkt, size -= len; } - return p - pkt; + return (int)(p - pkt); } @@ -339,7 +339,7 @@ static int server_thread(void *p) PJ_FD_ZERO(&rset); PJ_FD_SET(srv->sock, &rset); - rc = pj_sock_select(srv->sock+1, &rset, NULL, NULL, &timeout); + rc = pj_sock_select((int)(srv->sock+1), &rset, NULL, NULL, &timeout); if (rc != 1) continue; @@ -355,7 +355,7 @@ static int server_thread(void *p) PJ_LOG(5,(THIS_FILE, "Server %d processing packet", srv - &g_server[0])); srv->pkt_count++; - rc = pj_dns_parse_packet(pool, pkt, pkt_len, &req); + rc = pj_dns_parse_packet(pool, pkt, (unsigned)pkt_len, &req); if (rc != PJ_SUCCESS) { app_perror("server error parsing packet", rc); continue; diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/stun.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/stun.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/stun.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/stun.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/test.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/test.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/test.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/test.c index feb2c0110d6c8826b9f1cd2b37c59b65aba4c022..223d57d812c623fda6c4e2ac07ff06542306cbbe 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/test.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/test.c @@ -72,6 +72,10 @@ static int test_inner(void) DO_TEST(xml_test()); #endif +#if INCLUDE_JSON_TEST + DO_TEST(json_test()); +#endif + #if INCLUDE_ENCRYPTION_TEST DO_TEST(encryption_test()); DO_TEST(encryption_benchmark()); diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/test.h b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/test.h similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/test.h rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/test.h index 37b1d90909df2aab89434c76f2917e62410cbb47..b0e77c780cc866aa1d2954ab3c1434df71f62076 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/test.h +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/test.h @@ -20,12 +20,14 @@ #include <pj/types.h> #define INCLUDE_XML_TEST 1 +#define INCLUDE_JSON_TEST 1 #define INCLUDE_ENCRYPTION_TEST 1 #define INCLUDE_STUN_TEST 1 #define INCLUDE_RESOLVER_TEST 1 #define INCLUDE_HTTP_CLIENT_TEST 1 extern int xml_test(void); +extern int json_test(void); extern int encryption_test(); extern int encryption_benchmark(); extern int stun_test(); diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/xml.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/xml.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util-test/xml.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util-test/xml.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/base64.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/base64.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/base64.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/base64.c index d92339caf7ee0677b26472c4ab5be604b16f8ab1..5e31a124065c3d3e7d84136363ecee74e9ff9b6d 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/base64.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/base64.c @@ -1,4 +1,4 @@ -/* $Id: base64.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: base64.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -24,7 +24,7 @@ #define INV -1 #define PADDING '=' -const char base64_char[] = { +static const char base64_char[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', @@ -116,7 +116,7 @@ PJ_DEF(pj_status_t) pj_base64_encode(const pj_uint8_t *input, int in_len, po += 4; } - *out_len = po - output; + *out_len = (int)(po - output); return PJ_SUCCESS; } @@ -125,7 +125,7 @@ PJ_DEF(pj_status_t) pj_base64_decode(const pj_str_t *input, pj_uint8_t *out, int *out_len) { const char *buf = input->ptr; - int len = input->slen; + int len = (int)input->slen; int i, j, k; int c[4]; diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/cli.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/cli.c new file mode 100644 index 0000000000000000000000000000000000000000..94d14c515417a5a2e0b5be4356dc38acb03915dd --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/cli.c @@ -0,0 +1,1353 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <pjlib-util/cli_imp.h> +#include <pj/assert.h> +#include <pj/errno.h> +#include <pj/except.h> +#include <pj/hash.h> +#include <pj/os.h> +#include <pj/pool.h> +#include <pj/string.h> +#include <pjlib-util/errno.h> +#include <pjlib-util/scanner.h> +#include <pjlib-util/xml.h> + +#define CMD_HASH_TABLE_SIZE 63 /* Hash table size */ + +#define CLI_CMD_CHANGE_LOG 30000 +#define CLI_CMD_EXIT 30001 + +#define MAX_CMD_HASH_NAME_LENGTH PJ_CLI_MAX_CMDBUF +#define MAX_CMD_ID_LENGTH 16 + +#if 1 + /* Enable some tracing */ + #define THIS_FILE "cli.c" + #define TRACE_(arg) PJ_LOG(3,arg) +#else + #define TRACE_(arg) +#endif + +/** + * This structure describes the full specification of a CLI command. A CLI + * command mainly consists of the name of the command, zero or more arguments, + * and a callback function to be called to execute the command. + * + * Application can create this specification by forming an XML document and + * calling pj_cli_add_cmd_from_xml() to instantiate the spec. A sample XML + * document containing a command spec is as follows: + * + \verbatim + <CMD name='makecall' id='101' sc='m,mc' desc='Make outgoing call'> + <ARGS> + <ARG name='target' type='text' desc='The destination'/> + </ARGS> + </CMD> + \endverbatim + */ +struct pj_cli_cmd_spec +{ + /** + * To make list of child cmds. + */ + PJ_DECL_LIST_MEMBER(struct pj_cli_cmd_spec); + + /** + * Command ID assigned to this command by the application during command + * creation. If this value is PJ_CLI_CMD_ID_GROUP (-2), then this is + * a command group and it can't be executed. + */ + pj_cli_cmd_id id; + + /** + * The command name. + */ + pj_str_t name; + + /** + * The full description of the command. + */ + pj_str_t desc; + + /** + * Number of optional shortcuts + */ + unsigned sc_cnt; + + /** + * Optional array of shortcuts, if any. Shortcut is a short name version + * of the command. If the command doesn't have any shortcuts, this + * will be initialized to NULL. + */ + pj_str_t *sc; + + /** + * The command handler, to be executed when a command matching this command + * specification is invoked by the end user. The value may be NULL if this + * is a command group. + */ + pj_cli_cmd_handler handler; + + /** + * Number of arguments. + */ + unsigned arg_cnt; + + /** + * Array of arguments. + */ + pj_cli_arg_spec *arg; + + /** + * Child commands, if any. A command will only have subcommands if it is + * a group. If the command doesn't have subcommands, this field will be + * initialized with NULL. + */ + pj_cli_cmd_spec *sub_cmd; +}; + +struct pj_cli_t +{ + pj_pool_t *pool; /* Pool to allocate memory from */ + pj_cli_cfg cfg; /* CLI configuration */ + pj_cli_cmd_spec root; /* Root of command tree structure */ + pj_cli_front_end fe_head; /* List of front-ends */ + pj_hash_table_t *cmd_name_hash; /* Command name hash table, this will + include the command name and shortcut + as hash key */ + pj_hash_table_t *cmd_id_hash; /* Command id hash table */ + + pj_bool_t is_quitting; + pj_bool_t is_restarting; +}; + +/** + * Reserved command id constants. + */ +typedef enum pj_cli_std_cmd_id +{ + /** + * Constant to indicate an invalid command id. + */ + PJ_CLI_INVALID_CMD_ID = -1, + + /** + * A special command id to indicate that a command id denotes + * a command group. + */ + PJ_CLI_CMD_ID_GROUP = -2 + +} pj_cli_std_cmd_id; + +/** + * This describes the type of an argument (pj_cli_arg_spec). + */ +typedef enum pj_cli_arg_type +{ + /** + * Unformatted string. + */ + PJ_CLI_ARG_TEXT, + + /** + * An integral number. + */ + PJ_CLI_ARG_INT, + + /** + * Choice type + */ + PJ_CLI_ARG_CHOICE + +} pj_cli_arg_type; + +struct arg_type +{ + const pj_str_t msg; +} arg_type[3] = +{ + {{"Text", 4}}, + {{"Int", 3}}, + {{"Choice", 6}} +}; + +/** + * This structure describe the specification of a command argument. + */ +struct pj_cli_arg_spec +{ + /** + * Argument id + */ + pj_cli_arg_id id; + + /** + * Argument name. + */ + pj_str_t name; + + /** + * Helpful description of the argument. This text will be used when + * displaying help texts for the command/argument. + */ + pj_str_t desc; + + /** + * Argument type, which will be used for rendering the argument and + * to perform basic validation against an input value. + */ + pj_cli_arg_type type; + + /** + * Argument status + */ + pj_bool_t optional; + + /** + * Validate choice values + */ + pj_bool_t validate; + + /** + * Static Choice Values count + */ + unsigned stat_choice_cnt; + + /** + * Static Choice Values + */ + pj_cli_arg_choice_val *stat_choice_val; + + /** + * Argument callback to get the valid values + */ + pj_cli_get_dyn_choice get_dyn_choice; + +}; + +/** + * This describe the parse mode of the command line + */ +typedef enum pj_cli_parse_mode { + PARSE_NONE, + PARSE_COMPLETION, /* Complete the command line */ + PARSE_NEXT_AVAIL, /* Find the next available command line */ + PARSE_EXEC /* Exec the command line */ +} pj_cli_parse_mode; + +/** + * This is used to get the matched command/argument from the + * command/argument structure. + * + * @param sess The session on which the command is execute on. + * @param cmd The active command. + * @param cmd_val The command value to match. + * @param argc The number of argument that the + * current active command have. + * @param pool The memory pool to allocate memory. + * @param get_cmd Set true to search matching command from sub command. + * @param parse_mode The parse mode. + * @param p_cmd The command that mathes the command value. + * @param info The output information containing any hints for + * matching command/arg. + * @return This function return the status of the + * matching process.Please see the return value + * of pj_cli_sess_parse() for possible return values. + */ +static pj_status_t get_available_cmds(pj_cli_sess *sess, + pj_cli_cmd_spec *cmd, + pj_str_t *cmd_val, + unsigned argc, + pj_pool_t *pool, + pj_bool_t get_cmd, + pj_cli_parse_mode parse_mode, + pj_cli_cmd_spec **p_cmd, + pj_cli_exec_info *info); + +PJ_DEF(pj_cli_cmd_id) pj_cli_get_cmd_id(const pj_cli_cmd_spec *cmd) +{ + return cmd->id; +} + +PJ_DEF(void) pj_cli_cfg_default(pj_cli_cfg *param) +{ + pj_assert(param); + pj_bzero(param, sizeof(*param)); + pj_strset2(¶m->name, ""); +} + +PJ_DEF(void) pj_cli_exec_info_default(pj_cli_exec_info *param) +{ + pj_assert(param); + pj_bzero(param, sizeof(*param)); + param->err_pos = -1; + param->cmd_id = PJ_CLI_INVALID_CMD_ID; + param->cmd_ret = PJ_SUCCESS; +} + +PJ_DEF(void) pj_cli_write_log(pj_cli_t *cli, + int level, + const char *buffer, + int len) +{ + struct pj_cli_front_end *fe; + + pj_assert(cli); + + fe = cli->fe_head.next; + while (fe != &cli->fe_head) { + if (fe->op && fe->op->on_write_log) + (*fe->op->on_write_log)(fe, level, buffer, len); + fe = fe->next; + } +} + +PJ_DEF(void) pj_cli_sess_write_msg(pj_cli_sess *sess, + const char *buffer, + pj_size_t len) +{ + struct pj_cli_front_end *fe; + + pj_assert(sess); + + fe = sess->fe; + if (fe->op && fe->op->on_write_log) + (*fe->op->on_write_log)(fe, 0, buffer, len); +} + +/* Command handler */ +static pj_status_t cmd_handler(pj_cli_cmd_val *cval) +{ + unsigned level; + + switch(cval->cmd->id) { + case CLI_CMD_CHANGE_LOG: + level = pj_strtoul(&cval->argv[1]); + if (!level && cval->argv[1].slen > 0 && (cval->argv[1].ptr[0] < '0' || + cval->argv[1].ptr[0] > '9')) + { + return PJ_CLI_EINVARG; + } + cval->sess->log_level = level; + return PJ_SUCCESS; + case CLI_CMD_EXIT: + pj_cli_sess_end_session(cval->sess); + return PJ_CLI_EEXIT; + default: + return PJ_SUCCESS; + } +} + +PJ_DEF(pj_status_t) pj_cli_create(pj_cli_cfg *cfg, + pj_cli_t **p_cli) +{ + pj_pool_t *pool; + pj_cli_t *cli; + unsigned i; + + /* This is an example of the command structure */ + char* cmd_xmls[] = { + "<CMD name='log' id='30000' sc='' desc='Change log level'>" + " <ARG name='level' type='int' optional='0' desc='Log level'/>" + "</CMD>", + "<CMD name='exit' id='30001' sc='' desc='Exit session'>" + "</CMD>", + }; + + PJ_ASSERT_RETURN(cfg && cfg->pf && p_cli, PJ_EINVAL); + + pool = pj_pool_create(cfg->pf, "cli", PJ_CLI_POOL_SIZE, + PJ_CLI_POOL_INC, NULL); + if (!pool) + return PJ_ENOMEM; + cli = PJ_POOL_ZALLOC_T(pool, struct pj_cli_t); + + pj_memcpy(&cli->cfg, cfg, sizeof(*cfg)); + cli->pool = pool; + pj_list_init(&cli->fe_head); + + cli->cmd_name_hash = pj_hash_create(pool, CMD_HASH_TABLE_SIZE); + cli->cmd_id_hash = pj_hash_create(pool, CMD_HASH_TABLE_SIZE); + + cli->root.sub_cmd = PJ_POOL_ZALLOC_T(pool, pj_cli_cmd_spec); + pj_list_init(cli->root.sub_cmd); + + /* Register some standard commands. */ + for (i = 0; i < sizeof(cmd_xmls)/sizeof(cmd_xmls[0]); i++) { + pj_str_t xml = pj_str(cmd_xmls[i]); + + if (pj_cli_add_cmd_from_xml(cli, NULL, &xml, + &cmd_handler, NULL, NULL) != PJ_SUCCESS) + { + TRACE_((THIS_FILE, "Failed to add command #%d", i)); + } + } + + *p_cli = cli; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_cli_cfg*) pj_cli_get_param(pj_cli_t *cli) +{ + PJ_ASSERT_RETURN(cli, NULL); + + return &cli->cfg; +} + +PJ_DEF(void) pj_cli_register_front_end(pj_cli_t *cli, + pj_cli_front_end *fe) +{ + pj_list_push_back(&cli->fe_head, fe); +} + +PJ_DEF(void) pj_cli_quit(pj_cli_t *cli, pj_cli_sess *req, + pj_bool_t restart) +{ + pj_cli_front_end *fe; + + pj_assert(cli); + if (cli->is_quitting) + return; + + cli->is_quitting = PJ_TRUE; + cli->is_restarting = restart; + + fe = cli->fe_head.next; + while (fe != &cli->fe_head) { + if (fe->op && fe->op->on_quit) + (*fe->op->on_quit)(fe, req); + fe = fe->next; + } +} + +PJ_DEF(pj_bool_t) pj_cli_is_quitting(pj_cli_t *cli) +{ + PJ_ASSERT_RETURN(cli, PJ_FALSE); + + return cli->is_quitting; +} + +PJ_DEF(pj_bool_t) pj_cli_is_restarting(pj_cli_t *cli) +{ + PJ_ASSERT_RETURN(cli, PJ_FALSE); + + return cli->is_restarting; +} + +PJ_DEF(void) pj_cli_destroy(pj_cli_t *cli) +{ + pj_cli_front_end *fe; + + if (!cli) + return; + + if (!pj_cli_is_quitting(cli)) + pj_cli_quit(cli, NULL, PJ_FALSE); + + fe = cli->fe_head.next; + while (fe != &cli->fe_head) { + pj_list_erase(fe); + if (fe->op && fe->op->on_destroy) + (*fe->op->on_destroy)(fe); + + fe = cli->fe_head.next; + } + cli->is_quitting = PJ_FALSE; + pj_pool_release(cli->pool); +} + +PJ_DEF(void) pj_cli_sess_end_session(pj_cli_sess *sess) +{ + pj_assert(sess); + + if (sess->op && sess->op->destroy) + (*sess->op->destroy)(sess); +} + +/* Syntax error handler for parser. */ +static void on_syntax_error(pj_scanner *scanner) +{ + PJ_UNUSED_ARG(scanner); + PJ_THROW(PJ_EINVAL); +} + +/* Get the command from the command hash */ +static pj_cli_cmd_spec *get_cmd_name(const pj_cli_t *cli, + const pj_cli_cmd_spec *group, + const pj_str_t *cmd) +{ + pj_str_t cmd_val; + char cmd_ptr[MAX_CMD_HASH_NAME_LENGTH]; + + cmd_val.ptr = cmd_ptr; + cmd_val.slen = 0; + + if (group) { + char cmd_str[MAX_CMD_ID_LENGTH]; + pj_ansi_sprintf(cmd_str, "%d", group->id); + pj_strcat2(&cmd_val, cmd_str); + } + pj_strcat(&cmd_val, cmd); + return (pj_cli_cmd_spec *)pj_hash_get(cli->cmd_name_hash, cmd_val.ptr, + (unsigned)cmd_val.slen, NULL); +} + +/* Add command to the command hash */ +static void add_cmd_name(pj_cli_t *cli, pj_cli_cmd_spec *group, + pj_cli_cmd_spec *cmd, pj_str_t *cmd_name) +{ + pj_str_t cmd_val; + pj_str_t add_cmd; + char cmd_ptr[MAX_CMD_HASH_NAME_LENGTH]; + + cmd_val.ptr = cmd_ptr; + cmd_val.slen = 0; + + if (group) { + char cmd_str[MAX_CMD_ID_LENGTH]; + pj_ansi_sprintf(cmd_str, "%d", group->id); + pj_strcat2(&cmd_val, cmd_str); + } + pj_strcat(&cmd_val, cmd_name); + pj_strdup(cli->pool, &add_cmd, &cmd_val); + + pj_hash_set(cli->pool, cli->cmd_name_hash, cmd_val.ptr, + (unsigned)cmd_val.slen, 0, cmd); +} + +/** + * This method is to parse and add the choice type + * argument values to command structure. + **/ +static pj_status_t add_choice_node(pj_cli_t *cli, + pj_xml_node *xml_node, + pj_cli_arg_spec *arg, + pj_cli_get_dyn_choice get_choice) +{ + pj_xml_node *choice_node; + pj_xml_node *sub_node; + pj_cli_arg_choice_val choice_values[PJ_CLI_MAX_CHOICE_VAL]; + pj_status_t status = PJ_SUCCESS; + + sub_node = xml_node; + arg->type = PJ_CLI_ARG_CHOICE; + arg->get_dyn_choice = get_choice; + + choice_node = sub_node->node_head.next; + while (choice_node != (pj_xml_node*)&sub_node->node_head) { + pj_xml_attr *choice_attr; + unsigned *stat_cnt = &arg->stat_choice_cnt; + pj_cli_arg_choice_val *choice_val = &choice_values[*stat_cnt]; + pj_bzero(choice_val, sizeof(*choice_val)); + + choice_attr = choice_node->attr_head.next; + while (choice_attr != &choice_node->attr_head) { + if (!pj_stricmp2(&choice_attr->name, "value")) { + pj_strassign(&choice_val->value, &choice_attr->value); + } else if (!pj_stricmp2(&choice_attr->name, "desc")) { + pj_strassign(&choice_val->desc, &choice_attr->value); + } + choice_attr = choice_attr->next; + } + if (++(*stat_cnt) >= PJ_CLI_MAX_CHOICE_VAL) + break; + choice_node = choice_node->next; + } + if (arg->stat_choice_cnt > 0) { + unsigned i; + + arg->stat_choice_val = (pj_cli_arg_choice_val *) + pj_pool_zalloc(cli->pool, + arg->stat_choice_cnt * + sizeof(pj_cli_arg_choice_val)); + + for (i = 0; i < arg->stat_choice_cnt; i++) { + pj_strdup(cli->pool, &arg->stat_choice_val[i].value, + &choice_values[i].value); + pj_strdup(cli->pool, &arg->stat_choice_val[i].desc, + &choice_values[i].desc); + } + } + return status; +} + +/** + * This method is to parse and add the argument attribute to command structure. + **/ +static pj_status_t add_arg_node(pj_cli_t *cli, + pj_xml_node *xml_node, + pj_cli_cmd_spec *cmd, + pj_cli_arg_spec *arg, + pj_cli_get_dyn_choice get_choice) +{ + pj_xml_attr *attr; + pj_status_t status = PJ_SUCCESS; + pj_xml_node *sub_node = xml_node; + + if (cmd->arg_cnt >= PJ_CLI_MAX_ARGS) + return PJ_CLI_ETOOMANYARGS; + + pj_bzero(arg, sizeof(*arg)); + attr = sub_node->attr_head.next; + arg->optional = PJ_FALSE; + arg->validate = PJ_TRUE; + while (attr != &sub_node->attr_head) { + if (!pj_stricmp2(&attr->name, "name")) { + pj_strassign(&arg->name, &attr->value); + } else if (!pj_stricmp2(&attr->name, "id")) { + arg->id = pj_strtol(&attr->value); + } else if (!pj_stricmp2(&attr->name, "type")) { + if (!pj_stricmp2(&attr->value, "text")) { + arg->type = PJ_CLI_ARG_TEXT; + } else if (!pj_stricmp2(&attr->value, "int")) { + arg->type = PJ_CLI_ARG_INT; + } else if (!pj_stricmp2(&attr->value, "choice")) { + /* Get choice value */ + add_choice_node(cli, xml_node, arg, get_choice); + } + } else if (!pj_stricmp2(&attr->name, "desc")) { + pj_strassign(&arg->desc, &attr->value); + } else if (!pj_stricmp2(&attr->name, "optional")) { + if (!pj_strcmp2(&attr->value, "1")) { + arg->optional = PJ_TRUE; + } + } else if (!pj_stricmp2(&attr->name, "validate")) { + if (!pj_strcmp2(&attr->value, "1")) { + arg->validate = PJ_TRUE; + } else { + arg->validate = PJ_FALSE; + } + } + attr = attr->next; + } + cmd->arg_cnt++; + return status; +} + +/** + * This method is to parse and add the command attribute to command structure. + **/ +static pj_status_t add_cmd_node(pj_cli_t *cli, + pj_cli_cmd_spec *group, + pj_xml_node *xml_node, + pj_cli_cmd_handler handler, + pj_cli_cmd_spec **p_cmd, + pj_cli_get_dyn_choice get_choice) +{ + pj_xml_node *root = xml_node; + pj_xml_attr *attr; + pj_xml_node *sub_node; + pj_cli_cmd_spec *cmd; + pj_cli_arg_spec args[PJ_CLI_MAX_ARGS]; + pj_str_t sc[PJ_CLI_MAX_SHORTCUTS]; + pj_status_t status = PJ_SUCCESS; + + if (pj_stricmp2(&root->name, "CMD")) + return PJ_EINVAL; + + /* Initialize the command spec */ + cmd = PJ_POOL_ZALLOC_T(cli->pool, struct pj_cli_cmd_spec); + + /* Get the command attributes */ + attr = root->attr_head.next; + while (attr != &root->attr_head) { + if (!pj_stricmp2(&attr->name, "name")) { + pj_strltrim(&attr->value); + if (!attr->value.slen || + (get_cmd_name(cli, group, &attr->value))) + { + return PJ_CLI_EBADNAME; + } + pj_strdup(cli->pool, &cmd->name, &attr->value); + } else if (!pj_stricmp2(&attr->name, "id")) { + pj_bool_t is_valid = PJ_FALSE; + if (attr->value.slen) { + pj_cli_cmd_id cmd_id = pj_strtol(&attr->value); + if (!pj_hash_get(cli->cmd_id_hash, &cmd_id, + sizeof(pj_cli_cmd_id), NULL)) + is_valid = PJ_TRUE; + } + if (!is_valid) + return PJ_CLI_EBADID; + cmd->id = (pj_cli_cmd_id)pj_strtol(&attr->value); + } else if (!pj_stricmp2(&attr->name, "sc")) { + pj_scanner scanner; + pj_str_t str; + + PJ_USE_EXCEPTION; + + pj_scan_init(&scanner, attr->value.ptr, attr->value.slen, + PJ_SCAN_AUTOSKIP_WS, &on_syntax_error); + + PJ_TRY { + while (!pj_scan_is_eof(&scanner)) { + pj_scan_get_until_ch(&scanner, ',', &str); + pj_strrtrim(&str); + if (!pj_scan_is_eof(&scanner)) + pj_scan_advance_n(&scanner, 1, PJ_TRUE); + if (!str.slen) + continue; + + if (cmd->sc_cnt >= PJ_CLI_MAX_SHORTCUTS) { + PJ_THROW(PJ_CLI_ETOOMANYARGS); + } + /* Check whether the shortcuts are already used */ + if (get_cmd_name(cli, &cli->root, &str)) { + PJ_THROW(PJ_CLI_EBADNAME); + } + + pj_strassign(&sc[cmd->sc_cnt++], &str); + } + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return (PJ_GET_EXCEPTION()); + } + PJ_END; + + } else if (!pj_stricmp2(&attr->name, "desc")) { + pj_strdup(cli->pool, &cmd->desc, &attr->value); + } + attr = attr->next; + } + + /* Get the command childs/arguments */ + sub_node = root->node_head.next; + while (sub_node != (pj_xml_node*)&root->node_head) { + if (!pj_stricmp2(&sub_node->name, "CMD")) { + status = add_cmd_node(cli, cmd, sub_node, handler, NULL, + get_choice); + if (status != PJ_SUCCESS) + return status; + } else if (!pj_stricmp2(&sub_node->name, "ARG")) { + /* Get argument attribute */ + status = add_arg_node(cli, sub_node, + cmd, &args[cmd->arg_cnt], + get_choice); + + if (status != PJ_SUCCESS) + return status; + } + sub_node = sub_node->next; + } + + if (!cmd->name.slen) + return PJ_CLI_EBADNAME; + + if (!cmd->id) + return PJ_CLI_EBADID; + + if (cmd->arg_cnt) { + unsigned i; + + cmd->arg = (pj_cli_arg_spec *)pj_pool_zalloc(cli->pool, cmd->arg_cnt * + sizeof(pj_cli_arg_spec)); + + for (i = 0; i < cmd->arg_cnt; i++) { + pj_strdup(cli->pool, &cmd->arg[i].name, &args[i].name); + pj_strdup(cli->pool, &cmd->arg[i].desc, &args[i].desc); + cmd->arg[i].id = args[i].id; + cmd->arg[i].type = args[i].type; + cmd->arg[i].optional = args[i].optional; + cmd->arg[i].validate = args[i].validate; + cmd->arg[i].get_dyn_choice = args[i].get_dyn_choice; + cmd->arg[i].stat_choice_cnt = args[i].stat_choice_cnt; + cmd->arg[i].stat_choice_val = args[i].stat_choice_val; + } + } + + if (cmd->sc_cnt) { + unsigned i; + + cmd->sc = (pj_str_t *)pj_pool_zalloc(cli->pool, cmd->sc_cnt * + sizeof(pj_str_t)); + for (i = 0; i < cmd->sc_cnt; i++) { + pj_strdup(cli->pool, &cmd->sc[i], &sc[i]); + /** Add shortcut to root command **/ + add_cmd_name(cli, &cli->root, cmd, &sc[i]); + } + } + + add_cmd_name(cli, group, cmd, &cmd->name); + pj_hash_set(cli->pool, cli->cmd_id_hash, + &cmd->id, sizeof(pj_cli_cmd_id), 0, cmd); + + cmd->handler = handler; + + if (group) { + if (!group->sub_cmd) { + group->sub_cmd = PJ_POOL_ALLOC_T(cli->pool, struct pj_cli_cmd_spec); + pj_list_init(group->sub_cmd); + } + pj_list_push_back(group->sub_cmd, cmd); + } else { + pj_list_push_back(cli->root.sub_cmd, cmd); + } + + if (p_cmd) + *p_cmd = cmd; + + return status; +} + +PJ_DEF(pj_status_t) pj_cli_add_cmd_from_xml(pj_cli_t *cli, + pj_cli_cmd_spec *group, + const pj_str_t *xml, + pj_cli_cmd_handler handler, + pj_cli_cmd_spec **p_cmd, + pj_cli_get_dyn_choice get_choice) +{ + pj_pool_t *pool; + pj_xml_node *root; + pj_status_t status = PJ_SUCCESS; + + PJ_ASSERT_RETURN(cli && xml, PJ_EINVAL); + + /* Parse the xml */ + pool = pj_pool_create(cli->cfg.pf, "xml", 1024, 1024, NULL); + if (!pool) + return PJ_ENOMEM; + + root = pj_xml_parse(pool, xml->ptr, xml->slen); + if (!root) { + TRACE_((THIS_FILE, "Error: unable to parse XML")); + pj_pool_release(pool); + return PJ_CLI_EBADXML; + } + status = add_cmd_node(cli, group, root, handler, p_cmd, get_choice); + pj_pool_release(pool); + return status; +} + +PJ_DEF(pj_status_t) pj_cli_sess_parse(pj_cli_sess *sess, + char *cmdline, + pj_cli_cmd_val *val, + pj_pool_t *pool, + pj_cli_exec_info *info) +{ + pj_scanner scanner; + pj_str_t str; + pj_size_t len; + pj_cli_cmd_spec *cmd; + pj_cli_cmd_spec *next_cmd; + pj_status_t status = PJ_SUCCESS; + pj_cli_parse_mode parse_mode = PARSE_NONE; + + PJ_USE_EXCEPTION; + + PJ_ASSERT_RETURN(sess && cmdline && val, PJ_EINVAL); + + PJ_UNUSED_ARG(pool); + + str.slen = 0; + pj_cli_exec_info_default(info); + + /* Set the parse mode based on the latest char. */ + len = pj_ansi_strlen(cmdline); + if (len > 0 && ((cmdline[len - 1] == '\r')||(cmdline[len - 1] == '\n'))) { + cmdline[--len] = 0; + parse_mode = PARSE_EXEC; + } else if (len > 0 && + (cmdline[len - 1] == '\t' || cmdline[len - 1] == '?')) + { + cmdline[--len] = 0; + if (len == 0) { + parse_mode = PARSE_NEXT_AVAIL; + } else { + if (cmdline[len - 1] == ' ') + parse_mode = PARSE_NEXT_AVAIL; + else + parse_mode = PARSE_COMPLETION; + } + } + val->argc = 0; + info->err_pos = 0; + cmd = &sess->fe->cli->root; + if (len > 0) { + pj_scan_init(&scanner, cmdline, len, PJ_SCAN_AUTOSKIP_WS, + &on_syntax_error); + PJ_TRY { + val->argc = 0; + while (!pj_scan_is_eof(&scanner)) { + info->err_pos = (int)(scanner.curptr - scanner.begin); + if (*scanner.curptr == '\'' || *scanner.curptr == '"' || + *scanner.curptr == '{') + { + pj_scan_get_quotes(&scanner, "'\"{", "'\"}", 3, &str); + /* Remove the quotes */ + str.ptr++; + str.slen -= 2; + } else { + pj_scan_get_until_chr(&scanner, " \t\r\n", &str); + } + ++val->argc; + if (val->argc == PJ_CLI_MAX_ARGS) + PJ_THROW(PJ_CLI_ETOOMANYARGS); + + status = get_available_cmds(sess, cmd, &str, val->argc-1, + pool, PJ_TRUE, parse_mode, + &next_cmd, info); + + if (status != PJ_SUCCESS) + PJ_THROW(status); + + if (cmd != next_cmd) { + /* Found new command, set it as the active command */ + cmd = next_cmd; + val->argc = 1; + val->cmd = cmd; + } + if (parse_mode == PARSE_EXEC) + pj_strassign(&val->argv[val->argc-1], &info->hint->name); + else + pj_strassign(&val->argv[val->argc-1], &str); + + } + if (!pj_scan_is_eof(&scanner)) + PJ_THROW(PJ_CLI_EINVARG); + + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return PJ_GET_EXCEPTION(); + } + PJ_END; + } + + if ((parse_mode == PARSE_NEXT_AVAIL) || (parse_mode == PARSE_EXEC)) { + /* If exec mode, just get the matching argument */ + status = get_available_cmds(sess, cmd, NULL, val->argc, pool, + (parse_mode==PARSE_NEXT_AVAIL), + parse_mode, + NULL, info); + if ((status != PJ_SUCCESS) && (status != PJ_CLI_EINVARG)) { + pj_str_t data = pj_str(cmdline); + pj_strrtrim(&data); + data.ptr[data.slen] = ' '; + data.ptr[data.slen+1] = 0; + + info->err_pos = (int)pj_ansi_strlen(cmdline); + } + } + + val->sess = sess; + return status; +} + +PJ_DECL(pj_status_t) pj_cli_sess_exec(pj_cli_sess *sess, + char *cmdline, + pj_pool_t *pool, + pj_cli_exec_info *info) +{ + pj_cli_cmd_val val; + pj_status_t status; + pj_cli_exec_info einfo; + pj_str_t cmd; + + PJ_ASSERT_RETURN(sess && cmdline, PJ_EINVAL); + + PJ_UNUSED_ARG(pool); + + cmd.ptr = cmdline; + cmd.slen = pj_ansi_strlen(cmdline); + + if (pj_strtrim(&cmd)->slen == 0) + return PJ_SUCCESS; + + if (!info) + info = &einfo; + + status = pj_cli_sess_parse(sess, cmdline, &val, pool, info); + if (status != PJ_SUCCESS) + return status; + + if ((val.argc > 0) && (val.cmd->handler)) { + info->cmd_ret = (*val.cmd->handler)(&val); + if (info->cmd_ret == PJ_CLI_EINVARG || + info->cmd_ret == PJ_CLI_EEXIT) + { + return info->cmd_ret; + } + } + + return PJ_SUCCESS; +} + +static pj_bool_t hint_inserted(const pj_str_t *name, + const pj_str_t *desc, + const pj_str_t *type, + pj_cli_exec_info *info) +{ + unsigned i; + for(i=0; i<info->hint_cnt; ++i) { + pj_cli_hint_info *hint = &info->hint[i]; + if ((!pj_strncmp(&hint->name, name, hint->name.slen)) && + (!pj_strncmp(&hint->desc, desc, hint->desc.slen)) && + (!pj_strncmp(&hint->type, type, hint->type.slen))) + { + return PJ_TRUE; + } + } + return PJ_FALSE; +} + +/** This will insert new hint with the option to check for the same + previous entry **/ +static pj_status_t insert_new_hint2(pj_pool_t *pool, + pj_bool_t unique_insert, + const pj_str_t *name, + const pj_str_t *desc, + const pj_str_t *type, + pj_cli_exec_info *info) +{ + pj_cli_hint_info *hint; + PJ_ASSERT_RETURN(pool && info, PJ_EINVAL); + PJ_ASSERT_RETURN((info->hint_cnt < PJ_CLI_MAX_HINTS), PJ_EINVAL); + + if ((unique_insert) && (hint_inserted(name, desc, type, info))) + return PJ_SUCCESS; + + hint = &info->hint[info->hint_cnt]; + + pj_strdup(pool, &hint->name, name); + + if (desc && (desc->slen > 0)) { + pj_strdup(pool, &hint->desc, desc); + } else { + hint->desc.slen = 0; + } + + if (type && (type->slen > 0)) { + pj_strdup(pool, &hint->type, type); + } else { + hint->type.slen = 0; + } + + ++info->hint_cnt; + return PJ_SUCCESS; +} + +/** This will insert new hint without checking for the same previous entry **/ +static pj_status_t insert_new_hint(pj_pool_t *pool, + const pj_str_t *name, + const pj_str_t *desc, + const pj_str_t *type, + pj_cli_exec_info *info) +{ + return insert_new_hint2(pool, PJ_FALSE, name, desc, type, info); +} + +/** This will get a complete/exact match of a command from the cmd hash **/ +static pj_status_t get_comp_match_cmds(const pj_cli_t *cli, + const pj_cli_cmd_spec *group, + const pj_str_t *cmd_val, + pj_pool_t *pool, + pj_cli_cmd_spec **p_cmd, + pj_cli_exec_info *info) +{ + pj_cli_cmd_spec *cmd; + PJ_ASSERT_RETURN(cli && group && cmd_val && pool && info, PJ_EINVAL); + + cmd = get_cmd_name(cli, group, cmd_val); + + if (cmd) { + pj_status_t status; + status = insert_new_hint(pool, cmd_val, &cmd->desc, NULL, info); + + if (status != PJ_SUCCESS) + return status; + + *p_cmd = cmd; + } + + return PJ_SUCCESS; +} + +/** This method will search for any shortcut with pattern match to the input + command. This method should be called from root command, as shortcut could + only be executed from root **/ +static pj_status_t get_pattern_match_shortcut(const pj_cli_t *cli, + const pj_str_t *cmd_val, + pj_pool_t *pool, + pj_cli_cmd_spec **p_cmd, + pj_cli_exec_info *info) +{ + pj_hash_iterator_t it_buf, *it; + pj_status_t status; + PJ_ASSERT_RETURN(cli && pool && cmd_val && info, PJ_EINVAL); + + it = pj_hash_first(cli->cmd_name_hash, &it_buf); + while (it) { + unsigned i; + pj_cli_cmd_spec *cmd = (pj_cli_cmd_spec *) + pj_hash_this(cli->cmd_name_hash, it); + + PJ_ASSERT_RETURN(cmd, PJ_EINVAL); + + for (i=0; i < cmd->sc_cnt; ++i) { + static const pj_str_t SHORTCUT = {"SC", 2}; + pj_str_t *sc = &cmd->sc[i]; + PJ_ASSERT_RETURN(sc, PJ_EINVAL); + + if (!pj_strncmp(sc, cmd_val, cmd_val->slen)) { + /** Unique hints needed because cmd hash contain command name + and shortcut referencing to the same command **/ + status = insert_new_hint2(pool, PJ_TRUE, sc, &cmd->desc, + &SHORTCUT, info); + if (status != PJ_SUCCESS) + return status; + + if (p_cmd) + *p_cmd = cmd; + } + } + + it = pj_hash_next(cli->cmd_name_hash, it); + } + + return PJ_SUCCESS; +} + +/** This method will search a pattern match to the input command from the child + command list of the current/active command. **/ +static pj_status_t get_pattern_match_cmds(pj_cli_cmd_spec *cmd, + const pj_str_t *cmd_val, + pj_pool_t *pool, + pj_cli_cmd_spec **p_cmd, + pj_cli_parse_mode parse_mode, + pj_cli_exec_info *info) +{ + pj_status_t status; + PJ_ASSERT_RETURN(cmd && pool && info && cmd_val, PJ_EINVAL); + + if (p_cmd) + *p_cmd = cmd; + + /* Get matching command */ + if (cmd->sub_cmd) { + pj_cli_cmd_spec *child_cmd = cmd->sub_cmd->next; + while (child_cmd != cmd->sub_cmd) { + pj_bool_t found = PJ_FALSE; + if (!pj_strncmp(&child_cmd->name, cmd_val, cmd_val->slen)) { + status = insert_new_hint(pool, &child_cmd->name, + &child_cmd->desc, NULL, info); + if (status != PJ_SUCCESS) + return status; + + found = PJ_TRUE; + } + if (found) { + if (parse_mode == PARSE_NEXT_AVAIL) { + /** Only insert shortcut on next available commands mode **/ + unsigned i; + for (i=0; i < child_cmd->sc_cnt; ++i) { + static const pj_str_t SHORTCUT = {"SC", 2}; + pj_str_t *sc = &child_cmd->sc[i]; + PJ_ASSERT_RETURN(sc, PJ_EINVAL); + + status = insert_new_hint(pool, sc, + &child_cmd->desc, &SHORTCUT, + info); + if (status != PJ_SUCCESS) + return status; + } + } + + if (p_cmd) + *p_cmd = child_cmd; + } + child_cmd = child_cmd->next; + } + } + return PJ_SUCCESS; +} + +/** This will match the arguments passed to the command with the argument list + of the specified command list. **/ +static pj_status_t get_match_args(pj_cli_sess *sess, + pj_cli_cmd_spec *cmd, + const pj_str_t *cmd_val, + unsigned argc, + pj_pool_t *pool, + pj_cli_parse_mode parse_mode, + pj_cli_exec_info *info) +{ + pj_cli_arg_spec *arg; + pj_status_t status = PJ_SUCCESS; + + PJ_ASSERT_RETURN(cmd && pool && cmd_val && info, PJ_EINVAL); + + if ((argc > cmd->arg_cnt) && (!cmd->sub_cmd)) { + if (cmd_val->slen > 0) + return PJ_CLI_ETOOMANYARGS; + else + return PJ_SUCCESS; + } + + if (cmd->arg_cnt > 0) { + arg = &cmd->arg[argc-1]; + PJ_ASSERT_RETURN(arg, PJ_EINVAL); + if (arg->type == PJ_CLI_ARG_CHOICE) { + unsigned j; + + if ((parse_mode == PARSE_EXEC) && (!arg->validate)) { + /* If no validation needed, then insert the values */ + status = insert_new_hint(pool, cmd_val, NULL, NULL, info); + return status; + } + + for (j=0; j < arg->stat_choice_cnt; ++j) { + pj_cli_arg_choice_val *choice_val = &arg->stat_choice_val[j]; + + PJ_ASSERT_RETURN(choice_val, PJ_EINVAL); + + if (!pj_strncmp(&choice_val->value, cmd_val, cmd_val->slen)) { + status = insert_new_hint(pool, + &choice_val->value, + &choice_val->desc, + &arg_type[PJ_CLI_ARG_CHOICE].msg, + info); + if (status != PJ_SUCCESS) + return status; + } + } + if (arg->get_dyn_choice) { + pj_cli_dyn_choice_param dyn_choice_param; + static pj_str_t choice_str = {"choice", 6}; + + /* Get the dynamic choice values */ + dyn_choice_param.sess = sess; + dyn_choice_param.cmd = cmd; + dyn_choice_param.arg_id = arg->id; + dyn_choice_param.max_cnt = PJ_CLI_MAX_CHOICE_VAL; + dyn_choice_param.pool = pool; + dyn_choice_param.cnt = 0; + + (*arg->get_dyn_choice)(&dyn_choice_param); + for (j=0; j < dyn_choice_param.cnt; ++j) { + pj_cli_arg_choice_val *choice = &dyn_choice_param.choice[j]; + if (!pj_strncmp(&choice->value, cmd_val, cmd_val->slen)) { + pj_strassign(&info->hint[info->hint_cnt].name, + &choice->value); + pj_strassign(&info->hint[info->hint_cnt].type, + &choice_str); + pj_strassign(&info->hint[info->hint_cnt].desc, + &choice->desc); + if ((++info->hint_cnt) >= PJ_CLI_MAX_HINTS) + break; + } + } + if ((info->hint_cnt == 0) && (!arg->optional)) + return PJ_CLI_EMISSINGARG; + } + } else { + if (cmd_val->slen == 0) { + if (info->hint_cnt == 0) { + if (!((parse_mode == PARSE_EXEC) && (arg->optional))) { + /* For exec mode,no need to insert hint if optional */ + status = insert_new_hint(pool, + &arg->name, + &arg->desc, + &arg_type[arg->type].msg, + info); + if (status != PJ_SUCCESS) + return status; + } + if (!arg->optional) + return PJ_CLI_EMISSINGARG; + } + } else { + return insert_new_hint(pool, cmd_val, NULL, NULL, info); + } + } + } + return status; +} + +/** This will check for a match of the commands/arguments input. Any match + will be inserted to the hint data. **/ +static pj_status_t get_available_cmds(pj_cli_sess *sess, + pj_cli_cmd_spec *cmd, + pj_str_t *cmd_val, + unsigned argc, + pj_pool_t *pool, + pj_bool_t get_cmd, + pj_cli_parse_mode parse_mode, + pj_cli_cmd_spec **p_cmd, + pj_cli_exec_info *info) +{ + pj_status_t status = PJ_SUCCESS; + pj_str_t *prefix; + pj_str_t EMPTY_STR = {NULL, 0}; + + prefix = cmd_val?(pj_strtrim(cmd_val)):(&EMPTY_STR); + + info->hint_cnt = 0; + + if (get_cmd) { + status = get_comp_match_cmds(sess->fe->cli, cmd, prefix, pool, p_cmd, + info); + if (status != PJ_SUCCESS) + return status; + + /** If exact match found, then no need to search for pattern match **/ + if (info->hint_cnt == 0) { + if ((parse_mode != PARSE_NEXT_AVAIL) && + (cmd == &sess->fe->cli->root)) + { + /** Pattern match for shortcut needed on root command only **/ + status = get_pattern_match_shortcut(sess->fe->cli, prefix, pool, + p_cmd, info); + + if (status != PJ_SUCCESS) + return status; + } + + status = get_pattern_match_cmds(cmd, prefix, pool, p_cmd, + parse_mode, info); + } + + if (status != PJ_SUCCESS) + return status; + } + + if (argc > 0) + status = get_match_args(sess, cmd, prefix, argc, + pool, parse_mode, info); + + if (status == PJ_SUCCESS) { + if (prefix->slen > 0) { + /** If a command entered is not a an empty command, and have a + single match in the command list then it is a valid command **/ + if (info->hint_cnt == 0) { + status = PJ_CLI_EINVARG; + } else if (info->hint_cnt > 1) { + status = PJ_CLI_EAMBIGUOUS; + } + } else { + if (info->hint_cnt > 0) + status = PJ_CLI_EAMBIGUOUS; + } + } + + return status; +} + diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/cli_console.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/cli_console.c new file mode 100644 index 0000000000000000000000000000000000000000..cac8741543704e3150fe654cb176b516b4eb69d4 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/cli_console.c @@ -0,0 +1,549 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <pjlib-util/cli_imp.h> +#include <pjlib-util/cli_console.h> +#include <pj/assert.h> +#include <pj/errno.h> +#include <pj/log.h> +#include <pj/os.h> +#include <pj/pool.h> +#include <pj/string.h> +#include <pjlib-util/errno.h> + +/** + * This specify the state of output character parsing. + */ +typedef enum out_parse_state +{ + OP_NORMAL, + OP_TYPE, + OP_SHORTCUT, + OP_CHOICE +} out_parse_state; + +struct cli_console_fe +{ + pj_cli_front_end base; + pj_pool_t *pool; + pj_cli_sess *sess; + pj_thread_t *input_thread; + pj_bool_t thread_quit; + pj_sem_t *thread_sem; + pj_cli_console_cfg cfg; + + struct async_input_t + { + char *buf; + unsigned maxlen; + pj_sem_t *sem; + } input; +}; + +static void console_write_log(pj_cli_front_end *fe, int level, + const char *data, pj_size_t len) +{ + struct cli_console_fe * cfe = (struct cli_console_fe *)fe; + + if (cfe->sess->log_level > level) + printf("%.*s", (int)len, data); +} + +static void console_quit(pj_cli_front_end *fe, pj_cli_sess *req) +{ + struct cli_console_fe * cfe = (struct cli_console_fe *)fe; + + PJ_UNUSED_ARG(req); + + pj_assert(cfe); + if (cfe->input_thread) { + cfe->thread_quit = PJ_TRUE; + pj_sem_post(cfe->input.sem); + pj_sem_post(cfe->thread_sem); + } +} + +static void console_destroy(pj_cli_front_end *fe) +{ + struct cli_console_fe * cfe = (struct cli_console_fe *)fe; + + pj_assert(cfe); + console_quit(fe, NULL); + + if (cfe->input_thread) + pj_thread_join(cfe->input_thread); + + if (cfe->input_thread) { + pj_thread_destroy(cfe->input_thread); + cfe->input_thread = NULL; + } + + pj_sem_destroy(cfe->thread_sem); + pj_sem_destroy(cfe->input.sem); + pj_pool_release(cfe->pool); +} + +PJ_DEF(void) pj_cli_console_cfg_default(pj_cli_console_cfg *param) +{ + pj_assert(param); + + param->log_level = PJ_CLI_CONSOLE_LOG_LEVEL; + param->prompt_str.slen = 0; + param->quit_command.slen = 0; +} + +PJ_DEF(pj_status_t) pj_cli_console_create(pj_cli_t *cli, + const pj_cli_console_cfg *param, + pj_cli_sess **p_sess, + pj_cli_front_end **p_fe) +{ + pj_cli_sess *sess; + struct cli_console_fe *fe; + pj_cli_console_cfg cfg; + pj_pool_t *pool; + pj_status_t status; + + PJ_ASSERT_RETURN(cli && p_sess, PJ_EINVAL); + + pool = pj_pool_create(pj_cli_get_param(cli)->pf, "console_fe", + PJ_CLI_CONSOLE_POOL_SIZE, PJ_CLI_CONSOLE_POOL_INC, + NULL); + if (!pool) + return PJ_ENOMEM; + + sess = PJ_POOL_ZALLOC_T(pool, pj_cli_sess); + fe = PJ_POOL_ZALLOC_T(pool, struct cli_console_fe); + + if (!param) { + pj_cli_console_cfg_default(&cfg); + param = &cfg; + } + sess->fe = &fe->base; + sess->log_level = param->log_level; + sess->op = PJ_POOL_ZALLOC_T(pool, struct pj_cli_sess_op); + fe->base.op = PJ_POOL_ZALLOC_T(pool, struct pj_cli_front_end_op); + fe->base.cli = cli; + fe->base.type = PJ_CLI_CONSOLE_FRONT_END; + fe->base.op->on_write_log = &console_write_log; + fe->base.op->on_quit = &console_quit; + fe->base.op->on_destroy = &console_destroy; + fe->pool = pool; + fe->sess = sess; + status = pj_sem_create(pool, "console_fe", 0, 1, &fe->thread_sem); + if (status != PJ_SUCCESS) + return status; + + status = pj_sem_create(pool, "console_fe", 0, 1, &fe->input.sem); + if (status != PJ_SUCCESS) + return status; + + pj_cli_register_front_end(cli, &fe->base); + if (param->prompt_str.slen == 0) { + pj_str_t prompt_sign = pj_str(">>> "); + fe->cfg.prompt_str.ptr = pj_pool_alloc(fe->pool, prompt_sign.slen+1); + pj_strcpy(&fe->cfg.prompt_str, &prompt_sign); + } else { + fe->cfg.prompt_str.ptr = pj_pool_alloc(fe->pool, + param->prompt_str.slen+1); + pj_strcpy(&fe->cfg.prompt_str, ¶m->prompt_str); + } + fe->cfg.prompt_str.ptr[fe->cfg.prompt_str.slen] = 0; + + if (param->quit_command.slen) + pj_strdup(fe->pool, &fe->cfg.quit_command, ¶m->quit_command); + + *p_sess = sess; + if (p_fe) + *p_fe = &fe->base; + + return PJ_SUCCESS; +} + +static void send_prompt_str(pj_cli_sess *sess) +{ + pj_str_t send_data; + char data_str[128]; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + + send_data.ptr = data_str; + send_data.slen = 0; + + pj_strcat(&send_data, &fe->cfg.prompt_str); + send_data.ptr[send_data.slen] = 0; + + printf("%s", send_data.ptr); +} + +static void send_err_arg(pj_cli_sess *sess, + const pj_cli_exec_info *info, + const pj_str_t *msg, + pj_bool_t with_return) +{ + pj_str_t send_data; + char data_str[256]; + pj_size_t len; + unsigned i; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + + send_data.ptr = data_str; + send_data.slen = 0; + + if (with_return) + pj_strcat2(&send_data, "\r\n"); + + len = fe->cfg.prompt_str.slen + info->err_pos; + + for (i=0;i<len;++i) { + pj_strcat2(&send_data, " "); + } + pj_strcat2(&send_data, "^"); + pj_strcat2(&send_data, "\r\n"); + pj_strcat(&send_data, msg); + pj_strcat(&send_data, &fe->cfg.prompt_str); + + send_data.ptr[send_data.slen] = 0; + printf("%s", send_data.ptr); +} + +static void send_inv_arg(pj_cli_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return) +{ + static const pj_str_t ERR_MSG = {"%Error : Invalid Arguments\r\n", 28}; + send_err_arg(sess, info, &ERR_MSG, with_return); +} + +static void send_too_many_arg(pj_cli_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return) +{ + static const pj_str_t ERR_MSG = {"%Error : Too Many Arguments\r\n", 29}; + send_err_arg(sess, info, &ERR_MSG, with_return); +} + +static void send_hint_arg(pj_str_t *send_data, + const pj_str_t *desc, + pj_ssize_t cmd_len, + pj_ssize_t max_len) +{ + if ((desc) && (desc->slen > 0)) { + int j; + + for (j=0;j<(max_len-cmd_len);++j) { + pj_strcat2(send_data, " "); + } + pj_strcat2(send_data, " "); + pj_strcat(send_data, desc); + send_data->ptr[send_data->slen] = 0; + printf("%s", send_data->ptr); + send_data->slen = 0; + } +} + +static void send_ambi_arg(pj_cli_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return) +{ + unsigned i; + pj_size_t len; + pj_str_t send_data; + char data[1028]; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + const pj_cli_hint_info *hint = info->hint; + out_parse_state parse_state = OP_NORMAL; + pj_ssize_t max_length = 0; + pj_ssize_t cmd_length = 0; + static const pj_str_t sc_type = {"sc", 2}; + static const pj_str_t choice_type = {"choice", 6}; + send_data.ptr = data; + send_data.slen = 0; + + if (with_return) + pj_strcat2(&send_data, "\r\n"); + + len = fe->cfg.prompt_str.slen + info->err_pos; + + for (i=0;i<len;++i) { + pj_strcat2(&send_data, " "); + } + pj_strcat2(&send_data, "^"); + /* Get the max length of the command name */ + for (i=0;i<info->hint_cnt;++i) { + if ((&hint[i].type) && (hint[i].type.slen > 0)) { + if (pj_stricmp(&hint[i].type, &sc_type) == 0) { + if ((i > 0) && (!pj_stricmp(&hint[i-1].desc, &hint[i].desc))) { + cmd_length += (hint[i].name.slen + 3); + } else { + cmd_length = hint[i].name.slen; + } + } else { + cmd_length = hint[i].name.slen; + } + } else { + cmd_length = hint[i].name.slen; + } + + if (cmd_length > max_length) { + max_length = cmd_length; + } + } + + cmd_length = 0; + for (i=0;i<info->hint_cnt;++i) { + if ((&hint[i].type) && (hint[i].type.slen > 0)) { + if (pj_stricmp(&hint[i].type, &sc_type) == 0) { + parse_state = OP_SHORTCUT; + } else if (pj_stricmp(&hint[i].type, &choice_type) == 0) { + parse_state = OP_CHOICE; + } else { + parse_state = OP_TYPE; + } + } else { + parse_state = OP_NORMAL; + } + + if (parse_state != OP_SHORTCUT) { + pj_strcat2(&send_data, "\r\n "); + cmd_length = hint[i].name.slen; + } + + switch (parse_state) { + case OP_CHOICE: + pj_strcat2(&send_data, "["); + pj_strcat(&send_data, &hint[i].name); + pj_strcat2(&send_data, "]"); + break; + case OP_TYPE: + pj_strcat2(&send_data, "<"); + pj_strcat(&send_data, &hint[i].type); + pj_strcat2(&send_data, ">"); + break; + case OP_SHORTCUT: + /* Format : "Command | sc | description" */ + { + cmd_length += hint[i].name.slen; + if ((i > 0) && (!pj_stricmp(&hint[i-1].desc, &hint[i].desc))) { + pj_strcat2(&send_data, " | "); + cmd_length += 3; + } else { + pj_strcat2(&send_data, "\r\n "); + } + pj_strcat(&send_data, &hint[i].name); + } + break; + default: + pj_strcat(&send_data, &hint[i].name); + break; + } + + if ((parse_state == OP_TYPE) || (parse_state == OP_CHOICE) || + ((i+1) >= info->hint_cnt) || + (pj_strncmp(&hint[i].desc, &hint[i+1].desc, hint[i].desc.slen))) + { + /* Add description info */ + send_hint_arg(&send_data, &hint[i].desc, cmd_length, max_length); + + cmd_length = 0; + } + } + pj_strcat2(&send_data, "\r\n"); + pj_strcat(&send_data, &fe->cfg.prompt_str); + send_data.ptr[send_data.slen] = 0; + printf("%s", send_data.ptr); +} + +static pj_bool_t handle_hint(pj_cli_sess *sess) +{ + pj_status_t status; + pj_bool_t retval = PJ_TRUE; + + pj_pool_t *pool; + pj_cli_cmd_val *cmd_val; + pj_cli_exec_info info; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + char *recv_buf = fe->input.buf; + pj_cli_t *cli = sess->fe->cli; + + pool = pj_pool_create(pj_cli_get_param(cli)->pf, "handle_hint", + PJ_CLI_CONSOLE_POOL_SIZE, PJ_CLI_CONSOLE_POOL_INC, + NULL); + + cmd_val = PJ_POOL_ZALLOC_T(pool, pj_cli_cmd_val); + + status = pj_cli_sess_parse(sess, recv_buf, cmd_val, + pool, &info); + + switch (status) { + case PJ_CLI_EINVARG: + send_inv_arg(sess, &info, PJ_TRUE); + break; + case PJ_CLI_ETOOMANYARGS: + send_too_many_arg(sess, &info, PJ_TRUE); + break; + case PJ_CLI_EMISSINGARG: + case PJ_CLI_EAMBIGUOUS: + send_ambi_arg(sess, &info, PJ_TRUE); + break; + case PJ_SUCCESS: + if (info.hint_cnt > 0) { + /* Compelete command */ + send_ambi_arg(sess, &info, PJ_TRUE); + } else { + retval = PJ_FALSE; + } + break; + } + + pj_pool_release(pool); + return retval; +} + +static pj_bool_t handle_exec(pj_cli_sess *sess) +{ + pj_status_t status; + pj_bool_t retval = PJ_TRUE; + + pj_pool_t *pool; + pj_cli_exec_info info; + pj_cli_t *cli = sess->fe->cli; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + char *recv_buf = fe->input.buf; + + printf("\r\n"); + + pool = pj_pool_create(pj_cli_get_param(cli)->pf, "handle_exec", + PJ_CLI_CONSOLE_POOL_SIZE, PJ_CLI_CONSOLE_POOL_INC, + NULL); + + status = pj_cli_sess_exec(sess, recv_buf, + pool, &info); + + switch (status) { + case PJ_CLI_EINVARG: + send_inv_arg(sess, &info, PJ_FALSE); + break; + case PJ_CLI_ETOOMANYARGS: + send_too_many_arg(sess, &info, PJ_FALSE); + break; + case PJ_CLI_EAMBIGUOUS: + case PJ_CLI_EMISSINGARG: + send_ambi_arg(sess, &info, PJ_FALSE); + break; + case PJ_CLI_EEXIT: + retval = PJ_FALSE; + break; + case PJ_SUCCESS: + send_prompt_str(sess); + break; + } + + pj_pool_release(pool); + return retval; +} + +static int readline_thread(void * p) +{ + struct cli_console_fe * fe = (struct cli_console_fe *)p; + + printf("%s", fe->cfg.prompt_str.ptr); + + while (!fe->thread_quit) { + pj_size_t input_len = 0; + pj_str_t input_str; + char *recv_buf = fe->input.buf; + pj_bool_t is_valid = PJ_TRUE; + + if (fgets(recv_buf, fe->input.maxlen, stdin) == NULL) { + /* + * Be friendly to users who redirect commands into + * program, when file ends, resume with kbd. + * If exit is desired end script with q for quit + */ + /* Reopen stdin/stdout/stderr to /dev/console */ +#if ((defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0)) && \ + (!defined(PJ_WIN32_WINCE) || PJ_WIN32_WINCE==0) + if (freopen ("CONIN$", "r", stdin) == NULL) { +#else + if (1) { +#endif + puts("Cannot switch back to console from file redirection"); + if (fe->cfg.quit_command.slen) { + pj_memcpy(recv_buf, fe->cfg.quit_command.ptr, + fe->input.maxlen); + } + recv_buf[fe->cfg.quit_command.slen] = '\0'; + } else { + puts("Switched back to console from file redirection"); + continue; + } + } + + input_str.ptr = recv_buf; + input_str.slen = pj_ansi_strlen(recv_buf); + pj_strrtrim(&input_str); + recv_buf[input_str.slen] = '\n'; + recv_buf[input_str.slen+1] = 0; + if (fe->thread_quit) { + break; + } + input_len = pj_ansi_strlen(fe->input.buf); + if ((input_len > 1) && (fe->input.buf[input_len-2] == '?')) { + fe->input.buf[input_len-1] = 0; + is_valid = handle_hint(fe->sess); + if (!is_valid) + printf("%s", fe->cfg.prompt_str.ptr); + } else { + is_valid = handle_exec(fe->sess); + } + + pj_sem_post(fe->input.sem); + pj_sem_wait(fe->thread_sem); + } + + return 0; +} + +PJ_DEF(pj_status_t) pj_cli_console_process(pj_cli_sess *sess, + char *buf, + unsigned maxlen) +{ + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + + PJ_ASSERT_RETURN(sess, PJ_EINVAL); + + fe->input.buf = buf; + fe->input.maxlen = maxlen; + + if (!fe->input_thread) { + pj_status_t status; + + status = pj_thread_create(fe->pool, NULL, &readline_thread, fe, + 0, 0, &fe->input_thread); + if (status != PJ_SUCCESS) + return status; + } else { + /* Wake up readline thread */ + pj_sem_post(fe->thread_sem); + } + + pj_sem_wait(fe->input.sem); + + return (pj_cli_is_quitting(fe->base.cli)? PJ_CLI_EEXIT : PJ_SUCCESS); +} diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/cli_telnet.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/cli_telnet.c new file mode 100644 index 0000000000000000000000000000000000000000..0ea5381613e0b25d06153b6dda4ed2d9cc45b13a --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/cli_telnet.c @@ -0,0 +1,1932 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <pjlib-util/cli_imp.h> +#include <pjlib-util/cli_telnet.h> +#include <pj/activesock.h> +#include <pj/assert.h> +#include <pj/errno.h> +#include <pj/log.h> +#include <pj/os.h> +#include <pj/pool.h> +#include <pj/string.h> +#include <pj/except.h> +#include <pjlib-util/errno.h> +#include <pjlib-util/scanner.h> +#include <pj/addr_resolv.h> +#include <pj/compat/socket.h> + +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) || \ + (defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0) + +#define EADDRINUSE WSAEADDRINUSE + +#endif + +#define CLI_TELNET_BUF_SIZE 256 + +#define CUT_MSG "<..data truncated..>\r\n" +#define MAX_CUT_MSG_LEN 25 + +#if 1 + /* Enable some tracing */ + #define THIS_FILE "cli_telnet.c" + #define TRACE_(arg) PJ_LOG(3,arg) +#else + #define TRACE_(arg) +#endif + +#define MAX_CLI_TELNET_OPTIONS 256 +/** Maximum retry on Telnet Restart **/ +#define MAX_RETRY_ON_TELNET_RESTART 100 +/** Minimum number of millisecond to wait before retrying to re-bind on + * telnet restart **/ +#define MIN_WAIT_ON_TELNET_RESTART 20 +/** Maximum number of millisecod to wait before retrying to re-bind on + * telnet restart **/ +#define MAX_WAIT_ON_TELNET_RESTART 1000 + +/** + * This specify the state for the telnet option negotiation. + */ +enum cli_telnet_option_states +{ + OPT_DISABLE, /* Option disable */ + OPT_ENABLE, /* Option enable */ + OPT_EXPECT_DISABLE, /* Already send disable req, expecting resp */ + OPT_EXPECT_ENABLE, /* Already send enable req, expecting resp */ + OPT_EXPECT_DISABLE_REV, /* Already send disable req, expecting resp, + * need to send enable req */ + OPT_EXPECT_ENABLE_REV /* Already send enable req, expecting resp, + * need to send disable req */ +}; + +/** + * This structure contains information for telnet session option negotiation. + * It contains the local/peer option config and the option negotiation state. + */ +typedef struct cli_telnet_sess_option +{ + /** + * Local setting for the option. + * Default: FALSE; + */ + pj_bool_t local_is_enable; + + /** + * Remote setting for the option. + * Default: FALSE; + */ + pj_bool_t peer_is_enable; + + /** + * Local state of the option negotiation. + */ + enum cli_telnet_option_states local_state; + + /** + * Remote state of the option negotiation. + */ + enum cli_telnet_option_states peer_state; +} cli_telnet_sess_option; + +/** + * This specify the state of input character parsing. + */ +typedef enum cmd_parse_state +{ + ST_NORMAL, + ST_CR, + ST_ESC, + ST_VT100, + ST_IAC, + ST_DO, + ST_DONT, + ST_WILL, + ST_WONT +} cmd_parse_state; + +typedef enum cli_telnet_command +{ + SUBNEGO_END = 240, /* End of subnegotiation parameters. */ + NOP = 241, /* No operation. */ + DATA_MARK = 242, /* Marker for NVT cleaning. */ + BREAK = 243, /* Indicates that the "break" key was hit. */ + INT_PROCESS = 244, /* Suspend, interrupt or abort the process. */ + ABORT_OUTPUT = 245, /* Abort output, abort output stream. */ + ARE_YOU_THERE = 246, /* Are you there. */ + ERASE_CHAR = 247, /* Erase character, erase the current char. */ + ERASE_LINE = 248, /* Erase line, erase the current line. */ + GO_AHEAD = 249, /* Go ahead, other end can transmit. */ + SUBNEGO_BEGIN = 250, /* Subnegotiation begin. */ + WILL = 251, /* Accept the use of option. */ + WONT = 252, /* Refuse the use of option. */ + DO = 253, /* Request to use option. */ + DONT = 254, /* Request to not use option. */ + IAC = 255 /* Interpret as command */ +} cli_telnet_command; + +enum cli_telnet_options +{ + TRANSMIT_BINARY = 0, /* Transmit Binary. */ + TERM_ECHO = 1, /* Echo. */ + RECONNECT = 2, /* Reconnection. */ + SUPPRESS_GA = 3, /* Suppress Go Aheah. */ + MESSAGE_SIZE_NEGO = 4, /* Approx Message Size Negotiation. */ + STATUS = 5, /* Status. */ + TIMING_MARK = 6, /* Timing Mark. */ + RTCE_OPTION = 7, /* Remote Controlled Trans and Echo. */ + OUTPUT_LINE_WIDTH = 8, /* Output Line Width. */ + OUTPUT_PAGE_SIZE = 9, /* Output Page Size. */ + CR_DISPOSITION = 10, /* Carriage-Return Disposition. */ + HORI_TABSTOPS = 11, /* Horizontal Tabstops. */ + HORI_TAB_DISPO = 12, /* Horizontal Tab Disposition. */ + FF_DISP0 = 13, /* Formfeed Disposition. */ + VERT_TABSTOPS = 14, /* Vertical Tabstops. */ + VERT_TAB_DISPO = 15, /* Vertical Tab Disposition. */ + LF_DISP0 = 16, /* Linefeed Disposition. */ + EXT_ASCII = 17, /* Extended ASCII. */ + LOGOUT = 18, /* Logout. */ + BYTE_MACRO = 19, /* Byte Macro. */ + DE_TERMINAL = 20, /* Data Entry Terminal. */ + SUPDUP_PROTO = 21, /* SUPDUP Protocol. */ + SUPDUP_OUTPUT = 22, /* SUPDUP Output. */ + SEND_LOC = 23, /* Send Location. */ + TERM_TYPE = 24, /* Terminal Type. */ + EOR = 25, /* End of Record. */ + TACACS_UID = 26, /* TACACS User Identification. */ + OUTPUT_MARKING = 27, /* Output Marking. */ + TTYLOC = 28, /* Terminal Location Number. */ + USE_3270_REGIME = 29, /* Telnet 3270 Regime. */ + USE_X3_PAD = 30, /* X.3 PAD. */ + WINDOW_SIZE = 31, /* Window Size. */ + TERM_SPEED = 32, /* Terminal Speed. */ + REM_FLOW_CONTROL = 33, /* Remote Flow Control. */ + LINE_MODE = 34, /* Linemode. */ + X_DISP_LOC = 35, /* X Display Location. */ + ENVIRONMENT = 36, /* Environment. */ + AUTH = 37, /* Authentication. */ + ENCRYPTION = 38, /* Encryption Option. */ + NEW_ENVIRONMENT = 39, /* New Environment. */ + TN_3270E = 40, /* TN3270E. */ + XAUTH = 41, /* XAUTH. */ + CHARSET = 42, /* CHARSET. */ + REM_SERIAL_PORT = 43, /* Telnet Remote Serial Port. */ + COM_PORT_CONTROL = 44, /* Com Port Control. */ + SUPP_LOCAL_ECHO = 45, /* Telnet Suppress Local Echo. */ + START_TLS = 46, /* Telnet Start TLS. */ + KERMIT = 47, /* KERMIT. */ + SEND_URL = 48, /* SEND-URL. */ + FWD_X = 49, /* FORWARD_X. */ + EXT_OPTIONS = 255 /* Extended-Options-List */ +}; + +enum terminal_cmd +{ + TC_ESC = 27, + TC_UP = 65, + TC_DOWN = 66, + TC_RIGHT = 67, + TC_LEFT = 68, + TC_END = 70, + TC_HOME = 72, + TC_CTRL_C = 3, + TC_CR = 13, + TC_BS = 8, + TC_TAB = 9, + TC_QM = 63, + TC_BELL = 7, + TC_DEL = 127 +}; + +/** + * This specify the state of output character parsing. + */ +typedef enum out_parse_state +{ + OP_NORMAL, + OP_TYPE, + OP_SHORTCUT, + OP_CHOICE +} out_parse_state; + +/** + * This structure contains the command line shown to the user. + * The telnet also needs to maintain and manage command cursor position. + * Due to that reason, the insert/delete character process from buffer will + * consider its current cursor position. + */ +typedef struct telnet_recv_buf { + /** + * Buffer containing the characters, NULL terminated. + */ + unsigned char rbuf[PJ_CLI_MAX_CMDBUF]; + + /** + * Current length of the command line. + */ + unsigned len; + + /** + * Current cursor position. + */ + unsigned cur_pos; +} telnet_recv_buf; + +/** + * This structure contains the command history executed by user. + * Besides storing the command history, it is necessary to be able + * to browse it. + */ +typedef struct cmd_history +{ + PJ_DECL_LIST_MEMBER(struct cmd_history); + pj_str_t command; +} cmd_history; + +typedef struct cli_telnet_sess +{ + pj_cli_sess base; + pj_pool_t *pool; + pj_activesock_t *asock; + pj_bool_t authorized; + pj_ioqueue_op_key_t op_key; + pj_mutex_t *smutex; + cmd_parse_state parse_state; + cli_telnet_sess_option telnet_option[MAX_CLI_TELNET_OPTIONS]; + cmd_history *history; + cmd_history *active_history; + + telnet_recv_buf *rcmd; + unsigned char buf[CLI_TELNET_BUF_SIZE + MAX_CUT_MSG_LEN]; + unsigned buf_len; +} cli_telnet_sess; + +typedef struct cli_telnet_fe +{ + pj_cli_front_end base; + pj_pool_t *pool; + pj_cli_telnet_cfg cfg; + pj_bool_t own_ioqueue; + pj_cli_sess sess_head; + + pj_activesock_t *asock; + pj_thread_t *worker_thread; + pj_bool_t is_quitting; + pj_mutex_t *mutex; +} cli_telnet_fe; + +/* Forward Declaration */ +static pj_status_t telnet_sess_send2(cli_telnet_sess *sess, + const unsigned char *str, int len); + +static pj_status_t telnet_sess_send(cli_telnet_sess *sess, + const pj_str_t *str); + +static pj_status_t telnet_start(cli_telnet_fe *fe); +static pj_status_t telnet_restart(cli_telnet_fe *tfe); + +/** + * Return the number of characters between the current cursor position + * to the end of line. + */ +static unsigned recv_buf_right_len(telnet_recv_buf *recv_buf) +{ + return (recv_buf->len - recv_buf->cur_pos); +} + +/** + * Insert character to the receive buffer. + */ +static pj_bool_t recv_buf_insert(telnet_recv_buf *recv_buf, + unsigned char *data) +{ + if (recv_buf->len+1 >= PJ_CLI_MAX_CMDBUF) { + return PJ_FALSE; + } else { + if (*data == '\t' || *data == '?' || *data == '\r') { + /* Always insert to the end of line */ + recv_buf->rbuf[recv_buf->len] = *data; + } else { + /* Insert based on the current cursor pos */ + unsigned cur_pos = recv_buf->cur_pos; + unsigned rlen = recv_buf_right_len(recv_buf); + if (rlen > 0) { + /* Shift right characters */ + pj_memmove(&recv_buf->rbuf[cur_pos+1], + &recv_buf->rbuf[cur_pos], + rlen+1); + } + recv_buf->rbuf[cur_pos] = *data; + } + ++recv_buf->cur_pos; + ++recv_buf->len; + recv_buf->rbuf[recv_buf->len] = 0; + } + return PJ_TRUE; +} + +/** + * Delete character on the previous cursor position of the receive buffer. + */ +static pj_bool_t recv_buf_backspace(telnet_recv_buf *recv_buf) +{ + if ((recv_buf->cur_pos == 0) || (recv_buf->len == 0)) { + return PJ_FALSE; + } else { + unsigned rlen = recv_buf_right_len(recv_buf); + if (rlen) { + unsigned cur_pos = recv_buf->cur_pos; + /* Shift left characters */ + pj_memmove(&recv_buf->rbuf[cur_pos-1], &recv_buf->rbuf[cur_pos], + rlen); + } + --recv_buf->cur_pos; + --recv_buf->len; + recv_buf->rbuf[recv_buf->len] = 0; + } + return PJ_TRUE; +} + +static int compare_str(void *value, const pj_list_type *nd) +{ + cmd_history *node = (cmd_history*)nd; + return (pj_strcmp((pj_str_t *)value, &node->command)); +} + +/** + * Insert the command to history. If the entered command is not on the list, + * a new entry will be created. All entered command will be moved to + * the first entry of the history. + */ +static pj_status_t insert_history(cli_telnet_sess *sess, + char *cmd_val) +{ + cmd_history *in_history; + pj_str_t cmd; + cmd.ptr = cmd_val; + cmd.slen = pj_ansi_strlen(cmd_val)-1; + + if (cmd.slen == 0) + return PJ_SUCCESS; + + PJ_ASSERT_RETURN(sess, PJ_EINVAL); + + /* Find matching history */ + in_history = pj_list_search(sess->history, (void*)&cmd, compare_str); + if (!in_history) { + if (pj_list_size(sess->history) < PJ_CLI_MAX_CMD_HISTORY) { + char *data_history; + in_history = PJ_POOL_ZALLOC_T(sess->pool, cmd_history); + pj_list_init(in_history); + data_history = (char *)pj_pool_calloc(sess->pool, + sizeof(char), PJ_CLI_MAX_CMDBUF); + in_history->command.ptr = data_history; + in_history->command.slen = 0; + } else { + /* Get the oldest history */ + in_history = sess->history->prev; + } + } else { + pj_list_insert_nodes_after(in_history->prev, in_history->next); + } + pj_strcpy(&in_history->command, pj_strtrim(&cmd)); + pj_list_push_front(sess->history, in_history); + sess->active_history = sess->history; + + return PJ_SUCCESS; +} + +/** + * Get the next or previous history of the shown/active history. + */ +static pj_str_t* get_prev_history(cli_telnet_sess *sess, pj_bool_t is_forward) +{ + pj_str_t *retval; + pj_size_t history_size; + cmd_history *node; + cmd_history *root; + + PJ_ASSERT_RETURN(sess, NULL); + + node = sess->active_history; + root = sess->history; + history_size = pj_list_size(sess->history); + + if (history_size == 0) { + return NULL; + } else { + if (is_forward) { + node = (node->next==root)?node->next->next:node->next; + } else { + node = (node->prev==root)?node->prev->prev:node->prev; + } + retval = &node->command; + sess->active_history = node; + } + return retval; +} + +/* + * This method is used to send option negotiation command. + * The commands dealing with option negotiation are + * three byte sequences, the third byte being the code for the option + * referenced - (RFC-854). + */ +static pj_bool_t send_telnet_cmd(cli_telnet_sess *sess, + cli_telnet_command cmd, + unsigned char option) +{ + unsigned char buf[3]; + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + buf[0] = IAC; + buf[1] = cmd; + buf[2] = option; + telnet_sess_send2(sess, buf, 3); + + return PJ_TRUE; +} + +/** + * This method will handle sending telnet's ENABLE option negotiation. + * For local option: send WILL. + * For remote option: send DO. + * This method also handle the state transition of the ENABLE + * negotiation process. + */ +static pj_bool_t send_enable_option(cli_telnet_sess *sess, + pj_bool_t is_local, + unsigned char option) +{ + cli_telnet_sess_option *sess_option; + enum cli_telnet_option_states *state; + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + sess_option = &sess->telnet_option[option]; + state = is_local?(&sess_option->local_state):(&sess_option->peer_state); + switch (*state) { + case OPT_ENABLE: + /* Ignore if already enabled */ + break; + case OPT_DISABLE: + *state = OPT_EXPECT_ENABLE; + send_telnet_cmd(sess, (is_local?WILL:DO), option); + break; + case OPT_EXPECT_ENABLE: + *state = OPT_DISABLE; + break; + case OPT_EXPECT_DISABLE: + *state = OPT_EXPECT_DISABLE_REV; + break; + case OPT_EXPECT_ENABLE_REV: + *state = OPT_EXPECT_ENABLE; + break; + case OPT_EXPECT_DISABLE_REV: + *state = OPT_DISABLE; + break; + default: + return PJ_FALSE; + } + return PJ_TRUE; +} + +static pj_bool_t send_cmd_do(cli_telnet_sess *sess, + unsigned char option) +{ + return send_enable_option(sess, PJ_FALSE, option); +} + +static pj_bool_t send_cmd_will(cli_telnet_sess *sess, + unsigned char option) +{ + return send_enable_option(sess, PJ_TRUE, option); +} + +/** + * This method will handle receiving telnet's ENABLE option negotiation. + * This method also handle the state transition of the ENABLE + * negotiation process. + */ +static pj_bool_t receive_enable_option(cli_telnet_sess *sess, + pj_bool_t is_local, + unsigned char option) +{ + cli_telnet_sess_option *sess_opt; + enum cli_telnet_option_states *state; + pj_bool_t opt_ena; + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + sess_opt = &sess->telnet_option[option]; + state = is_local?(&sess_opt->local_state):(&sess_opt->peer_state); + opt_ena = is_local?sess_opt->local_is_enable:sess_opt->peer_is_enable; + switch (*state) { + case OPT_ENABLE: + /* Ignore if already enabled */ + break; + case OPT_DISABLE: + if (opt_ena) { + *state = OPT_ENABLE; + send_telnet_cmd(sess, is_local?WILL:DO, option); + } else { + send_telnet_cmd(sess, is_local?WONT:DONT, option); + } + break; + case OPT_EXPECT_ENABLE: + *state = OPT_ENABLE; + break; + case OPT_EXPECT_DISABLE: + *state = OPT_DISABLE; + break; + case OPT_EXPECT_ENABLE_REV: + *state = OPT_EXPECT_DISABLE; + send_telnet_cmd(sess, is_local?WONT:DONT, option); + break; + case OPT_EXPECT_DISABLE_REV: + *state = OPT_EXPECT_DISABLE; + break; + default: + return PJ_FALSE; + } + return PJ_TRUE; +} + +/** + * This method will handle receiving telnet's DISABLE option negotiation. + * This method also handle the state transition of the DISABLE + * negotiation process. + */ +static pj_bool_t receive_disable_option(cli_telnet_sess *sess, + pj_bool_t is_local, + unsigned char option) +{ + cli_telnet_sess_option *sess_opt; + enum cli_telnet_option_states *state; + + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + sess_opt = &sess->telnet_option[option]; + state = is_local?(&sess_opt->local_state):(&sess_opt->peer_state); + + switch (*state) { + case OPT_ENABLE: + /* Disabling option always need to be accepted */ + *state = OPT_DISABLE; + send_telnet_cmd(sess, is_local?WONT:DONT, option); + break; + case OPT_DISABLE: + /* Ignore if already enabled */ + break; + case OPT_EXPECT_ENABLE: + case OPT_EXPECT_DISABLE: + *state = OPT_DISABLE; + break; + case OPT_EXPECT_ENABLE_REV: + *state = OPT_DISABLE; + send_telnet_cmd(sess, is_local?WONT:DONT, option); + break; + case OPT_EXPECT_DISABLE_REV: + *state = OPT_EXPECT_ENABLE; + send_telnet_cmd(sess, is_local?WILL:DO, option); + break; + default: + return PJ_FALSE; + } + return PJ_TRUE; +} + +static pj_bool_t receive_do(cli_telnet_sess *sess, unsigned char option) +{ + return receive_enable_option(sess, PJ_TRUE, option); +} + +static pj_bool_t receive_dont(cli_telnet_sess *sess, unsigned char option) +{ + return receive_disable_option(sess, PJ_TRUE, option); +} + +static pj_bool_t receive_will(cli_telnet_sess *sess, unsigned char option) +{ + return receive_enable_option(sess, PJ_FALSE, option); +} + +static pj_bool_t receive_wont(cli_telnet_sess *sess, unsigned char option) +{ + return receive_disable_option(sess, PJ_FALSE, option); +} + +static void set_local_option(cli_telnet_sess *sess, + unsigned char option, + pj_bool_t enable) +{ + sess->telnet_option[option].local_is_enable = enable; +} + +static void set_peer_option(cli_telnet_sess *sess, + unsigned char option, + pj_bool_t enable) +{ + sess->telnet_option[option].peer_is_enable = enable; +} + +static pj_bool_t is_local_option_state_ena(cli_telnet_sess *sess, + unsigned char option) +{ + return (sess->telnet_option[option].local_state == OPT_ENABLE); +} + +static void send_return_key(cli_telnet_sess *sess) +{ + telnet_sess_send2(sess, (unsigned char*)"\r\n", 2); +} + +static void send_bell(cli_telnet_sess *sess) { + static const unsigned char bell = 0x07; + telnet_sess_send2(sess, &bell, 1); +} + +static void send_prompt_str(cli_telnet_sess *sess) +{ + pj_str_t send_data; + char data_str[128]; + cli_telnet_fe *fe = (cli_telnet_fe *)sess->base.fe; + + send_data.ptr = data_str; + send_data.slen = 0; + + pj_strcat(&send_data, &fe->cfg.prompt_str); + + telnet_sess_send(sess, &send_data); +} + +/* + * This method is used to send error message to client, including + * the error position of the source command. + */ +static void send_err_arg(cli_telnet_sess *sess, + const pj_cli_exec_info *info, + const pj_str_t *msg, + pj_bool_t with_return, + pj_bool_t with_last_cmd) +{ + pj_str_t send_data; + char data_str[256]; + pj_size_t len; + unsigned i; + cli_telnet_fe *fe = (cli_telnet_fe *)sess->base.fe; + + send_data.ptr = data_str; + send_data.slen = 0; + + if (with_return) + pj_strcat2(&send_data, "\r\n"); + + len = fe->cfg.prompt_str.slen + info->err_pos; + + /* Set the error pointer mark */ + for (i=0;i<len;++i) { + pj_strcat2(&send_data, " "); + } + pj_strcat2(&send_data, "^"); + pj_strcat2(&send_data, "\r\n"); + pj_strcat(&send_data, msg); + pj_strcat(&send_data, &fe->cfg.prompt_str); + if (with_last_cmd) + pj_strcat2(&send_data, (char *)sess->rcmd->rbuf); + + telnet_sess_send(sess, &send_data); +} + +static void send_inv_arg(cli_telnet_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return, + pj_bool_t with_last_cmd) +{ + static const pj_str_t ERR_MSG = {"%Error : Invalid Arguments\r\n", 28}; + send_err_arg(sess, info, &ERR_MSG, with_return, with_last_cmd); +} + +static void send_too_many_arg(cli_telnet_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return, + pj_bool_t with_last_cmd) +{ + static const pj_str_t ERR_MSG = {"%Error : Too Many Arguments\r\n", 29}; + send_err_arg(sess, info, &ERR_MSG, with_return, with_last_cmd); +} + +static void send_hint_arg(cli_telnet_sess *sess, + pj_str_t *send_data, + const pj_str_t *desc, + pj_ssize_t cmd_len, + pj_ssize_t max_len) +{ + if ((desc) && (desc->slen > 0)) { + int j; + + for (j=0;j<(max_len-cmd_len);++j) { + pj_strcat2(send_data, " "); + } + pj_strcat2(send_data, " "); + pj_strcat(send_data, desc); + telnet_sess_send(sess, send_data); + send_data->slen = 0; + } +} + +/* + * This method is used to notify to the client that the entered command + * is ambiguous. It will show the matching command as the hint information. + */ +static void send_ambi_arg(cli_telnet_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return, + pj_bool_t with_last_cmd) +{ + unsigned i; + pj_size_t len; + pj_str_t send_data; + char data[1028]; + cli_telnet_fe *fe = (cli_telnet_fe *)sess->base.fe; + const pj_cli_hint_info *hint = info->hint; + out_parse_state parse_state = OP_NORMAL; + pj_ssize_t max_length = 0; + pj_ssize_t cmd_length = 0; + static const pj_str_t sc_type = {"sc", 2}; + static const pj_str_t choice_type = {"choice", 6}; + send_data.ptr = data; + send_data.slen = 0; + + if (with_return) + pj_strcat2(&send_data, "\r\n"); + + len = fe->cfg.prompt_str.slen + info->err_pos; + + for (i=0;i<len;++i) { + pj_strcat2(&send_data, " "); + } + pj_strcat2(&send_data, "^"); + /* Get the max length of the command name */ + for (i=0;i<info->hint_cnt;++i) { + if ((&hint[i].type) && (hint[i].type.slen > 0)) { + if (pj_stricmp(&hint[i].type, &sc_type) == 0) { + if ((i > 0) && (!pj_stricmp(&hint[i-1].desc, &hint[i].desc))) { + cmd_length += (hint[i].name.slen + 3); + } else { + cmd_length = hint[i].name.slen; + } + } else { + cmd_length = hint[i].name.slen; + } + } else { + cmd_length = hint[i].name.slen; + } + + if (cmd_length > max_length) { + max_length = cmd_length; + } + } + + cmd_length = 0; + /* Build hint information */ + for (i=0;i<info->hint_cnt;++i) { + if ((&hint[i].type) && (hint[i].type.slen > 0)) { + if (pj_stricmp(&hint[i].type, &sc_type) == 0) { + parse_state = OP_SHORTCUT; + } else if (pj_stricmp(&hint[i].type, &choice_type) == 0) { + parse_state = OP_CHOICE; + } else { + parse_state = OP_TYPE; + } + } else { + parse_state = OP_NORMAL; + } + + if (parse_state != OP_SHORTCUT) { + pj_strcat2(&send_data, "\r\n "); + cmd_length = hint[i].name.slen; + } + + switch (parse_state) { + case OP_CHOICE: + /* Format : "[Choice Value] description" */ + pj_strcat2(&send_data, "["); + pj_strcat(&send_data, &hint[i].name); + pj_strcat2(&send_data, "]"); + break; + case OP_TYPE: + /* Format : "<Argument Type> description" */ + pj_strcat2(&send_data, "<"); + pj_strcat(&send_data, &hint[i].name); + pj_strcat2(&send_data, ">"); + break; + case OP_SHORTCUT: + /* Format : "Command | sc | description" */ + { + cmd_length += hint[i].name.slen; + if ((i > 0) && (!pj_stricmp(&hint[i-1].desc, &hint[i].desc))) { + pj_strcat2(&send_data, " | "); + cmd_length += 3; + } else { + pj_strcat2(&send_data, "\r\n "); + } + pj_strcat(&send_data, &hint[i].name); + } + break; + default: + /* Command */ + pj_strcat(&send_data, &hint[i].name); + break; + } + + if ((parse_state == OP_TYPE) || (parse_state == OP_CHOICE) || + ((i+1) >= info->hint_cnt) || + (pj_strncmp(&hint[i].desc, &hint[i+1].desc, hint[i].desc.slen))) + { + /* Add description info */ + send_hint_arg(sess, &send_data, + &hint[i].desc, cmd_length, + max_length); + + cmd_length = 0; + } + } + pj_strcat2(&send_data, "\r\n"); + pj_strcat(&send_data, &fe->cfg.prompt_str); + if (with_last_cmd) + pj_strcat2(&send_data, (char *)sess->rcmd->rbuf); + + telnet_sess_send(sess, &send_data); +} + +/* + * This method is to send command completion of the entered command. + */ +static void send_comp_arg(cli_telnet_sess *sess, + pj_cli_exec_info *info) +{ + pj_str_t send_data; + char data[128]; + + pj_strcat2(&info->hint[0].name, " "); + + send_data.ptr = data; + send_data.slen = 0; + + pj_strcat(&send_data, &info->hint[0].name); + + telnet_sess_send(sess, &send_data); +} + +/* + * This method is to process the alfa numeric character sent by client. + */ +static pj_bool_t handle_alfa_num(cli_telnet_sess *sess, unsigned char *data) +{ + if (is_local_option_state_ena(sess, TERM_ECHO)) { + if (recv_buf_right_len(sess->rcmd) > 0) { + /* Cursor is not at EOL, insert character */ + unsigned char echo[5] = {0x1b, 0x5b, 0x31, 0x40, 0x00}; + echo[4] = *data; + telnet_sess_send2(sess, echo, 5); + } else { + /* Append character */ + telnet_sess_send2(sess, data, 1); + } + return PJ_TRUE; + } + return PJ_FALSE; +} + +/* + * This method is to process the backspace character sent by client. + */ +static pj_bool_t handle_backspace(cli_telnet_sess *sess, unsigned char *data) +{ + unsigned rlen = recv_buf_right_len(sess->rcmd); + if (recv_buf_backspace(sess->rcmd)) { + if (rlen) { + /* + * Cursor is not at the end of line, move the characters + * after the cursor to left + */ + unsigned char echo[5] = {0x00, 0x1b, 0x5b, 0x31, 0x50}; + echo[0] = *data; + telnet_sess_send2(sess, echo, 5); + } else { + const static unsigned char echo[3] = {0x08, 0x20, 0x08}; + telnet_sess_send2(sess, echo, 3); + } + return PJ_TRUE; + } + return PJ_FALSE; +} + +/* + * Syntax error handler for parser. + */ +static void on_syntax_error(pj_scanner *scanner) +{ + PJ_UNUSED_ARG(scanner); + PJ_THROW(PJ_EINVAL); +} + +/* + * This method is to process the backspace character sent by client. + */ +static pj_status_t get_last_token(pj_str_t *cmd, pj_str_t *str) +{ + pj_scanner scanner; + PJ_USE_EXCEPTION; + pj_scan_init(&scanner, cmd->ptr, cmd->slen, PJ_SCAN_AUTOSKIP_WS, + &on_syntax_error); + PJ_TRY { + while (!pj_scan_is_eof(&scanner)) { + pj_scan_get_until_chr(&scanner, " \t\r\n", str); + } + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return PJ_GET_EXCEPTION(); + } + PJ_END; + return PJ_SUCCESS; +} + +/* + * This method is to process the tab character sent by client. + */ +static pj_bool_t handle_tab(cli_telnet_sess *sess) +{ + pj_status_t status; + pj_bool_t retval = PJ_TRUE; + unsigned len; + + pj_pool_t *pool; + pj_cli_cmd_val *cmd_val; + pj_cli_exec_info info; + pool = pj_pool_create(sess->pool->factory, "handle_tab", + PJ_CLI_TELNET_POOL_SIZE, PJ_CLI_TELNET_POOL_INC, + NULL); + + cmd_val = PJ_POOL_ZALLOC_T(pool, pj_cli_cmd_val); + + status = pj_cli_sess_parse(&sess->base, (char *)&sess->rcmd->rbuf, cmd_val, + pool, &info); + + len = (unsigned)pj_ansi_strlen((char *)sess->rcmd->rbuf); + + switch (status) { + case PJ_CLI_EINVARG: + send_inv_arg(sess, &info, PJ_TRUE, PJ_TRUE); + break; + case PJ_CLI_ETOOMANYARGS: + send_too_many_arg(sess, &info, PJ_TRUE, PJ_TRUE); + break; + case PJ_CLI_EMISSINGARG: + case PJ_CLI_EAMBIGUOUS: + send_ambi_arg(sess, &info, PJ_TRUE, PJ_TRUE); + break; + case PJ_SUCCESS: + if (len > sess->rcmd->cur_pos) + { + /* Send the cursor to EOL */ + unsigned rlen = len - sess->rcmd->cur_pos+1; + unsigned char *data_sent = &sess->rcmd->rbuf[sess->rcmd->cur_pos-1]; + telnet_sess_send2(sess, data_sent, rlen); + } + if (info.hint_cnt > 0) { + /* Complete command */ + pj_str_t cmd = pj_str((char *)sess->rcmd->rbuf); + pj_str_t last_token; + + if (get_last_token(&cmd, &last_token) == PJ_SUCCESS) { + /* Hint contains the match to the last command entered */ + pj_str_t *hint_info = &info.hint[0].name; + pj_strtrim(&last_token); + if (hint_info->slen >= last_token.slen) { + hint_info->slen -= last_token.slen; + pj_memmove(hint_info->ptr, + &hint_info->ptr[last_token.slen], + hint_info->slen); + } + send_comp_arg(sess, &info); + + pj_memcpy(&sess->rcmd->rbuf[len], info.hint[0].name.ptr, + info.hint[0].name.slen); + + len += (unsigned)info.hint[0].name.slen; + sess->rcmd->rbuf[len] = 0; + } + } else { + retval = PJ_FALSE; + } + break; + } + sess->rcmd->len = len; + sess->rcmd->cur_pos = sess->rcmd->len; + + pj_pool_release(pool); + return retval; +} + +/* + * This method is to process the return character sent by client. + */ +static pj_bool_t handle_return(cli_telnet_sess *sess) +{ + pj_status_t status; + pj_bool_t retval = PJ_TRUE; + + pj_pool_t *pool; + pj_cli_exec_info info; + + send_return_key(sess); + insert_history(sess, (char *)&sess->rcmd->rbuf); + + pool = pj_pool_create(sess->pool->factory, "handle_return", + PJ_CLI_TELNET_POOL_SIZE, PJ_CLI_TELNET_POOL_INC, + NULL); + + status = pj_cli_sess_exec(&sess->base, (char *)&sess->rcmd->rbuf, + pool, &info); + + switch (status) { + case PJ_CLI_EINVARG: + send_inv_arg(sess, &info, PJ_FALSE, PJ_FALSE); + break; + case PJ_CLI_ETOOMANYARGS: + send_too_many_arg(sess, &info, PJ_FALSE, PJ_FALSE); + break; + case PJ_CLI_EAMBIGUOUS: + case PJ_CLI_EMISSINGARG: + send_ambi_arg(sess, &info, PJ_FALSE, PJ_FALSE); + break; + case PJ_CLI_EEXIT: + retval = PJ_FALSE; + break; + case PJ_SUCCESS: + send_prompt_str(sess); + break; + } + if (retval) { + sess->rcmd->rbuf[0] = 0; + sess->rcmd->len = 0; + sess->rcmd->cur_pos = sess->rcmd->len; + } + + pj_pool_release(pool); + return retval; +} + +/* + * This method is to process the right key character sent by client. + */ +static pj_bool_t handle_right_key(cli_telnet_sess *sess) +{ + if (recv_buf_right_len(sess->rcmd)) { + unsigned char *data = &sess->rcmd->rbuf[sess->rcmd->cur_pos++]; + telnet_sess_send2(sess, data, 1); + return PJ_TRUE; + } + return PJ_FALSE; +} + +/* + * This method is to process the left key character sent by client. + */ +static pj_bool_t handle_left_key(cli_telnet_sess *sess) +{ + static const unsigned char move_cursor_left = 0x08; + if (sess->rcmd->cur_pos) { + telnet_sess_send2(sess, &move_cursor_left, 1); + --sess->rcmd->cur_pos; + return PJ_TRUE; + } + return PJ_FALSE; +} + +/* + * This method is to process the up/down key character sent by client. + */ +static pj_bool_t handle_up_down(cli_telnet_sess *sess, pj_bool_t is_up) +{ + pj_str_t *history; + + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + history = get_prev_history(sess, is_up); + if (history) { + pj_str_t send_data; + char str[PJ_CLI_MAX_CMDBUF]; + enum { + MOVE_CURSOR_LEFT = 0x08, + CLEAR_CHAR = 0x20 + }; + send_data.ptr = str; + send_data.slen = 0; + + /* Move cursor position to the beginning of line */ + if (sess->rcmd->cur_pos > 0) { + pj_memset(send_data.ptr, MOVE_CURSOR_LEFT, sess->rcmd->cur_pos); + send_data.slen = sess->rcmd->cur_pos; + } + + if (sess->rcmd->len > (unsigned)history->slen) { + /* Clear the command currently shown*/ + unsigned buf_len = sess->rcmd->len; + pj_memset(&send_data.ptr[send_data.slen], CLEAR_CHAR, buf_len); + send_data.slen += buf_len; + + /* Move cursor position to the beginning of line */ + pj_memset(&send_data.ptr[send_data.slen], MOVE_CURSOR_LEFT, + buf_len); + send_data.slen += buf_len; + } + /* Send data */ + pj_strcat(&send_data, history); + telnet_sess_send(sess, &send_data); + pj_ansi_strncpy((char*)&sess->rcmd->rbuf, history->ptr, history->slen); + sess->rcmd->rbuf[history->slen] = 0; + sess->rcmd->len = (unsigned)history->slen; + sess->rcmd->cur_pos = sess->rcmd->len; + return PJ_TRUE; + } + return PJ_FALSE; +} + +static pj_status_t process_vt100_cmd(cli_telnet_sess *sess, + unsigned char *cmd) +{ + pj_status_t status = PJ_TRUE; + switch (*cmd) { + case TC_ESC: + break; + case TC_UP: + status = handle_up_down(sess, PJ_TRUE); + break; + case TC_DOWN: + status = handle_up_down(sess, PJ_FALSE); + break; + case TC_RIGHT: + status = handle_right_key(sess); + break; + case TC_LEFT: + status = handle_left_key(sess); + break; + case TC_END: + break; + case TC_HOME: + break; + case TC_CTRL_C: + break; + case TC_CR: + break; + case TC_BS: + break; + case TC_TAB: + break; + case TC_QM: + break; + case TC_BELL: + break; + case TC_DEL: + break; + }; + return status; +} + +PJ_DEF(void) pj_cli_telnet_cfg_default(pj_cli_telnet_cfg *param) +{ + pj_assert(param); + + pj_bzero(param, sizeof(*param)); + param->port = PJ_CLI_TELNET_PORT; + param->log_level = PJ_CLI_TELNET_LOG_LEVEL; +} + +/* + * Send a message to a telnet session + */ +static pj_status_t telnet_sess_send(cli_telnet_sess *sess, + const pj_str_t *str) +{ + pj_ssize_t sz; + pj_status_t status = PJ_SUCCESS; + + sz = str->slen; + if (!sz) + return PJ_SUCCESS; + + pj_mutex_lock(sess->smutex); + + if (sess->buf_len == 0) + status = pj_activesock_send(sess->asock, &sess->op_key, + str->ptr, &sz, 0); + /* If we cannot send now, append it at the end of the buffer + * to be sent later. + */ + if (sess->buf_len > 0 || + (status != PJ_SUCCESS && status != PJ_EPENDING)) + { + int clen = (int)sz; + + if (sess->buf_len + clen > CLI_TELNET_BUF_SIZE) + clen = CLI_TELNET_BUF_SIZE - sess->buf_len; + if (clen > 0) + pj_memmove(sess->buf + sess->buf_len, str->ptr, clen); + if (clen < sz) { + pj_ansi_snprintf((char *)sess->buf + CLI_TELNET_BUF_SIZE, + MAX_CUT_MSG_LEN, CUT_MSG); + sess->buf_len = (unsigned)(CLI_TELNET_BUF_SIZE + + pj_ansi_strlen((char *)sess->buf+ + CLI_TELNET_BUF_SIZE)); + } else + sess->buf_len += clen; + } else if (status == PJ_SUCCESS && sz < str->slen) { + pj_mutex_unlock(sess->smutex); + return PJ_CLI_ETELNETLOST; + } + + pj_mutex_unlock(sess->smutex); + + return PJ_SUCCESS; +} + +/* + * Send a message to a telnet session with formatted text + * (add single linefeed character with carriage return) + */ +static pj_status_t telnet_sess_send_with_format(cli_telnet_sess *sess, + const pj_str_t *str) +{ + pj_scanner scanner; + pj_str_t out_str; + static const pj_str_t CR_LF = {("\r\n"), 2}; + int str_len = 0; + char *str_begin = 0; + + PJ_USE_EXCEPTION; + + pj_scan_init(&scanner, str->ptr, str->slen, + PJ_SCAN_AUTOSKIP_WS, &on_syntax_error); + + str_begin = scanner.begin; + + PJ_TRY { + while (!pj_scan_is_eof(&scanner)) { + pj_scan_get_until_ch(&scanner, '\n', &out_str); + str_len = (int)(scanner.curptr - str_begin); + if (*scanner.curptr == '\n') { + if ((str_len > 1) && (out_str.ptr[str_len-2] == '\r')) + { + continue; + } else { + int str_pos = (int)(str_begin - scanner.begin); + + if (str_len > 0) { + pj_str_t s; + pj_strset(&s, &str->ptr[str_pos], str_len); + telnet_sess_send(sess, &s); + } + telnet_sess_send(sess, &CR_LF); + + if (!pj_scan_is_eof(&scanner)) { + pj_scan_advance_n(&scanner, 1, PJ_TRUE); + str_begin = scanner.curptr; + } + } + } else { + pj_str_t s; + int str_pos = (int)(str_begin - scanner.begin); + + pj_strset(&s, &str->ptr[str_pos], str_len); + telnet_sess_send(sess, &s); + } + } + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return (PJ_GET_EXCEPTION()); + } + PJ_END; + + return PJ_SUCCESS; +} + +static pj_status_t telnet_sess_send2(cli_telnet_sess *sess, + const unsigned char *str, int len) +{ + pj_str_t s; + + pj_strset(&s, (char *)str, len); + return telnet_sess_send(sess, &s); +} + +static void telnet_sess_destroy(pj_cli_sess *sess) +{ + cli_telnet_sess *tsess = (cli_telnet_sess *)sess; + pj_mutex_t *mutex = ((cli_telnet_fe *)sess->fe)->mutex; + + pj_mutex_lock(mutex); + pj_list_erase(sess); + pj_mutex_unlock(mutex); + + pj_mutex_lock(tsess->smutex); + pj_mutex_unlock(tsess->smutex); + pj_activesock_close(tsess->asock); + pj_mutex_destroy(tsess->smutex); + pj_pool_release(tsess->pool); +} + +static void telnet_fe_write_log(pj_cli_front_end *fe, int level, + const char *data, pj_size_t len) +{ + cli_telnet_fe *tfe = (cli_telnet_fe *)fe; + pj_cli_sess *sess; + + pj_mutex_lock(tfe->mutex); + + sess = tfe->sess_head.next; + while (sess != &tfe->sess_head) { + cli_telnet_sess *tsess = (cli_telnet_sess *)sess; + + sess = sess->next; + if (tsess->base.log_level > level) { + pj_str_t s; + + pj_strset(&s, (char *)data, len); + telnet_sess_send_with_format(tsess, &s); + } + } + + pj_mutex_unlock(tfe->mutex); +} + +static void telnet_fe_destroy(pj_cli_front_end *fe) +{ + cli_telnet_fe *tfe = (cli_telnet_fe *)fe; + pj_cli_sess *sess; + + tfe->is_quitting = PJ_TRUE; + if (tfe->worker_thread) { + pj_thread_join(tfe->worker_thread); + } + + pj_mutex_lock(tfe->mutex); + + /* Destroy all the sessions */ + sess = tfe->sess_head.next; + while (sess != &tfe->sess_head) { + (*sess->op->destroy)(sess); + sess = tfe->sess_head.next; + } + + pj_mutex_unlock(tfe->mutex); + + pj_activesock_close(tfe->asock); + if (tfe->own_ioqueue) + pj_ioqueue_destroy(tfe->cfg.ioqueue); + + if (tfe->worker_thread) { + pj_thread_destroy(tfe->worker_thread); + tfe->worker_thread = NULL; + } + + pj_mutex_destroy(tfe->mutex); + pj_pool_release(tfe->pool); +} + +static int poll_worker_thread(void *p) +{ + cli_telnet_fe *fe = (cli_telnet_fe *)p; + + while (!fe->is_quitting) { + pj_time_val delay = {0, 50}; + pj_ioqueue_poll(fe->cfg.ioqueue, &delay); + } + + return 0; +} + +static pj_bool_t telnet_sess_on_data_sent(pj_activesock_t *asock, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t sent) +{ + cli_telnet_sess *sess = (cli_telnet_sess *) + pj_activesock_get_user_data(asock); + + PJ_UNUSED_ARG(op_key); + + if (sent <= 0) { + TRACE_((THIS_FILE, "Error On data send")); + pj_cli_sess_end_session(&sess->base); + return PJ_FALSE; + } + + pj_mutex_lock(sess->smutex); + + if (sess->buf_len) { + int len = sess->buf_len; + + sess->buf_len = 0; + if (telnet_sess_send2(sess, sess->buf, len) != PJ_SUCCESS) { + pj_mutex_unlock(sess->smutex); + pj_cli_sess_end_session(&sess->base); + return PJ_FALSE; + } + } + + pj_mutex_unlock(sess->smutex); + + return PJ_TRUE; +} + +static pj_bool_t telnet_sess_on_data_read(pj_activesock_t *asock, + void *data, + pj_size_t size, + pj_status_t status, + pj_size_t *remainder) +{ + cli_telnet_sess *sess = (cli_telnet_sess *) + pj_activesock_get_user_data(asock); + cli_telnet_fe *tfe = (cli_telnet_fe *)sess->base.fe; + unsigned char *cdata = (unsigned char*)data; + pj_status_t is_valid = PJ_TRUE; + + PJ_UNUSED_ARG(size); + PJ_UNUSED_ARG(remainder); + + if (tfe->is_quitting) + return PJ_FALSE; + + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + TRACE_((THIS_FILE, "Error on data read %d", status)); + return PJ_FALSE; + } + + pj_mutex_lock(sess->smutex); + + switch (sess->parse_state) { + case ST_CR: + sess->parse_state = ST_NORMAL; + if (*cdata == 0 || *cdata == '\n') + pj_mutex_unlock(sess->smutex); + is_valid = handle_return(sess); + if (!is_valid) + return PJ_FALSE; + pj_mutex_lock(sess->smutex); + break; + case ST_NORMAL: + if (*cdata == IAC) { + sess->parse_state = ST_IAC; + } else if (*cdata == 127) { + is_valid = handle_backspace(sess, cdata); + } else if (*cdata == 27) { + sess->parse_state = ST_ESC; + } else { + if (recv_buf_insert(sess->rcmd, cdata)) { + if (*cdata == '\r') { + sess->parse_state = ST_CR; + } else if ((*cdata == '\t') || (*cdata == '?')) { + is_valid = handle_tab(sess); + } else if (*cdata > 31 && *cdata < 127) { + is_valid = handle_alfa_num(sess, cdata); + } + } else { + is_valid = PJ_FALSE; + } + } + break; + case ST_ESC: + if (*cdata == 91) { + sess->parse_state = ST_VT100; + } else { + sess->parse_state = ST_NORMAL; + } + break; + case ST_VT100: + sess->parse_state = ST_NORMAL; + is_valid = process_vt100_cmd(sess, cdata); + break; + case ST_IAC: + switch ((unsigned) *cdata) { + case DO: + sess->parse_state = ST_DO; + break; + case DONT: + sess->parse_state = ST_DONT; + break; + case WILL: + sess->parse_state = ST_WILL; + break; + case WONT: + sess->parse_state = ST_WONT; + break; + default: + sess->parse_state = ST_NORMAL; + break; + } + break; + case ST_DO: + receive_do(sess, *cdata); + sess->parse_state = ST_NORMAL; + break; + case ST_DONT: + receive_dont(sess, *cdata); + sess->parse_state = ST_NORMAL; + break; + case ST_WILL: + receive_will(sess, *cdata); + sess->parse_state = ST_NORMAL; + break; + case ST_WONT: + receive_wont(sess, *cdata); + sess->parse_state = ST_NORMAL; + break; + default: + sess->parse_state = ST_NORMAL; + break; + } + if (!is_valid) { + send_bell(sess); + } + + pj_mutex_unlock(sess->smutex); + + return PJ_TRUE; +} + +static pj_bool_t telnet_fe_on_accept(pj_activesock_t *asock, + pj_sock_t newsock, + const pj_sockaddr_t *src_addr, + int src_addr_len, + pj_status_t status) +{ + cli_telnet_fe *fe = (cli_telnet_fe *) pj_activesock_get_user_data(asock); + + pj_status_t sstatus; + pj_pool_t *pool; + cli_telnet_sess *sess = NULL; + pj_activesock_cb asock_cb; + + PJ_UNUSED_ARG(src_addr); + PJ_UNUSED_ARG(src_addr_len); + + if (fe->is_quitting) + return PJ_FALSE; + + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + TRACE_((THIS_FILE, "Error on data accept %d", status)); + if (status == PJ_ESOCKETSTOP) + telnet_restart(fe); + + return PJ_FALSE; + } + + /* An incoming connection is accepted, create a new session */ + pool = pj_pool_create(fe->pool->factory, "telnet_sess", + PJ_CLI_TELNET_POOL_SIZE, PJ_CLI_TELNET_POOL_INC, + NULL); + if (!pool) { + TRACE_((THIS_FILE, + "Not enough memory to create a new telnet session")); + return PJ_TRUE; + } + + sess = PJ_POOL_ZALLOC_T(pool, cli_telnet_sess); + sess->pool = pool; + sess->base.fe = &fe->base; + sess->base.log_level = fe->cfg.log_level; + sess->base.op = PJ_POOL_ZALLOC_T(pool, struct pj_cli_sess_op); + sess->base.op->destroy = &telnet_sess_destroy; + pj_bzero(&asock_cb, sizeof(asock_cb)); + asock_cb.on_data_read = &telnet_sess_on_data_read; + asock_cb.on_data_sent = &telnet_sess_on_data_sent; + sess->rcmd = PJ_POOL_ZALLOC_T(pool, telnet_recv_buf); + sess->history = PJ_POOL_ZALLOC_T(pool, struct cmd_history); + pj_list_init(sess->history); + sess->active_history = sess->history; + + sstatus = pj_mutex_create_recursive(pool, "mutex_telnet_sess", + &sess->smutex); + if (sstatus != PJ_SUCCESS) + goto on_exit; + + sstatus = pj_activesock_create(pool, newsock, pj_SOCK_STREAM(), + NULL, fe->cfg.ioqueue, + &asock_cb, sess, &sess->asock); + if (sstatus != PJ_SUCCESS) { + TRACE_((THIS_FILE, "Failure creating active socket")); + goto on_exit; + } + + pj_memset(sess->telnet_option, 0, sizeof(sess->telnet_option)); + set_local_option(sess, TRANSMIT_BINARY, PJ_TRUE); + set_local_option(sess, STATUS, PJ_TRUE); + set_local_option(sess, SUPPRESS_GA, PJ_TRUE); + set_local_option(sess, TIMING_MARK, PJ_TRUE); + set_local_option(sess, TERM_SPEED, PJ_TRUE); + set_local_option(sess, TERM_TYPE, PJ_TRUE); + + set_peer_option(sess, TRANSMIT_BINARY, PJ_TRUE); + set_peer_option(sess, SUPPRESS_GA, PJ_TRUE); + set_peer_option(sess, STATUS, PJ_TRUE); + set_peer_option(sess, TIMING_MARK, PJ_TRUE); + set_peer_option(sess, TERM_ECHO, PJ_TRUE); + + send_cmd_do(sess, SUPPRESS_GA); + send_cmd_will(sess, TERM_ECHO); + send_cmd_will(sess, STATUS); + send_cmd_will(sess, SUPPRESS_GA); + + /* Send prompt string */ + telnet_sess_send(sess, &fe->cfg.prompt_str); + + /* Start reading for input from the new telnet session */ + sstatus = pj_activesock_start_read(sess->asock, pool, 1, 0); + if (sstatus != PJ_SUCCESS) { + TRACE_((THIS_FILE, "Failure reading active socket")); + goto on_exit; + } + + pj_ioqueue_op_key_init(&sess->op_key, sizeof(sess->op_key)); + pj_mutex_lock(fe->mutex); + pj_list_push_back(&fe->sess_head, &sess->base); + pj_mutex_unlock(fe->mutex); + + return PJ_TRUE; + +on_exit: + if (sess->asock) + pj_activesock_close(sess->asock); + else + pj_sock_close(newsock); + + if (sess->smutex) + pj_mutex_destroy(sess->smutex); + + pj_pool_release(pool); + + return PJ_TRUE; +} + +PJ_DEF(pj_status_t) pj_cli_telnet_create(pj_cli_t *cli, + pj_cli_telnet_cfg *param, + pj_cli_front_end **p_fe) +{ + cli_telnet_fe *fe; + pj_pool_t *pool; + pj_status_t status; + + PJ_ASSERT_RETURN(cli, PJ_EINVAL); + + pool = pj_pool_create(pj_cli_get_param(cli)->pf, "telnet_fe", + PJ_CLI_TELNET_POOL_SIZE, PJ_CLI_TELNET_POOL_INC, + NULL); + fe = PJ_POOL_ZALLOC_T(pool, cli_telnet_fe); + if (!fe) + return PJ_ENOMEM; + + fe->base.op = PJ_POOL_ZALLOC_T(pool, struct pj_cli_front_end_op); + + if (!param) + pj_cli_telnet_cfg_default(&fe->cfg); + else + pj_memcpy(&fe->cfg, param, sizeof(*param)); + + pj_list_init(&fe->sess_head); + fe->base.cli = cli; + fe->base.type = PJ_CLI_TELNET_FRONT_END; + fe->base.op->on_write_log = &telnet_fe_write_log; + fe->base.op->on_destroy = &telnet_fe_destroy; + fe->pool = pool; + + if (!fe->cfg.ioqueue) { + /* Create own ioqueue if application doesn't supply one */ + status = pj_ioqueue_create(pool, 8, &fe->cfg.ioqueue); + if (status != PJ_SUCCESS) + goto on_exit; + fe->own_ioqueue = PJ_TRUE; + } + + status = pj_mutex_create_recursive(pool, "mutex_telnet_fe", &fe->mutex); + if (status != PJ_SUCCESS) + goto on_exit; + + /* Start telnet daemon */ + status = telnet_start(fe); + if (status != PJ_SUCCESS) + goto on_exit; + + pj_cli_register_front_end(cli, &fe->base); + + if (p_fe) + *p_fe = &fe->base; + + return PJ_SUCCESS; + +on_exit: + if (fe->own_ioqueue) + pj_ioqueue_destroy(fe->cfg.ioqueue); + + if (fe->mutex) + pj_mutex_destroy(fe->mutex); + + pj_pool_release(pool); + return status; +} + +static pj_status_t telnet_start(cli_telnet_fe *fe) +{ + pj_sock_t sock = PJ_INVALID_SOCKET; + pj_activesock_cb asock_cb; + pj_sockaddr_in addr; + pj_status_t status; + int val; + int restart_retry; + unsigned msec; + + /* Start telnet daemon */ + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &sock); + + if (status != PJ_SUCCESS) + goto on_exit; + + pj_sockaddr_in_init(&addr, NULL, fe->cfg.port); + + val = 1; + status = pj_sock_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, + &val, sizeof(val)); + + if (status != PJ_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Failed setting socket options")); + } + + /* The loop is silly, but what else can we do? */ + for (msec=MIN_WAIT_ON_TELNET_RESTART, restart_retry=0; + restart_retry < MAX_RETRY_ON_TELNET_RESTART; + ++restart_retry, msec=(msec<MAX_WAIT_ON_TELNET_RESTART? + msec*2 : MAX_WAIT_ON_TELNET_RESTART)) + { + status = pj_sock_bind(sock, &addr, sizeof(addr)); + if (status != PJ_STATUS_FROM_OS(EADDRINUSE)) + break; + PJ_LOG(4,(THIS_FILE, "Address is still in use, retrying..")); + pj_thread_sleep(msec); + } + + if (status == PJ_SUCCESS) { + int addr_len = sizeof(addr); + + status = pj_sock_getsockname(sock, &addr, &addr_len); + if (status != PJ_SUCCESS) + goto on_exit; + + fe->cfg.port = pj_sockaddr_in_get_port(&addr); + + if (fe->cfg.prompt_str.slen == 0) { + pj_str_t prompt_sign = {"> ", 2}; + char *prompt_data = pj_pool_alloc(fe->pool, + pj_gethostname()->slen+2); + fe->cfg.prompt_str.ptr = prompt_data; + + pj_strcpy(&fe->cfg.prompt_str, pj_gethostname()); + pj_strcat(&fe->cfg.prompt_str, &prompt_sign); + } + } else { + PJ_LOG(3, (THIS_FILE, "Failed binding the socket")); + goto on_exit; + } + + status = pj_sock_listen(sock, 4); + if (status != PJ_SUCCESS) + goto on_exit; + + pj_bzero(&asock_cb, sizeof(asock_cb)); + asock_cb.on_accept_complete2 = &telnet_fe_on_accept; + status = pj_activesock_create(fe->pool, sock, pj_SOCK_STREAM(), + NULL, fe->cfg.ioqueue, + &asock_cb, fe, &fe->asock); + if (status != PJ_SUCCESS) + goto on_exit; + + status = pj_activesock_start_accept(fe->asock, fe->pool); + if (status != PJ_SUCCESS) + goto on_exit; + + if (fe->own_ioqueue) { + /* Create our own worker thread */ + status = pj_thread_create(fe->pool, "worker_telnet_fe", + &poll_worker_thread, fe, 0, 0, + &fe->worker_thread); + if (status != PJ_SUCCESS) + goto on_exit; + } + + return PJ_SUCCESS; + +on_exit: + if (fe->cfg.on_started) { + (*fe->cfg.on_started)(status); + } + + if (fe->asock) + pj_activesock_close(fe->asock); + else if (sock != PJ_INVALID_SOCKET) + pj_sock_close(sock); + + if (fe->own_ioqueue) + pj_ioqueue_destroy(fe->cfg.ioqueue); + + if (fe->mutex) + pj_mutex_destroy(fe->mutex); + + pj_pool_release(fe->pool); + return status; +} + +static pj_status_t telnet_restart(cli_telnet_fe *fe) +{ + pj_status_t status; + pj_cli_sess *sess; + + fe->is_quitting = PJ_TRUE; + if (fe->worker_thread) { + pj_thread_join(fe->worker_thread); + } + + pj_mutex_lock(fe->mutex); + + /* Destroy all the sessions */ + sess = fe->sess_head.next; + while (sess != &fe->sess_head) { + (*sess->op->destroy)(sess); + sess = fe->sess_head.next; + } + + pj_mutex_unlock(fe->mutex); + + /** Close existing activesock **/ + status = pj_activesock_close(fe->asock); + if (status != PJ_SUCCESS) + goto on_exit; + + if (fe->worker_thread) { + pj_thread_destroy(fe->worker_thread); + fe->worker_thread = NULL; + } + + fe->is_quitting = PJ_FALSE; + + /** Start Telnet **/ + status = telnet_start(fe); + if (status == PJ_SUCCESS) { + if (fe->cfg.on_started) { + (*fe->cfg.on_started)(status); + } + TRACE_((THIS_FILE, "Telnet Restarted")); + } +on_exit: + return status; +} + +PJ_DEF(pj_status_t) pj_cli_telnet_get_info(pj_cli_front_end *fe, + pj_cli_telnet_info *info) +{ + pj_sockaddr hostip; + pj_status_t status; + cli_telnet_fe *tfe = (cli_telnet_fe*) fe; + + PJ_ASSERT_RETURN(fe && (fe->type == PJ_CLI_TELNET_FRONT_END) && info, + PJ_EINVAL); + + pj_strset(&info->ip_address, info->buf_, 0); + + status = pj_gethostip(pj_AF_INET(), &hostip); + if (status != PJ_SUCCESS) + return status; + + pj_strcpy2(&info->ip_address, pj_inet_ntoa(hostip.ipv4.sin_addr)); + + info->port = tfe->cfg.port; + + return PJ_SUCCESS; +} diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/crc32.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/crc32.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/crc32.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/crc32.c index 798638764e5925cbbc59daeabd054f594f647d62..8cf38f0f3758beec6ce65f242062bee07ba8ff51 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/crc32.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/crc32.c @@ -1,4 +1,4 @@ -/* $Id: crc32.c 2511 2009-03-13 12:28:00Z bennylp $ */ +/* $Id: crc32.c 4537 2013-06-19 06:47:43Z riza $ */ /* * This is an implementation of CRC32. See ISO 3309 and ITU-T V.42 * for a formal specification @@ -159,7 +159,7 @@ PJ_DEF(pj_uint32_t) pj_crc32_update(pj_crc32_context *ctx, { pj_uint32_t crc = ctx->crc_state ^ CRC32_NEGL; - for( ; (((unsigned long)data) & 0x03) && nbytes > 0; --nbytes) { + for( ; (((unsigned long)(pj_ssize_t)data) & 0x03) && nbytes > 0; --nbytes) { crc = crc_tab[CRC32_INDEX(crc) ^ *data++] ^ CRC32_SHIFTED(crc); } diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/dns.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/dns.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/dns.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/dns.c index 56e3461b81534d350d1ee77aa96076e26cf54e98..e96956ca75dd25456be7964e33c6049b5c09f402 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/dns.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/dns.c @@ -1,4 +1,4 @@ -/* $Id: dns.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: dns.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -59,9 +59,9 @@ PJ_DEF(pj_status_t) pj_dns_make_query( void *packet, int qtype, const pj_str_t *name) { - pj_uint8_t *query, *p = (pj_uint8_t*)packet; + pj_uint8_t *p = (pj_uint8_t*)packet; const char *startlabel, *endlabel, *endname; - unsigned d; + pj_size_t d; /* Sanity check */ PJ_ASSERT_RETURN(packet && size && qtype && name, PJ_EINVAL); @@ -80,7 +80,7 @@ PJ_DEF(pj_status_t) pj_dns_make_query( void *packet, write16(p+4, (pj_uint16_t)1); /* Initialize query */ - query = p = ((pj_uint8_t*)packet)+sizeof(pj_dns_hdr); + p = ((pj_uint8_t*)packet)+sizeof(pj_dns_hdr); /* Tokenize name */ startlabel = endlabel = name->ptr; @@ -106,7 +106,7 @@ PJ_DEF(pj_status_t) pj_dns_make_query( void *packet, p += 2; /* Done, calculate length */ - *size = p - (pj_uint8_t*)packet; + *size = (unsigned)(p - (pj_uint8_t*)packet); return 0; } diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/dns_dump.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/dns_dump.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/dns_dump.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/dns_dump.c index 85c8e85ed28e0fc20c8926d7782fcb4173eb61a3..d5c9b512c951a078ce1c4b6f54af28548fd7867f 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/dns_dump.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/dns_dump.c @@ -1,4 +1,4 @@ -/* $Id: dns_dump.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: dns_dump.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -36,7 +36,7 @@ static const char *spell_ttl(char *buf, int size, unsigned ttl) if (ttl > DAY) { len = pj_ansi_snprintf(p, size, "%dd ", ttl/DAY); - if (len < 1) + if (len < 1 || len >= size) return "-err-"; size -= len; p += len; @@ -45,7 +45,7 @@ static const char *spell_ttl(char *buf, int size, unsigned ttl) if (ttl > HOUR) { len = pj_ansi_snprintf(p, size, "%dh ", ttl/HOUR); - if (len < 1) + if (len < 1 || len >= size) return "-err-"; size -= len; p += len; @@ -54,7 +54,7 @@ static const char *spell_ttl(char *buf, int size, unsigned ttl) if (ttl > MINUTE) { len = pj_ansi_snprintf(p, size, "%dm ", ttl/MINUTE); - if (len < 1) + if (len < 1 || len >= size) return "-err-"; size -= len; p += len; @@ -63,7 +63,7 @@ static const char *spell_ttl(char *buf, int size, unsigned ttl) if (ttl > 0) { len = pj_ansi_snprintf(p, size, "%ds ", ttl); - if (len < 1) + if (len < 1 || len >= size) return "-err-"; size -= len; p += len; diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/dns_server.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/dns_server.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/dns_server.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/dns_server.c index 2bd21c2021d85948d2d3e6f7a2478236aa149504..8922c67ff3c44610d3657fc36ca58b0d7c62ccdf 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/dns_server.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/dns_server.c @@ -1,4 +1,4 @@ -/* $Id: dns_server.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: dns_server.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -231,7 +231,7 @@ static int print_name(pj_uint8_t *pkt, int size, return 2; } else { if (tab->count < MAX_LABEL) { - tab->a[tab->count].pos = (p-pkt); + tab->a[tab->count].pos = (unsigned)(p-pkt); tab->a[tab->count].label.ptr = (char*)(p+1); tab->a[tab->count].label.slen = name->slen; ++tab->count; @@ -256,7 +256,7 @@ static int print_name(pj_uint8_t *pkt, int size, *p = (pj_uint8_t)label.slen; pj_memcpy(p+1, label.ptr, label.slen); - size -= (label.slen+1); + size -= (int)(label.slen+1); p += (label.slen+1); if (endlabel != endname && *endlabel == '.') @@ -269,7 +269,7 @@ static int print_name(pj_uint8_t *pkt, int size, *p++ = '\0'; - return p-pos; + return (int)(p-pos); } static int print_rr(pj_uint8_t *pkt, int size, pj_uint8_t *pos, @@ -352,7 +352,7 @@ static int print_rr(pj_uint8_t *pkt, int size, pj_uint8_t *pos, return -1; } - return p-pos; + return (int)(p-pos); } static int print_packet(const pj_dns_parsed_packet *rec, pj_uint8_t *pkt, @@ -432,7 +432,7 @@ static int print_packet(const pj_dns_parsed_packet *rec, pj_uint8_t *pkt, size -= len; } - return p - pkt; + return (int)(p - pkt); } @@ -457,7 +457,7 @@ static pj_bool_t on_data_recvfrom(pj_activesock_t *asock, srv = (pj_dns_server*) pj_activesock_get_user_data(asock); pool = pj_pool_create(srv->pf, "dnssrvrx", 512, 256, NULL); - status = pj_dns_parse_packet(pool, data, size, &req); + status = pj_dns_parse_packet(pool, data, (unsigned)size, &req); if (status != PJ_SUCCESS) { char addrinfo[PJ_INET6_ADDRSTRLEN+10]; pj_sockaddr_print(src_addr, addrinfo, sizeof(addrinfo), 3); diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/errno.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/errno.c similarity index 89% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/errno.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/errno.c index 36a6b2ea6032a0e5cc51841cea8f58ec6cd0372c..3009c256f1100f99d8f5a97d5adde1167a1edb92 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/errno.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/errno.c @@ -1,4 +1,4 @@ -/* $Id: errno.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: errno.c 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -51,6 +51,9 @@ static const struct /* XML errors */ PJ_BUILD_ERR( PJLIB_UTIL_EINXML, "Invalid XML message" ), + /* JSON errors */ + PJ_BUILD_ERR( PJLIB_UTIL_EINJSON, "Invalid JSON document" ), + /* DNS errors */ PJ_BUILD_ERR( PJLIB_UTIL_EDNSQRYTOOSMALL, "DNS query packet buffer is too small"), PJ_BUILD_ERR( PJLIB_UTIL_EDNSINSIZE, "Invalid DNS packet length"), @@ -96,6 +99,16 @@ static const struct PJ_BUILD_ERR( PJLIB_UTIL_EHTTPINCHDR, "Incomplete response header received"), PJ_BUILD_ERR( PJLIB_UTIL_EHTTPINSBUF, "Insufficient buffer"), PJ_BUILD_ERR( PJLIB_UTIL_EHTTPLOST, "Connection lost"), + + /* CLI */ + PJ_BUILD_ERR( PJ_CLI_EEXIT, "Exit current session"), + PJ_BUILD_ERR( PJ_CLI_EMISSINGARG, "Missing argument"), + PJ_BUILD_ERR( PJ_CLI_ETOOMANYARGS, "Too many arguments"), + PJ_BUILD_ERR( PJ_CLI_EINVARG, "Invalid argument"), + PJ_BUILD_ERR( PJ_CLI_EBADNAME, "Command name already exists"), + PJ_BUILD_ERR( PJ_CLI_EBADID, "Command id already exists"), + PJ_BUILD_ERR( PJ_CLI_EBADXML, "Invalid XML format"), + PJ_BUILD_ERR( PJ_CLI_ETELNETLOST, "Connection lost"), }; #endif /* PJ_HAS_ERROR_STRING */ @@ -156,7 +169,8 @@ pj_str_t pjlib_util_strerror(pj_status_t statcode, errstr.slen = pj_ansi_snprintf(buf, bufsize, "Unknown pjlib-util error %d", statcode); - + if (errstr.slen < 1 || errstr.slen >= (pj_ssize_t)bufsize) + errstr.slen = bufsize - 1; return errstr; } diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/getopt.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/getopt.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/getopt.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/getopt.c index 845cef7119e770e5f42ac66e7c9db70470feef64..426fd2792391ea9d3c67ec8dc8ccb8789b10cb41 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/getopt.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/getopt.c @@ -1,4 +1,4 @@ -/* $Id: getopt.c 3550 2011-05-05 05:33:27Z nanang $ */ +/* $Id: getopt.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * pj_getopt entry points * @@ -111,7 +111,7 @@ int pj_optind = 1; causes problems with re-calling pj_getopt as programs generally don't know that. */ -int __getopt_initialized = 0; +static int __getopt_initialized = 0; /* The next char to be scanned in the option-element in which the last option character we returned was found. diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/hmac_md5.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/hmac_md5.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/hmac_md5.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/hmac_md5.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/hmac_sha1.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/hmac_sha1.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/hmac_sha1.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/hmac_sha1.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/http_client.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/http_client.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/http_client.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/http_client.c index 605362075a3ec5c153c7f51db9b8f6ef7f448e8a..30a715e8f21b5bbff7f0c7c655b4c5efb2f5dbea 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/http_client.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/http_client.c @@ -1,4 +1,4 @@ -/* $Id: http_client.c 3841 2011-10-24 09:28:13Z ming $ */ +/* $Id: http_client.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -229,7 +229,7 @@ static pj_bool_t http_on_data_sent(pj_activesock_t *asock, return PJ_FALSE; if (sent <= 0) { - hreq->error = (sent < 0 ? -sent : PJLIB_UTIL_EHTTPLOST); + hreq->error = (sent < 0 ? (pj_status_t)-sent : PJLIB_UTIL_EHTTPLOST); pj_http_req_cancel(hreq, PJ_TRUE); return PJ_FALSE; } @@ -655,7 +655,7 @@ static pj_status_t http_response_parse(pj_pool_t *pool, return PJLIB_UTIL_EHTTPINCHDR; *remainder = size - 1 - i; - pj_bzero(response, sizeof(response)); + pj_bzero(response, sizeof(*response)); response->content_length = -1; newdata = (char*) pj_pool_alloc(pool, i); @@ -773,7 +773,7 @@ PJ_DEF(void) pj_http_req_param_default(pj_http_req_param *param) * user:passwd part of an URI. If user:passwd part is not * present, NULL will be returned. */ -static char *get_url_at_pos(const char *str, long len) +static char *get_url_at_pos(const char *str, pj_size_t len) { const char *end = str + len; const char *p = str; @@ -801,7 +801,7 @@ PJ_DEF(pj_status_t) pj_http_req_parse_url(const pj_str_t *url, pj_http_url *hurl) { pj_scanner scanner; - int len = url->slen; + pj_size_t len = url->slen; PJ_USE_EXCEPTION; if (!len) return -1; @@ -973,7 +973,7 @@ PJ_DEF(pj_status_t) pj_http_req_create(pj_pool_t *pool, /* Remove "username:password@" from the URL */ pj_assert(user_pos != 0 && user_pos < at_pos); user_pos += 2; - removed_len = at_pos + 1 - user_pos; + removed_len = (int)(at_pos + 1 - user_pos); pj_memmove(user_pos, at_pos+1, hreq->url.ptr+hreq->url.slen-at_pos-1); hreq->url.slen -= removed_len; @@ -1159,12 +1159,12 @@ static pj_status_t auth_respond_basic(pj_http_req *hreq) else phdr->name = pj_str("Proxy-Authorization"); - len = PJ_BASE256_TO_BASE64_LEN(user_pass.slen) + 10; + len = (int)(PJ_BASE256_TO_BASE64_LEN(user_pass.slen) + 10); phdr->value.ptr = (char*)pj_pool_alloc(hreq->pool, len); phdr->value.slen = 0; pj_strcpy2(&phdr->value, "Basic "); - len -= phdr->value.slen; + len -= (int)phdr->value.slen; pj_base64_encode((pj_uint8_t*)user_pass.ptr, (int)user_pass.slen, phdr->value.ptr + phdr->value.slen, &len); phdr->value.slen += len; @@ -1175,7 +1175,8 @@ static pj_status_t auth_respond_basic(pj_http_req *hreq) /** Length of digest string. */ #define MD5_STRLEN 32 /* A macro just to get rid of type mismatch between char and unsigned char */ -#define MD5_APPEND(pms,buf,len) pj_md5_update(pms, (const pj_uint8_t*)buf, len) +#define MD5_APPEND(pms,buf,len) pj_md5_update(pms, (const pj_uint8_t*)buf, \ + (unsigned)len) /* Transform digest to string. * output must be at least PJSIP_MD5STRLEN+1 bytes. @@ -1337,7 +1338,7 @@ static pj_status_t auth_respond_digest(pj_http_req *hreq) phdr->name = pj_str("Proxy-Authorization"); /* Allocate space for the header */ - len = 8 + /* Digest */ + len = (int)(8 + /* Digest */ 16 + hreq->param.auth_cred.username.slen + /* username= */ 12 + chal->realm.slen + /* realm= */ 12 + chal->nonce.slen + /* nonce= */ @@ -1348,7 +1349,7 @@ static pj_status_t auth_respond_digest(pj_http_req *hreq) 8 + /* nc=.. */ 30 + /* cnonce= */ 12 + chal->opaque.slen + /* opaque=".." */ - 0; + 0); phdr->value.ptr = (char*)pj_pool_alloc(hreq->pool, len); /* Configure buffer to temporarily store the digest */ @@ -1357,6 +1358,7 @@ static pj_status_t auth_respond_digest(pj_http_req *hreq) if (chal->qop.slen == 0) { const pj_str_t STR_MD5 = { "MD5", 3 }; + int max_len; /* Server doesn't require quality of protection. */ auth_create_digest_response(&digest_response, cred, @@ -1364,8 +1366,9 @@ static pj_status_t auth_respond_digest(pj_http_req *hreq) &hreq->hurl.path, &chal->realm, &hreq->param.method); + max_len = len; len = pj_ansi_snprintf( - phdr->value.ptr, len, + phdr->value.ptr, max_len, "Digest username=\"%.*s\", " "realm=\"%.*s\", " "nonce=\"%.*s\", " @@ -1378,7 +1381,7 @@ static pj_status_t auth_respond_digest(pj_http_req *hreq) STR_PREC(hreq->hurl.path), STR_PREC(STR_MD5), STR_PREC(digest_response)); - if (len < 0) + if (len < 0 || len >= max_len) return PJ_ETOOSMALL; phdr->value.slen = len; @@ -1390,13 +1393,15 @@ static pj_status_t auth_respond_digest(pj_http_req *hreq) const pj_str_t qop = pj_str("auth"); const pj_str_t nc = pj_str("00000001"); const pj_str_t cnonce = pj_str("b39971"); + int max_len; auth_create_digest_response(&digest_response, cred, &chal->nonce, &nc, &cnonce, &qop, &hreq->hurl.path, &chal->realm, &hreq->param.method); + max_len = len; len = pj_ansi_snprintf( - phdr->value.ptr, len, + phdr->value.ptr, max_len, "Digest username=\"%.*s\", " "realm=\"%.*s\", " "nonce=\"%.*s\", " @@ -1415,7 +1420,7 @@ static pj_status_t auth_respond_digest(pj_http_req *hreq) STR_PREC(qop), STR_PREC(nc), STR_PREC(cnonce)); - if (len < 0) + if (len < 0 || len >= max_len) return PJ_ETOOSMALL; phdr->value.slen = len; @@ -1491,8 +1496,8 @@ on_error: /* snprintf() to a pj_str_t struct with an option to append the * result at the back of the string. */ -void str_snprintf(pj_str_t *s, size_t size, - pj_bool_t append, const char *format, ...) +static void str_snprintf(pj_str_t *s, size_t size, + pj_bool_t append, const char *format, ...) { va_list arg; int retval; @@ -1537,8 +1542,8 @@ static pj_status_t http_req_start_sending(pj_http_req *hreq) /* Header field "Content-Length" */ pj_utoa(hreq->param.reqdata.total_size ? - hreq->param.reqdata.total_size: - hreq->param.reqdata.size, buf); + (unsigned long)hreq->param.reqdata.total_size: + (unsigned long)hreq->param.reqdata.size, buf); str_snprintf(&pkt, BUF_SIZE, PJ_TRUE, "%s: %s\r\n", CONTENT_LENGTH, buf); } diff --git a/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/json.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/json.c new file mode 100644 index 0000000000000000000000000000000000000000..192547a9ba3d4120d7ad43698f66720ecba3d34a --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/json.c @@ -0,0 +1,622 @@ +/* $Id: json.c 4761 2014-02-24 09:02:44Z nanang $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjlib-util/json.h> +#include <pjlib-util/errno.h> +#include <pjlib-util/scanner.h> +#include <pj/assert.h> +#include <pj/ctype.h> +#include <pj/except.h> +#include <pj/string.h> + +#define EL_INIT(p_el, nm, typ) do { \ + if (nm) { \ + p_el->name = *nm; \ + } else { \ + p_el->name.ptr = (char*)""; \ + p_el->name.slen = 0; \ + } \ + p_el->type = typ; \ + } while (0) + +struct write_state; +struct parse_state; + +#define NO_NAME 1 + +static pj_status_t elem_write(const pj_json_elem *elem, + struct write_state *st, + unsigned flags); +static pj_json_elem* parse_elem_throw(struct parse_state *st, + pj_json_elem *elem); + + +PJ_DEF(void) pj_json_elem_null(pj_json_elem *el, pj_str_t *name) +{ + EL_INIT(el, name, PJ_JSON_VAL_NULL); +} + +PJ_DEF(void) pj_json_elem_bool(pj_json_elem *el, pj_str_t *name, + pj_bool_t val) +{ + EL_INIT(el, name, PJ_JSON_VAL_BOOL); + el->value.is_true = val; +} + +PJ_DEF(void) pj_json_elem_number(pj_json_elem *el, pj_str_t *name, + float val) +{ + EL_INIT(el, name, PJ_JSON_VAL_NUMBER); + el->value.num = val; +} + +PJ_DEF(void) pj_json_elem_string( pj_json_elem *el, pj_str_t *name, + pj_str_t *value) +{ + EL_INIT(el, name, PJ_JSON_VAL_STRING); + el->value.str = *value; +} + +PJ_DEF(void) pj_json_elem_array(pj_json_elem *el, pj_str_t *name) +{ + EL_INIT(el, name, PJ_JSON_VAL_ARRAY); + pj_list_init(&el->value.children); +} + +PJ_DEF(void) pj_json_elem_obj(pj_json_elem *el, pj_str_t *name) +{ + EL_INIT(el, name, PJ_JSON_VAL_OBJ); + pj_list_init(&el->value.children); +} + +PJ_DEF(void) pj_json_elem_add(pj_json_elem *el, pj_json_elem *child) +{ + pj_assert(el->type == PJ_JSON_VAL_OBJ || el->type == PJ_JSON_VAL_ARRAY); + pj_list_push_back(&el->value.children, child); +} + +struct parse_state +{ + pj_pool_t *pool; + pj_scanner scanner; + pj_json_err_info *err_info; + pj_cis_t float_spec; /* numbers with dot! */ +}; + +static pj_status_t parse_children(struct parse_state *st, + pj_json_elem *parent) +{ + char end_quote = (parent->type == PJ_JSON_VAL_ARRAY)? ']' : '}'; + + pj_scan_get_char(&st->scanner); + + while (*st->scanner.curptr != end_quote) { + pj_json_elem *child; + + while (*st->scanner.curptr == ',') + pj_scan_get_char(&st->scanner); + + if (*st->scanner.curptr == end_quote) + break; + + child = parse_elem_throw(st, NULL); + if (!child) + return PJLIB_UTIL_EINJSON; + + pj_json_elem_add(parent, child); + } + + pj_scan_get_char(&st->scanner); + return PJ_SUCCESS; +} + +/* Return 0 if success or the index of the invalid char in the string */ +static unsigned parse_quoted_string(struct parse_state *st, + pj_str_t *output) +{ + pj_str_t token; + char *op, *ip, *iend; + + pj_scan_get_quote(&st->scanner, '"', '"', &token); + + /* Remove the quote characters */ + token.ptr++; + token.slen-=2; + + if (pj_strchr(&token, '\\') == NULL) { + *output = token; + return 0; + } + + output->ptr = op = pj_pool_alloc(st->pool, token.slen); + + ip = token.ptr; + iend = token.ptr + token.slen; + + while (ip != iend) { + if (*ip == '\\') { + ++ip; + if (ip==iend) { + goto on_error; + } + if (*ip == 'u') { + ip++; + if (iend - ip < 4) { + ip = iend -1; + goto on_error; + } + /* Only use the last two hext digits because we're on + * ASCII */ + *op++ = (char)(pj_hex_digit_to_val(ip[2]) * 16 + + pj_hex_digit_to_val(ip[3])); + ip += 4; + } else if (*ip=='"' || *ip=='\\' || *ip=='/') { + *op++ = *ip++; + } else if (*ip=='b') { + *op++ = '\b'; + ip++; + } else if (*ip=='f') { + *op++ = '\f'; + ip++; + } else if (*ip=='n') { + *op++ = '\n'; + ip++; + } else if (*ip=='r') { + *op++ = '\r'; + ip++; + } else if (*ip=='t') { + *op++ = '\t'; + ip++; + } else { + goto on_error; + } + } else { + *op++ = *ip++; + } + } + + output->slen = op - output->ptr; + return 0; + +on_error: + output->slen = op - output->ptr; + return (unsigned)(ip - token.ptr); +} + +static pj_json_elem* parse_elem_throw(struct parse_state *st, + pj_json_elem *elem) +{ + pj_str_t name = {NULL, 0}, value = {NULL, 0}; + pj_str_t token; + + if (!elem) + elem = pj_pool_alloc(st->pool, sizeof(*elem)); + + /* Parse name */ + if (*st->scanner.curptr == '"') { + pj_scan_get_char(&st->scanner); + pj_scan_get_until_ch(&st->scanner, '"', &token); + pj_scan_get_char(&st->scanner); + + if (*st->scanner.curptr == ':') { + pj_scan_get_char(&st->scanner); + name = token; + } else { + value = token; + } + } + + if (value.slen) { + /* Element with string value and no name */ + pj_json_elem_string(elem, &name, &value); + return elem; + } + + /* Parse value */ + if (pj_cis_match(&st->float_spec, *st->scanner.curptr) || + *st->scanner.curptr == '-') + { + float val; + pj_bool_t neg = PJ_FALSE; + + if (*st->scanner.curptr == '-') { + pj_scan_get_char(&st->scanner); + neg = PJ_TRUE; + } + + pj_scan_get(&st->scanner, &st->float_spec, &token); + val = pj_strtof(&token); + if (neg) val = -val; + + pj_json_elem_number(elem, &name, val); + + } else if (*st->scanner.curptr == '"') { + unsigned err; + char *start = st->scanner.curptr; + + err = parse_quoted_string(st, &token); + if (err) { + st->scanner.curptr = start + err; + return NULL; + } + + pj_json_elem_string(elem, &name, &token); + + } else if (pj_isalpha(*st->scanner.curptr)) { + + if (pj_scan_strcmp(&st->scanner, "false", 5)==0) { + pj_json_elem_bool(elem, &name, PJ_FALSE); + pj_scan_advance_n(&st->scanner, 5, PJ_TRUE); + } else if (pj_scan_strcmp(&st->scanner, "true", 4)==0) { + pj_json_elem_bool(elem, &name, PJ_TRUE); + pj_scan_advance_n(&st->scanner, 4, PJ_TRUE); + } else if (pj_scan_strcmp(&st->scanner, "null", 4)==0) { + pj_json_elem_null(elem, &name); + pj_scan_advance_n(&st->scanner, 4, PJ_TRUE); + } else { + return NULL; + } + + } else if (*st->scanner.curptr == '[') { + pj_json_elem_array(elem, &name); + if (parse_children(st, elem) != PJ_SUCCESS) + return NULL; + + } else if (*st->scanner.curptr == '{') { + pj_json_elem_obj(elem, &name); + if (parse_children(st, elem) != PJ_SUCCESS) + return NULL; + + } else { + return NULL; + } + + return elem; +} + +static void on_syntax_error(pj_scanner *scanner) +{ + PJ_UNUSED_ARG(scanner); + PJ_THROW(11); +} + +PJ_DEF(pj_json_elem*) pj_json_parse(pj_pool_t *pool, + char *buffer, + unsigned *size, + pj_json_err_info *err_info) +{ + pj_cis_buf_t cis_buf; + struct parse_state st; + pj_json_elem *root; + PJ_USE_EXCEPTION; + + PJ_ASSERT_RETURN(pool && buffer && size, NULL); + + if (!*size) + return NULL; + + pj_bzero(&st, sizeof(st)); + st.pool = pool; + st.err_info = err_info; + pj_scan_init(&st.scanner, buffer, *size, + PJ_SCAN_AUTOSKIP_WS | PJ_SCAN_AUTOSKIP_NEWLINE, + &on_syntax_error); + pj_cis_buf_init(&cis_buf); + pj_cis_init(&cis_buf, &st.float_spec); + pj_cis_add_str(&st.float_spec, ".0123456789"); + + PJ_TRY { + root = parse_elem_throw(&st, NULL); + } + PJ_CATCH_ANY { + root = NULL; + } + PJ_END + + if (!root && err_info) { + err_info->line = st.scanner.line; + err_info->col = pj_scan_get_col(&st.scanner) + 1; + err_info->err_char = *st.scanner.curptr; + } + + *size = (unsigned)((buffer + *size) - st.scanner.curptr); + + pj_scan_fini(&st.scanner); + + return root; +} + +struct buf_writer_data +{ + char *pos; + unsigned size; +}; + +static pj_status_t buf_writer(const char *s, + unsigned size, + void *user_data) +{ + struct buf_writer_data *buf_data = (struct buf_writer_data*)user_data; + if (size+1 >= buf_data->size) + return PJ_ETOOBIG; + + pj_memcpy(buf_data->pos, s, size); + buf_data->pos += size; + buf_data->size -= size; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_json_write(const pj_json_elem *elem, + char *buffer, unsigned *size) +{ + struct buf_writer_data buf_data; + pj_status_t status; + + PJ_ASSERT_RETURN(elem && buffer && size, PJ_EINVAL); + + buf_data.pos = buffer; + buf_data.size = *size; + + status = pj_json_writef(elem, &buf_writer, &buf_data); + if (status != PJ_SUCCESS) + return status; + + *buf_data.pos = '\0'; + *size = (unsigned)(buf_data.pos - buffer); + return PJ_SUCCESS; +} + +#define MAX_INDENT 100 +#ifndef PJ_JSON_NAME_MIN_LEN +# define PJ_JSON_NAME_MIN_LEN 20 +#endif +#define ESC_BUF_LEN 64 +#ifndef PJ_JSON_INDENT_SIZE +# define PJ_JSON_INDENT_SIZE 3 +#endif + +struct write_state +{ + pj_json_writer writer; + void *user_data; + char indent_buf[MAX_INDENT]; + int indent; + char space[PJ_JSON_NAME_MIN_LEN]; +}; + +#define CHECK(expr) do { \ + status=expr; if (status!=PJ_SUCCESS) return status; } \ + while (0) + +static pj_status_t write_string_escaped(const pj_str_t *value, + struct write_state *st) +{ + const char *ip = value->ptr; + const char *iend = value->ptr + value->slen; + char buf[ESC_BUF_LEN]; + char *op = buf; + char *oend = buf + ESC_BUF_LEN; + pj_status_t status; + + while (ip != iend) { + /* Write to buffer to speedup writing instead of calling + * the callback one by one for each character. + */ + while (ip != iend && op != oend) { + if (oend - op < 2) + break; + + if (*ip == '"') { + *op++ = '\\'; + *op++ = '"'; + ip++; + } else if (*ip == '\\') { + *op++ = '\\'; + *op++ = '\\'; + ip++; + } else if (*ip == '/') { + *op++ = '\\'; + *op++ = '/'; + ip++; + } else if (*ip == '\b') { + *op++ = '\\'; + *op++ = 'b'; + ip++; + } else if (*ip == '\f') { + *op++ = '\\'; + *op++ = 'f'; + ip++; + } else if (*ip == '\n') { + *op++ = '\\'; + *op++ = 'n'; + ip++; + } else if (*ip == '\r') { + *op++ = '\\'; + *op++ = 'r'; + ip++; + } else if (*ip == '\t') { + *op++ = '\\'; + *op++ = 't'; + ip++; + } else if ((*ip >= 32 && *ip < 127)) { + /* unescaped */ + *op++ = *ip++; + } else { + /* escaped */ + if (oend - op < 6) + break; + *op++ = '\\'; + *op++ = 'u'; + *op++ = '0'; + *op++ = '0'; + pj_val_to_hex_digit(*ip, op); + op+=2; + ip++; + } + } + + CHECK( st->writer( buf, (unsigned)(op-buf), st->user_data) ); + op = buf; + } + + return PJ_SUCCESS; +} + +static pj_status_t write_children(const pj_json_list *list, + const char quotes[2], + struct write_state *st) +{ + unsigned flags = (quotes[0]=='[') ? NO_NAME : 0; + pj_status_t status; + + //CHECK( st->writer( st->indent_buf, st->indent, st->user_data) ); + CHECK( st->writer( "es[0], 1, st->user_data) ); + CHECK( st->writer( " ", 1, st->user_data) ); + + if (!pj_list_empty(list)) { + pj_bool_t indent_added = PJ_FALSE; + pj_json_elem *child = list->next; + + if (child->name.slen == 0) { + /* Simple list */ + while (child != (pj_json_elem*)list) { + status = elem_write(child, st, flags); + if (status != PJ_SUCCESS) + return status; + + if (child->next != (pj_json_elem*)list) + CHECK( st->writer( ", ", 2, st->user_data) ); + child = child->next; + } + } else { + if (st->indent < sizeof(st->indent_buf)) { + st->indent += PJ_JSON_INDENT_SIZE; + indent_added = PJ_TRUE; + } + CHECK( st->writer( "\n", 1, st->user_data) ); + while (child != (pj_json_elem*)list) { + status = elem_write(child, st, flags); + if (status != PJ_SUCCESS) + return status; + + if (child->next != (pj_json_elem*)list) + CHECK( st->writer( ",\n", 2, st->user_data) ); + else + CHECK( st->writer( "\n", 1, st->user_data) ); + child = child->next; + } + if (indent_added) { + st->indent -= PJ_JSON_INDENT_SIZE; + } + CHECK( st->writer( st->indent_buf, st->indent, st->user_data) ); + } + } + CHECK( st->writer( "es[1], 1, st->user_data) ); + + return PJ_SUCCESS; +} + +static pj_status_t elem_write(const pj_json_elem *elem, + struct write_state *st, + unsigned flags) +{ + pj_status_t status; + + if (elem->name.slen) { + CHECK( st->writer( st->indent_buf, st->indent, st->user_data) ); + if ((flags & NO_NAME)==0) { + CHECK( st->writer( "\"", 1, st->user_data) ); + CHECK( write_string_escaped(&elem->name, st) ); + CHECK( st->writer( "\": ", 3, st->user_data) ); + if (elem->name.slen < PJ_JSON_NAME_MIN_LEN /*&& + elem->type != PJ_JSON_VAL_OBJ && + elem->type != PJ_JSON_VAL_ARRAY*/) + { + CHECK( st->writer( st->space, + (unsigned)(PJ_JSON_NAME_MIN_LEN - + elem->name.slen), + st->user_data) ); + } + } + } + + switch (elem->type) { + case PJ_JSON_VAL_NULL: + CHECK( st->writer( "null", 4, st->user_data) ); + break; + case PJ_JSON_VAL_BOOL: + if (elem->value.is_true) + CHECK( st->writer( "true", 4, st->user_data) ); + else + CHECK( st->writer( "false", 5, st->user_data) ); + break; + case PJ_JSON_VAL_NUMBER: + { + char num_buf[65]; + int len; + + if (elem->value.num == (int)elem->value.num) + len = pj_ansi_snprintf(num_buf, sizeof(num_buf), "%d", + (int)elem->value.num); + else + len = pj_ansi_snprintf(num_buf, sizeof(num_buf), "%f", + elem->value.num); + + if (len < 0 || len >= sizeof(num_buf)) + return PJ_ETOOBIG; + CHECK( st->writer( num_buf, len, st->user_data) ); + } + break; + case PJ_JSON_VAL_STRING: + CHECK( st->writer( "\"", 1, st->user_data) ); + CHECK( write_string_escaped( &elem->value.str, st) ); + CHECK( st->writer( "\"", 1, st->user_data) ); + break; + case PJ_JSON_VAL_ARRAY: + CHECK( write_children(&elem->value.children, "[]", st) ); + break; + case PJ_JSON_VAL_OBJ: + CHECK( write_children(&elem->value.children, "{}", st) ); + break; + default: + pj_assert(!"Unhandled value type"); + } + + return PJ_SUCCESS; +} + +#undef CHECK + +PJ_DEF(pj_status_t) pj_json_writef( const pj_json_elem *elem, + pj_json_writer writer, + void *user_data) +{ + struct write_state st; + + PJ_ASSERT_RETURN(elem && writer, PJ_EINVAL); + + st.writer = writer; + st.user_data = user_data, + st.indent = 0; + pj_memset(st.indent_buf, ' ', MAX_INDENT); + pj_memset(st.space, ' ', PJ_JSON_NAME_MIN_LEN); + + return elem_write(elem, &st, 0); +} + diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/md5.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/md5.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/md5.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/md5.c index 41545ea722adc0299a66a70b2aac593e0e8e220c..1168a548e5ff92980817fd0d9f7b8512f04f5e83 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/md5.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/md5.c @@ -1,4 +1,4 @@ -/* $Id: md5.c 1001 2007-02-25 15:38:32Z bennylp $ */ +/* $Id: md5.c 4614 2013-10-08 11:13:11Z bennylp $ */ /* * This is the implementation of MD5 algorithm, based on the code * written by Colin Plumb. This file is put in public domain. @@ -157,7 +157,7 @@ PJ_DEF(void) pj_md5_final(pj_md5_context *ctx, unsigned char digest[16]) MD5Transform(ctx->buf, (pj_uint32_t *) ctx->in); byteReverse((unsigned char *) ctx->buf, 4); pj_memcpy(digest, ctx->buf, 16); - pj_bzero(ctx, sizeof(ctx)); /* In case it's sensitive */ + pj_bzero(ctx, sizeof(*ctx)); /* In case it's sensitive */ } #ifndef ASM_MD5 diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/pcap.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/pcap.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/pcap.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/pcap.c index 65d7dcd7b74fc1256f4aaec1a7238d505a3f77e5..a43f2fa90c8184b6235d5283813650b73e641536 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/pcap.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/pcap.c @@ -1,4 +1,4 @@ -/* $Id: pcap.c 3841 2011-10-24 09:28:13Z ming $ */ +/* $Id: pcap.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -228,14 +228,14 @@ PJ_DEF(pj_status_t) pj_pcap_read_udp(pj_pcap_file *file, } tmp; unsigned rec_incl; pj_ssize_t sz; - unsigned sz_read = 0; + pj_size_t sz_read = 0; pj_status_t status; TRACE_((file->obj_name, "Reading packet..")); /* Read PCAP packet header */ sz = sizeof(tmp.rec); - status = read_file(file, &tmp.rec, &sz); + status = read_file(file, &tmp.rec, &sz); if (status != PJ_SUCCESS) { TRACE_((file->obj_name, "read_file() error: %d", status)); return status; diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/resolver.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/resolver.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/resolver.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/resolver.c index 25c6067ec327fae80513c49db946f9151d798aaf..320229b4a016289c651828eb446c7a585ef389f7 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/resolver.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/resolver.c @@ -1,4 +1,4 @@ -/* $Id: resolver.c 4333 2013-01-23 09:53:39Z nanang $ */ +/* $Id: resolver.c 4649 2013-11-07 08:20:30Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -157,6 +157,7 @@ struct cached_res pj_hash_entry_buf hbuf; /**< Hash buffer */ pj_time_val expiry_time; /**< Expiration time. */ pj_dns_parsed_packet *pkt; /**< The response packet. */ + unsigned ref_cnt; /**< Reference counter. */ }; @@ -672,7 +673,8 @@ static pj_status_t transmit_query(pj_dns_resolver *resolver, */ static void init_res_key(struct res_key *key, int type, const pj_str_t *name) { - unsigned i, len; + unsigned i; + pj_size_t len; char *dst = key->name; const char *src = name->ptr; @@ -699,10 +701,29 @@ static struct cached_res *alloc_entry(pj_dns_resolver *resolver) RES_BUF_SZ, 256, NULL); cache = PJ_POOL_ZALLOC_T(pool, struct cached_res); cache->pool = pool; + cache->ref_cnt = 1; return cache; } +/* Re-allocate cache entry, to free cached packet */ +static void reset_entry(struct cached_res **p_cached) +{ + pj_pool_t *pool; + struct cached_res *cache = *p_cached; + unsigned ref_cnt; + + pool = cache->pool; + ref_cnt = cache->ref_cnt; + + pj_pool_reset(pool); + + cache = PJ_POOL_ZALLOC_T(pool, struct cached_res); + cache->pool = pool; + cache->ref_cnt = ref_cnt; + *p_cached = cache; +} + /* Put unused/expired cached entry to the free list */ static void free_entry(pj_dns_resolver *resolver, struct cached_res *cache) { @@ -774,6 +795,13 @@ PJ_DEF(pj_status_t) pj_dns_resolver_start_query( pj_dns_resolver *resolver, status = PJ_DNS_GET_RCODE(cache->pkt->hdr.flags); status = PJ_STATUS_FROM_DNS_RCODE(status); + /* Workaround for deadlock problem. Need to increment the cache's + * ref counter first before releasing mutex, so the cache won't be + * destroyed by other thread while in callback. + */ + cache->ref_cnt++; + pj_mutex_unlock(resolver->mutex); + /* This cached response is still valid. Just return this * response to caller. */ @@ -782,6 +810,14 @@ PJ_DEF(pj_status_t) pj_dns_resolver_start_query( pj_dns_resolver *resolver, } /* Done. No host resolution is necessary */ + pj_mutex_lock(resolver->mutex); + + /* Decrement the ref counter. Also check if it is time to free + * the cache (as it has been expired). + */ + cache->ref_cnt--; + if (cache->ref_cnt <= 0) + free_entry(resolver, cache); /* Must return PJ_SUCCESS */ status = PJ_SUCCESS; @@ -794,8 +830,10 @@ PJ_DEF(pj_status_t) pj_dns_resolver_start_query( pj_dns_resolver *resolver, */ pj_hash_set(NULL, resolver->hrescache, &key, sizeof(key), 0, NULL); - /* Store the entry into free nodes */ - free_entry(resolver, cache); + /* Also free the cache, if it is not being used (by callback). */ + cache->ref_cnt--; + if (cache->ref_cnt <= 0) + free_entry(resolver, cache); /* Must continue with creating a query now */ } @@ -883,8 +921,8 @@ PJ_DEF(pj_status_t) pj_dns_parse_a_response(const pj_dns_parsed_packet *pkt, { enum { MAX_SEARCH = 20 }; pj_str_t hostname, alias = {NULL, 0}, *resname; - unsigned bufstart = 0; - unsigned bufleft = sizeof(rec->buf_); + pj_size_t bufstart = 0; + pj_size_t bufleft = sizeof(rec->buf_); unsigned i, ansidx, search_cnt=0; PJ_ASSERT_RETURN(pkt && rec, PJ_EINVAL); @@ -1159,9 +1197,12 @@ static void update_res_cache(pj_dns_resolver *resolver, if (status != PJ_SUCCESS) { cache = (struct cached_res *) pj_hash_get(resolver->hrescache, key, sizeof(*key), &hval); - if (cache) - free_entry(resolver, cache); + /* Remove the entry before releasing its pool (see ticket #1710) */ pj_hash_set(NULL, resolver->hrescache, key, sizeof(*key), hval, NULL); + + /* Free the entry */ + if (cache && --cache->ref_cnt <= 0) + free_entry(resolver, cache); } @@ -1195,9 +1236,12 @@ static void update_res_cache(pj_dns_resolver *resolver, if (ttl == 0) { cache = (struct cached_res *) pj_hash_get(resolver->hrescache, key, sizeof(*key), &hval); - if (cache) - free_entry(resolver, cache); + /* Remove the entry before releasing its pool (see ticket #1710) */ pj_hash_set(NULL, resolver->hrescache, key, sizeof(*key), hval, NULL); + + /* Free the entry */ + if (cache && --cache->ref_cnt <= 0) + free_entry(resolver, cache); return; } @@ -1206,6 +1250,19 @@ static void update_res_cache(pj_dns_resolver *resolver, sizeof(*key), &hval); if (cache == NULL) { cache = alloc_entry(resolver); + } else if (cache->ref_cnt > 1) { + /* When cache entry is being used by callback (to app), just decrement + * ref_cnt so it will be freed after the callback returns and allocate + * new entry. + */ + cache->ref_cnt--; + cache = alloc_entry(resolver); + } else { + /* Remove the entry before resetting its pool (see ticket #1710) */ + pj_hash_set(NULL, resolver->hrescache, key, sizeof(*key), hval, NULL); + + /* Reset cache to avoid bloated cache pool */ + reset_entry(&cache); } /* Duplicate the packet. @@ -1214,7 +1271,6 @@ static void update_res_cache(pj_dns_resolver *resolver, * section since DNS A parser needs the query section to know * the name being requested. */ - cache->pkt = NULL; pj_dns_packet_dup(cache->pool, pkt, PJ_DNS_NO_NS | PJ_DNS_NO_AR, &cache->pkt); @@ -1346,7 +1402,7 @@ static void on_read_complete(pj_ioqueue_key_t *key, if (bytes_read < 0) { char errmsg[PJ_ERR_MSG_SIZE]; - status = -bytes_read; + status = (pj_status_t)-bytes_read; pj_strerror(status, errmsg, sizeof(errmsg)); PJ_LOG(4,(resolver->name.ptr, "DNS resolver read error from %s:%d: %s", diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/resolver_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/resolver_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/resolver_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/resolver_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/scanner.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/scanner.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/scanner.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/scanner.c index ba1152e2588053b03bbd73bfb88b110726375868..a8c939dea47595c60f0f15597e75de512dfa59f1 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/scanner.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/scanner.c @@ -1,4 +1,4 @@ -/* $Id: scanner.c 4209 2012-07-18 10:21:00Z ming $ */ +/* $Id: scanner.c 4641 2013-11-04 09:05:43Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -111,8 +111,9 @@ PJ_DEF(void) pj_cis_invert( pj_cis_t *cis ) } } -PJ_DEF(void) pj_scan_init( pj_scanner *scanner, char *bufstart, int buflen, - unsigned options, pj_syn_err_func_ptr callback ) +PJ_DEF(void) pj_scan_init( pj_scanner *scanner, char *bufstart, + pj_size_t buflen, unsigned options, + pj_syn_err_func_ptr callback ) { PJ_CHECK_STACK(); @@ -382,21 +383,17 @@ PJ_DEF(void) pj_scan_get_quotes(pj_scanner *scanner, /* check that no backslash character precedes the end_quote. */ if (*s == end_quote[qpair]) { if (*(s-1) == '\\') { - if (s-2 == scanner->begin) { + char *q = s-2; + char *r = s-2; + + while (r != scanner->begin && *r == '\\') { + --r; + } + /* break from main loop if we have odd number of backslashes */ + if (((unsigned)(q-r) & 0x01) == 1) { break; - } else { - char *q = s-2; - char *r = s-2; - - while (r != scanner->begin && *r == '\\') { - --r; - } - /* break from main loop if we have odd number of backslashes */ - if (((unsigned)(q-r) & 0x01) == 1) { - break; - } - ++s; } + ++s; } else { /* end_quote is not preceeded by backslash. break now. */ break; @@ -549,7 +546,7 @@ PJ_DEF(void) pj_scan_get_until_chr( pj_scanner *scanner, const char *until_spec, pj_str_t *out) { register char *s = scanner->curptr; - int speclen; + pj_size_t speclen; if (s >= scanner->end) { pj_scan_syntax_err(scanner); diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/scanner_cis_uint.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/scanner_cis_uint.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/scanner_cis_uint.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/scanner_cis_uint.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/sha1.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/sha1.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/sha1.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/sha1.c index e006b1a9e785e392cb24a0135b9909feaa8e813a..c9b49740563f1a6c01e68c8422d0fc67aff1beaf 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/sha1.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/sha1.c @@ -1,4 +1,4 @@ -/* $Id: sha1.c 3549 2011-05-05 05:10:06Z nanang $ */ +/* $Id: sha1.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Modified 2/07 * By Benny Prijono <benny@prijono.org> @@ -209,8 +209,9 @@ PJ_DEF(void) pj_sha1_update(pj_sha1_context* context, pj_size_t i, j; j = (context->count[0] >> 3) & 63; - if ((context->count[0] += len << 3) < (len << 3)) context->count[1]++; - context->count[1] += (len >> 29); + if ((context->count[0] += (pj_uint32_t)len << 3) < (len << 3)) + context->count[1]++; + context->count[1] += ((pj_uint32_t)len >> 29); if ((j + len) > 63) { pj_memcpy(&context->buffer[j], data, (i = 64-j)); SHA1_Transform(context->state, context->buffer); diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/srv_resolver.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/srv_resolver.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/srv_resolver.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/srv_resolver.c index 8f133cf6f1d9a41a45ada317ff4f8325fe272aed..996b4f8f09f61f824133d7d159df9303c3784c87 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/srv_resolver.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/srv_resolver.c @@ -1,4 +1,4 @@ -/* $Id: srv_resolver.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: srv_resolver.c 4774 2014-02-28 10:14:24Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -102,7 +102,7 @@ PJ_DEF(pj_status_t) pj_dns_srv_resolve( const pj_str_t *domain_name, pj_dns_srv_resolver_cb *cb, pj_dns_srv_async_query **p_query) { - int len; + pj_size_t len; pj_str_t target_name; pj_dns_srv_async_query *query_job; pj_status_t status; @@ -254,10 +254,7 @@ static void build_server_entries(pj_dns_srv_async_query *query_job, } /* Second pass: - * pick one host among hosts with the same priority, according - * to its weight. The idea is when one server fails, client should - * contact the next server with higher priority rather than contacting - * server with the same priority as the failed one. + * Order the entry in a list. * * The algorithm for selecting server among servers with the same * priority is described in RFC 2782. @@ -298,12 +295,15 @@ static void build_server_entries(pj_dns_srv_async_query *query_job, SWAP(struct srv_target, &query_job->srv[i], &query_job->srv[j]); /* Remove all other entries (of the same priority) */ + /* Don't need to do this. + * See https://trac.pjsip.org/repos/ticket/1719 while (count > 1) { pj_array_erase(query_job->srv, sizeof(struct srv_target), query_job->srv_cnt, i+1); --count; --query_job->srv_cnt; } + */ } } diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/string.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/string.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/string.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/string.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/stun_simple.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/stun_simple.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/stun_simple.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/stun_simple.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/stun_simple_client.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/stun_simple_client.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/stun_simple_client.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/stun_simple_client.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/symbols.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/symbols.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/symbols.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/symbols.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/xml.c b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/xml.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/xml.c rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/xml.c index c961596b34da9db46d0c4d710e8ef50e7b602877..2220566d38946082c15d831bee0e617c9ddb8668 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/xml.c +++ b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/xml.c @@ -1,4 +1,4 @@ -/* $Id: xml.c 3999 2012-03-30 07:10:13Z bennylp $ */ +/* $Id: xml.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -235,7 +235,7 @@ static int xml_print_node( const pj_xml_node *node, int indent, *p++ = ' '; *p++ = '/'; *p++ = '>'; - return p-buf; + return (int)(p-buf); } /* Enclosing '>' */ @@ -287,7 +287,7 @@ static int xml_print_node( const pj_xml_node *node, int indent, #undef SIZE_LEFT - return p - buf; + return (int)(p-buf); } PJ_DEF(int) pj_xml_print(const pj_xml_node *node, char *buf, pj_size_t len, @@ -304,7 +304,7 @@ PJ_DEF(int) pj_xml_print(const pj_xml_node *node, char *buf, pj_size_t len, if ((int)len < prolog.slen) return -1; pj_memcpy(buf, prolog.ptr, prolog.slen); - prolog_len = prolog.slen; + prolog_len = (int)prolog.slen; } printed = xml_print_node(node, 0, buf+prolog_len, len-prolog_len) + prolog_len; diff --git a/daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/xml_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/xml_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib-util/src/pjlib-util/xml_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjlib-util/src/pjlib-util/xml_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/Makefile b/daemon/libs/pjproject-2.2.1/pjlib/build/Makefile similarity index 70% rename from daemon/libs/pjproject-2.1.0/pjlib/build/Makefile rename to daemon/libs/pjproject-2.2.1/pjlib/build/Makefile index a36f5f44b463d85bb9e79cbcb35a270b2cf72dbe..1e64950d211dfc6a494a940bafa97f167cdf94d3 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/Makefile +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/Makefile @@ -2,10 +2,18 @@ include ../../build.mak include ../../version.mak include $(PJDIR)/build/common.mak +export LIBDIR := ../lib +export BINDIR := ../bin + RULES_MAK := $(PJDIR)/build/rules.mak +export PJLIB_LIB := libpj-$(TARGET_NAME)$(LIBEXT) -export PJLIB_LIB := ../lib/libpj-$(TARGET_NAME)$(LIBEXT) +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export PJLIB_SONAME := libpj.$(SHLIB_SUFFIX) +export PJLIB_SHLIB := $(PJLIB_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### # Gather all flags. @@ -14,9 +22,9 @@ export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ $(CFLAGS) $(CC_INC)../include export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ $(HOST_CXXFLAGS) $(CXXFLAGS) -export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \ - $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ - $(LDFLAGS) +export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(APP_LDFLAGS) $(LDFLAGS) + ############################################################################### # Defines for building PJLIB library @@ -30,6 +38,8 @@ export PJLIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ ssl_sock_common.o ssl_sock_ossl.o ssl_sock_dump.o \ string.o timer.o types.o export PJLIB_CFLAGS += $(_CFLAGS) +export PJLIB_CXXFLAGS += $(_CXXFLAGS) +export PJLIB_LDFLAGS += $(_LDFLAGS) ############################################################################### # Defines for building test application @@ -44,10 +54,11 @@ export TEST_OBJS += activesock.o atomic.o echo_clt.o errno.o exception.o \ udp_echo_srv_sync.o udp_echo_srv_ioqueue.o \ util.o export TEST_CFLAGS += $(_CFLAGS) -export TEST_LDFLAGS += $(_LDFLAGS) -export TEST_EXE := ../bin/pjlib-test-$(TARGET_NAME)$(HOST_EXE) +export TEST_CXXFLAGS += $(_CXXFLAGS) +export TEST_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS) +export TEST_EXE := pjlib-test-$(TARGET_NAME)$(HOST_EXE) + - export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT ############################################################################### # Main entry @@ -55,7 +66,9 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -all: $(TARGETS) +all: $(TARGETS) $(TARGETS_EXE) + +lib: $(TARGETS) doc: cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg @@ -74,30 +87,38 @@ print: depend: ../include/pj/config_site.h $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib depend $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test depend - echo '$(TEST_EXE): $(PJLIB_LIB)' >> .pjlib-test-$(TARGET_NAME).depend + echo '$(BINDIR)/$(TEST_EXE): $(LIBDIR)/$(PJLIB_LIB)' >> .pjlib-test-$(TARGET_NAME).depend -.PHONY: dep depend pjlib pjlib-test clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PJLIB_LIB) $(PJLIB_SONAME) +.PHONY: $(TEST_EXE) dep: depend -pjlib: ../include/pj/config_site.h - $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(PJLIB_LIB) +pjlib: $(PJLIB_LIB) +$(PJLIB_LIB): ../include/pj/config_site.h + +$(PJLIB_SONAME): $(PJLIB_LIB) +$(PJLIB_LIB) $(PJLIB_SONAME): + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) ../include/pj/config_site.h: touch ../include/pj/config_site.h - -pjlib-test: pjlib - $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(TEST_EXE) -.PHONY: ../lib/pjlib.ko -../lib/pjlib.ko: +pjlib-test: $(TEST_EXE) +$(TEST_EXE): $(PJLIB_LIB) $(PJLIB_SONAME) + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) + +.PHONY: pjlib.ko +pjlib.ko: echo Making $@ - $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $@ + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) -.PHONY: ../lib/pjlib-test.ko -../lib/pjlib-test.ko: - $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $@ +.PHONY: pjlib-test.ko +pjlib-test.ko: + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean: $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib clean diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/cacert.pem b/daemon/libs/pjproject-2.2.1/pjlib/build/cacert.pem similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/build/cacert.pem rename to daemon/libs/pjproject-2.2.1/pjlib/build/cacert.pem diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/os-auto.mak.in b/daemon/libs/pjproject-2.2.1/pjlib/build/os-auto.mak.in similarity index 77% rename from daemon/libs/pjproject-2.1.0/pjlib/build/os-auto.mak.in rename to daemon/libs/pjproject-2.2.1/pjlib/build/os-auto.mak.in index a4a2b8aa0195054e8bbf6f7f1c6db80cd1a8da28..478cc80fce35ed62cebc9de01fc7ea4577b7bd25 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/os-auto.mak.in +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/os-auto.mak.in @@ -23,13 +23,14 @@ export TEST_OBJS += @ac_main_obj@ # # Additional LDFLAGS for pjlib-test # -export TEST_LDFLAGS += @LDFLAGS@ @LIBS@ +# Disabled, as this causes duplicated LDFLAGS, which may raise linking errors +#export TEST_LDFLAGS += @LDFLAGS@ @LIBS@ # # TARGETS are make targets in the Makefile, to be executed for this given # operating system. # -export TARGETS = pjlib pjlib-test - +export TARGETS = $(PJLIB_LIB) $(PJLIB_SONAME) +export TARGETS_EXE = $(TEST_EXE) diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/os-darwinos.mak b/daemon/libs/pjproject-2.2.1/pjlib/build/os-darwinos.mak similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjlib/build/os-darwinos.mak rename to daemon/libs/pjproject-2.2.1/pjlib/build/os-darwinos.mak index ee83decb03562ab406a1c1067848bd679d8b2d0e..a0d99e71122ca8aeedcc73e24c708aa82f32c7f7 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/os-darwinos.mak +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/os-darwinos.mak @@ -33,5 +33,5 @@ export TEST_LDFLAGS += -lm # TARGETS are make targets in the Makefile, to be executed for this given # operating system. # -export TARGETS = pjlib pjlib-test +export TARGETS = $(PJLIB_LIB) $(PJLIB_SONAME) $(TEST_EXE) diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/os-linux-kernel.mak b/daemon/libs/pjproject-2.2.1/pjlib/build/os-linux-kernel.mak similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/build/os-linux-kernel.mak rename to daemon/libs/pjproject-2.2.1/pjlib/build/os-linux-kernel.mak index 934c8898115cdb04d2cbd654180b3b04f77f1553..28cfbc79601eca4c20f323edf778cbb2ef488cff 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/os-linux-kernel.mak +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/os-linux-kernel.mak @@ -42,6 +42,6 @@ export TEST_LDFLAGS += -lgcc # TARGETS are make targets in the Makefile, to be executed for this given # operating system. # -export TARGETS := ../lib/pjlib.ko ../lib/pjlib-test.ko +export TARGETS := pjlib.ko pjlib-test.ko diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/os-linux.mak b/daemon/libs/pjproject-2.2.1/pjlib/build/os-linux.mak similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjlib/build/os-linux.mak rename to daemon/libs/pjproject-2.2.1/pjlib/build/os-linux.mak index 11c6fa73c13577f4d91250852f175d21b56adec7..78123efdd3a7353ab7c4dfaf068f6b862dae4cb1 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/os-linux.mak +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/os-linux.mak @@ -35,5 +35,5 @@ export TEST_LDFLAGS += -lm # TARGETS are make targets in the Makefile, to be executed for this given # operating system. # -export TARGETS = pjlib pjlib-test +export TARGETS = $(PJLIB_LIB) $(PJLIB_SONAME) $(TEST_EXE) diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/os-rtems.mak b/daemon/libs/pjproject-2.2.1/pjlib/build/os-rtems.mak similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib/build/os-rtems.mak rename to daemon/libs/pjproject-2.2.1/pjlib/build/os-rtems.mak index 1501dd9b29df3cb0f1711efcdb84f441f3152a08..30a81f9bfc491f5ea01e2218210e4c62258f01d4 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/os-rtems.mak +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/os-rtems.mak @@ -40,7 +40,7 @@ export TEST_LDFLAGS += # TARGETS are make targets in the Makefile, to be executed for this given # operating system. # -export TARGETS = pjlib pjlib-test +export TARGETS = $(PJLIB_LIB) $(TEST_EXE) diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/os-sunos.mak b/daemon/libs/pjproject-2.2.1/pjlib/build/os-sunos.mak similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjlib/build/os-sunos.mak rename to daemon/libs/pjproject-2.2.1/pjlib/build/os-sunos.mak index f0043ad65c02ebd7b3f5c98319ca2bb856e2ba50..7aa658da70e03915834dbd29cfbd7b79570ddc8a 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/os-sunos.mak +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/os-sunos.mak @@ -32,5 +32,5 @@ export TEST_LDFLAGS += -lm # TARGETS are make targets in the Makefile, to be executed for this given # operating system. # -export TARGETS = pjlib pjlib-test +export TARGETS = $(PJLIB_LIB) $(PJLIB_SONAME) $(TEST_EXE) diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/os-win32.mak b/daemon/libs/pjproject-2.2.1/pjlib/build/os-win32.mak similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/build/os-win32.mak rename to daemon/libs/pjproject-2.2.1/pjlib/build/os-win32.mak index 0290fea955c5ed1c14c2a5c4d667bc0d9eadd9c5..5be3c8e516f9dd3d0cce8001bc97cecb26d25af3 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/os-win32.mak +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/os-win32.mak @@ -29,5 +29,5 @@ export TEST_OBJS += main.o # TARGETS are make targets in the Makefile, to be executed for this given # operating system. # -export TARGETS = pjlib pjlib-test +export TARGETS = $(PJLIB_LIB) $(TEST_EXE) diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/pjlib.vcproj b/daemon/libs/pjproject-2.2.1/pjlib/build/pjlib.vcproj similarity index 74% rename from daemon/libs/pjproject-2.1.0/pjlib/build/pjlib.vcproj rename to daemon/libs/pjproject-2.2.1/pjlib/build/pjlib.vcproj index d50db4711e58b143f69b6ffa09ef8b7be0996b74..6a217a0b72d8f001393095f7d6f73f0e5248b44f 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/pjlib.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/pjlib.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -90,9 +93,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -129,7 +132,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -156,9 +159,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -195,7 +198,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -222,11 +225,12 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -242,13 +246,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -261,7 +266,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -273,26 +277,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -311,7 +308,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -327,7 +323,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -339,27 +334,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -378,6 +364,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -393,6 +380,7 @@ /> <Tool Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -404,16 +392,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -450,7 +446,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -477,11 +473,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -497,10 +494,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -516,7 +513,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -528,26 +524,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -566,7 +555,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -582,7 +570,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -594,24 +581,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -648,7 +627,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -675,12 +654,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -699,6 +677,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -714,6 +693,7 @@ /> <Tool Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -725,18 +705,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -752,13 +741,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -771,7 +761,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -783,26 +772,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -821,7 +803,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -837,7 +818,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -849,24 +829,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -930,9 +902,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -996,9 +968,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1017,6 +989,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -1053,11 +1026,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1076,7 +1050,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1092,7 +1065,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1104,24 +1076,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1158,7 +1122,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1185,9 +1149,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1224,7 +1188,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1251,11 +1215,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1271,13 +1236,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1290,7 +1256,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1302,24 +1267,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1374,9 +1331,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1413,7 +1370,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1440,9 +1397,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1479,7 +1436,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1506,9 +1463,67 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1545,7 +1560,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1572,9 +1587,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1611,7 +1626,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1638,12 +1653,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1662,6 +1676,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1677,6 +1692,7 @@ /> <Tool Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1688,16 +1704,90 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1761,9 +1851,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1827,9 +1917,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1866,7 +1956,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1893,9 +1983,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1932,7 +2022,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1959,9 +2049,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1998,7 +2088,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2025,9 +2115,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2064,7 +2154,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2091,9 +2181,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2130,7 +2220,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2157,9 +2247,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2196,7 +2286,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2223,7 +2313,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -2289,7 +2379,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -2355,7 +2445,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -2421,7 +2511,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -2487,9 +2577,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2553,9 +2643,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2619,9 +2709,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2685,9 +2775,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2750,41 +2840,2142 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > - <File - RelativePath="..\src\pj\activesock.c" - > - </File> - <File - RelativePath="..\src\pj\addr_resolv_sock.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\pj\activesock.c" + > + </File> + <File + RelativePath="..\src\pj\addr_resolv_sock.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\array.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\config.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\ctype.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\errno.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\except.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\fifobuf.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\file_access_win32.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\file_io_ansi.c" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\file_io_win32.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\guid.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\guid_win32.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\hash.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\ioqueue_common_abs.c" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2794,6 +4985,33 @@ </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2803,6 +5021,33 @@ </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2812,6 +5057,7 @@ </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2819,67 +5065,231 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\array.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\src\pj\config.c" + RelativePath="..\src\pj\ioqueue_common_abs.h" + > + </File> + <File + RelativePath="..\src\pj\ioqueue_select.c" > <FileConfiguration Name="Debug|Win32" @@ -2891,7 +5301,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2900,7 +5310,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -2909,7 +5319,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2918,7 +5328,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2927,7 +5337,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2935,12 +5345,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\ctype.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2949,7 +5355,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2958,7 +5364,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2967,7 +5373,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2976,7 +5382,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2985,7 +5391,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2995,10 +5401,11 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\errno.c" + RelativePath="..\src\pj\ioqueue_winnt.c" > <FileConfiguration Name="Debug|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3007,25 +5414,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3034,7 +5440,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3043,29 +5450,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\except.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3075,6 +5477,7 @@ </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3083,25 +5486,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3109,12 +5511,9 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\fifobuf.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3123,25 +5522,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3151,6 +5549,7 @@ </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3159,29 +5558,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\file_access_win32.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3190,7 +5584,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Static|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3199,25 +5594,24 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3225,22 +5619,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\file_io_ansi.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3248,7 +5636,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3256,7 +5644,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3264,7 +5652,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3272,17 +5660,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3290,7 +5676,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3298,7 +5684,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3306,7 +5692,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3314,17 +5700,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3332,7 +5716,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3340,7 +5724,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3348,7 +5732,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3356,17 +5740,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3374,7 +5756,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3382,7 +5764,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3390,7 +5772,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3398,17 +5780,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3416,7 +5796,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3424,24 +5804,32 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\ip_helper_win32.c" + > + </File> + <File + RelativePath="..\src\pj\list.c" + > <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3450,139 +5838,155 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\lock.c" + > <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\file_io_win32.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3591,7 +5995,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3600,7 +6004,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3609,7 +6013,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3618,7 +6022,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3627,7 +6031,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3637,7 +6041,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\guid.c" + RelativePath="..\src\pj\log.c" > <FileConfiguration Name="Debug|Win32" @@ -3649,7 +6053,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3658,7 +6062,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3667,7 +6071,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3676,7 +6080,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3685,7 +6089,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3693,12 +6097,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\guid_win32.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3707,7 +6107,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3716,7 +6116,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3725,7 +6125,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3734,7 +6134,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3743,7 +6143,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3753,7 +6153,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\hash.c" + RelativePath="..\src\pj\log_writer_stdout.c" > <FileConfiguration Name="Debug|Win32" @@ -3765,7 +6165,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3774,7 +6174,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3783,7 +6183,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3792,7 +6192,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3801,7 +6201,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3809,13 +6209,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\ioqueue_common_abs.c" - > <FileConfiguration - Name="Debug|Win32" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3824,40 +6219,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3865,41 +6263,48 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\os_core_win32.c" + > <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" - ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3908,40 +6313,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3950,40 +6358,47 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\os_error_win32.c" + > <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3992,40 +6407,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4034,140 +6452,160 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\os_info.c" + > + </File> + <File + RelativePath="..\src\pj\os_time_win32.c" + > <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\src\pj\ioqueue_common_abs.h" - > - </File> - <File - RelativePath="..\src\pj\ioqueue_select.c" + RelativePath="..\src\pj\os_timestamp_common.c" > <FileConfiguration Name="Debug|Win32" @@ -4179,7 +6617,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4188,7 +6626,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4197,7 +6635,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4206,7 +6644,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4215,7 +6653,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4223,13 +6661,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\ioqueue_winnt.c" - > <FileConfiguration - Name="Debug|Win32" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4238,40 +6671,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4279,41 +6715,48 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\os_timestamp_win32.c" + > <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" - ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -4322,40 +6765,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4364,40 +6810,47 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\pool.c" + > <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4406,40 +6859,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4448,140 +6904,156 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\pool_buf.c" + > <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\src\pj\ip_helper_win32.c" - > - </File> - <File - RelativePath="..\src\pj\list.c" + RelativePath="..\src\pj\pool_caching.c" > <FileConfiguration Name="Debug|Win32" @@ -4593,7 +7065,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4602,7 +7074,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4611,7 +7083,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4620,7 +7092,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4629,7 +7101,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4637,12 +7109,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\lock.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4651,7 +7119,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4660,7 +7128,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4669,7 +7137,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4678,7 +7146,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4687,7 +7155,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4697,7 +7165,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\log.c" + RelativePath="..\src\pj\pool_dbg.c" > <FileConfiguration Name="Debug|Win32" @@ -4709,7 +7177,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4718,7 +7186,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4727,7 +7195,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4736,7 +7204,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4745,7 +7213,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4753,12 +7221,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\log_writer_stdout.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4767,7 +7231,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4776,7 +7240,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4785,7 +7249,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4794,7 +7258,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4803,7 +7267,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4813,7 +7277,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\os_core_win32.c" + RelativePath="..\src\pj\pool_policy_malloc.c" > <FileConfiguration Name="Debug|Win32" @@ -4825,7 +7289,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4834,7 +7298,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4843,7 +7307,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4852,7 +7316,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4861,7 +7325,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4869,12 +7333,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\os_error_win32.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4883,7 +7343,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4892,7 +7352,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4901,7 +7361,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4910,7 +7370,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4919,7 +7379,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4929,11 +7389,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\os_info.c" - > - </File> - <File - RelativePath="..\src\pj\os_time_win32.c" + RelativePath="..\src\pj\rand.c" > <FileConfiguration Name="Debug|Win32" @@ -4945,7 +7401,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4954,7 +7410,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4963,7 +7419,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4972,7 +7428,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4981,7 +7437,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4989,12 +7445,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\os_timestamp_common.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5003,7 +7455,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5012,7 +7464,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5021,7 +7473,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5030,7 +7482,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5039,7 +7491,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5049,7 +7501,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\os_timestamp_win32.c" + RelativePath="..\src\pj\rbtree.c" > <FileConfiguration Name="Debug|Win32" @@ -5061,7 +7513,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5070,7 +7522,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5079,7 +7531,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5088,7 +7540,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5097,7 +7549,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5105,12 +7557,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\pool.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5119,7 +7567,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5128,7 +7576,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5137,7 +7585,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5146,7 +7594,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5155,7 +7603,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5165,7 +7613,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\pool_buf.c" + RelativePath="..\src\pj\sock_bsd.c" > <FileConfiguration Name="Debug|Win32" @@ -5177,7 +7625,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5186,7 +7634,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5195,7 +7643,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5204,7 +7652,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5213,7 +7661,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5221,12 +7669,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\pool_caching.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5235,7 +7679,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5244,7 +7688,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5253,7 +7697,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5262,7 +7706,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5271,7 +7715,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5281,7 +7725,27 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\pool_dbg.c" + RelativePath="..\src\pj\sock_common.c" + > + </File> + <File + RelativePath="..\src\pj\sock_qos_bsd.c" + > + </File> + <File + RelativePath="..\src\pj\sock_qos_common.c" + > + </File> + <File + RelativePath="..\src\pj\sock_qos_dummy.c" + > + </File> + <File + RelativePath="..\src\pj\sock_qos_wm.c" + > + </File> + <File + RelativePath="..\src\pj\sock_select.c" > <FileConfiguration Name="Debug|Win32" @@ -5293,7 +7757,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5302,7 +7766,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5311,7 +7775,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5320,7 +7784,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5329,7 +7793,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5337,12 +7801,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\pool_policy_malloc.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5351,7 +7811,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5360,7 +7820,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5369,7 +7829,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5378,7 +7838,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5387,7 +7847,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5397,7 +7857,19 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\rand.c" + RelativePath="..\src\pj\ssl_sock_common.c" + > + </File> + <File + RelativePath="..\src\pj\ssl_sock_dump.c" + > + </File> + <File + RelativePath="..\src\pj\ssl_sock_ossl.c" + > + </File> + <File + RelativePath="..\src\pj\string.c" > <FileConfiguration Name="Debug|Win32" @@ -5409,7 +7881,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5418,7 +7890,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5427,7 +7899,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5436,7 +7908,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5445,7 +7917,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5453,12 +7925,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\rbtree.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5467,7 +7935,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5476,7 +7944,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5485,7 +7953,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5494,7 +7962,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5503,7 +7971,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5513,7 +7981,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\sock_bsd.c" + RelativePath="..\src\pj\timer.c" > <FileConfiguration Name="Debug|Win32" @@ -5525,7 +7993,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5534,7 +8002,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5543,7 +8011,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5552,7 +8020,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5561,7 +8029,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5569,32 +8037,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\sock_common.c" - > - </File> - <File - RelativePath="..\src\pj\sock_qos_bsd.c" - > - </File> - <File - RelativePath="..\src\pj\sock_qos_common.c" - > - </File> - <File - RelativePath="..\src\pj\sock_qos_dummy.c" - > - </File> - <File - RelativePath="..\src\pj\sock_qos_wm.c" - > - </File> - <File - RelativePath="..\src\pj\sock_select.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5603,7 +8047,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5612,7 +8056,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5621,7 +8065,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5630,7 +8074,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5639,29 +8083,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\ssl_sock_common.c" - > - </File> - <File - RelativePath="..\src\pj\ssl_sock_dump.c" - > - </File> - <File - RelativePath="..\src\pj\ssl_sock_ossl.c" - > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File - RelativePath="..\src\pj\string.c" + RelativePath="..\src\pj\types.c" > <FileConfiguration Name="Debug|Win32" @@ -5673,7 +8105,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5682,7 +8114,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5691,7 +8123,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5700,7 +8132,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5709,7 +8141,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5717,12 +8149,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\timer.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5731,7 +8159,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5740,7 +8168,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5749,7 +8177,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5758,7 +8186,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5767,7 +8195,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5777,7 +8205,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\types.c" + RelativePath="..\src\pj\unicode_win32.c" > <FileConfiguration Name="Debug|Win32" @@ -5789,7 +8217,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5798,7 +8226,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5807,7 +8235,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5816,7 +8244,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5825,7 +8253,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5833,12 +8261,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\unicode_win32.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5847,7 +8271,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5856,7 +8280,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5865,7 +8289,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5874,7 +8298,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5883,7 +8307,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5896,7 +8320,419 @@ Name="Other Targets" > <File - RelativePath="..\src\pj\addr_resolv_linux_kernel.c" + RelativePath="..\src\pj\addr_resolv_linux_kernel.c" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\guid_simple.c" > <FileConfiguration Name="Debug|Win32" @@ -5909,23 +8745,79 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -5933,7 +8825,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -5941,7 +8833,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -5951,15 +8843,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -5967,7 +8861,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -5975,15 +8869,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -5993,7 +8889,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6001,7 +8897,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6009,33 +8905,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6043,15 +8941,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6059,7 +8959,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6067,17 +8967,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6085,7 +8983,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6093,7 +8991,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6101,7 +8999,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6109,17 +9007,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6127,7 +9023,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6135,7 +9031,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6143,7 +9039,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6248,7 +9144,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\guid_simple.c" + RelativePath="..\src\pj\ioqueue_dummy.c" > <FileConfiguration Name="Debug|Win32" @@ -6261,7 +9157,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6269,7 +9165,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6277,33 +9173,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6311,15 +9209,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6327,7 +9237,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6335,7 +9245,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -6345,15 +9255,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6361,7 +9273,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6369,15 +9281,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -6387,7 +9301,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6395,7 +9309,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6403,23 +9317,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool @@ -6429,7 +9363,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6437,7 +9371,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6445,7 +9379,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6453,7 +9387,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6461,17 +9395,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6479,7 +9411,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6487,7 +9419,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6495,7 +9427,31 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6600,7 +9556,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\ioqueue_dummy.c" + RelativePath="..\src\pj\ioqueue_epoll.c" > <FileConfiguration Name="Debug|Win32" @@ -6613,7 +9569,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6621,7 +9577,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6629,15 +9585,71 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6645,7 +9657,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -6655,15 +9667,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6671,7 +9685,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6679,15 +9693,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -6697,7 +9713,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6705,7 +9721,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6713,33 +9729,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -6747,15 +9765,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6763,7 +9783,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6771,17 +9791,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6789,7 +9807,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6797,7 +9815,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6805,7 +9823,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6813,17 +9831,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6831,7 +9847,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6839,7 +9855,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6847,7 +9863,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -6952,30 +9968,12 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pj\ioqueue_epoll.c" + RelativePath="..\src\pj\ip_helper_generic.c" > <FileConfiguration Name="Debug|Win32" ExcludedFromBuild="true" > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" - > <Tool Name="VCCLCompilerTool" /> @@ -6997,17 +9995,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool @@ -7015,7 +10003,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool @@ -7039,17 +10027,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool @@ -7057,7 +10035,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool @@ -7081,17 +10059,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -7099,7 +10067,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -7123,17 +10091,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool @@ -7141,7 +10099,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -7165,17 +10123,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool @@ -7183,7 +10131,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool @@ -7207,7 +10155,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool @@ -7215,7 +10163,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7223,7 +10171,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7231,7 +10179,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7239,7 +10187,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7247,7 +10195,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7255,7 +10203,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7263,7 +10211,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7271,7 +10219,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7279,7 +10227,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7287,7 +10235,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7295,19 +10243,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\ip_helper_generic.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7315,7 +10259,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7323,7 +10267,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7331,7 +10275,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7339,7 +10283,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7347,7 +10291,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7355,7 +10299,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7363,7 +10307,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7371,7 +10315,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7379,7 +10323,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7387,7 +10331,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7395,7 +10339,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7403,23 +10347,29 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\log_writer_printk.c" + > <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7427,7 +10377,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7435,23 +10385,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7459,7 +10413,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7467,23 +10421,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7491,7 +10449,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7499,23 +10457,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7523,7 +10485,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7531,23 +10493,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7555,7 +10521,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7563,23 +10529,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7587,7 +10557,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7595,15 +10565,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7611,7 +10583,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7619,7 +10591,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7627,7 +10599,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7635,29 +10607,23 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\log_writer_printk.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7665,7 +10631,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7673,7 +10639,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7681,7 +10647,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7689,17 +10655,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7707,7 +10671,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7715,7 +10679,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7723,7 +10687,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7731,17 +10695,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7749,7 +10711,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7757,7 +10719,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7765,7 +10727,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7773,17 +10735,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7791,7 +10751,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -7799,33 +10759,37 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\os_core_linux_kernel.c" + > <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7833,23 +10797,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7857,33 +10825,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7891,7 +10861,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7899,23 +10869,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7923,7 +10897,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7931,23 +10905,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7955,7 +10933,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7963,23 +10941,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -7987,19 +10969,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\os_core_linux_kernel.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool @@ -8025,7 +11003,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8033,7 +11011,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8041,17 +11019,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8059,7 +11035,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8067,7 +11043,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8075,7 +11051,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8083,17 +11059,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8101,7 +11075,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8109,7 +11083,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8117,7 +11091,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8125,17 +11099,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8143,7 +11115,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8151,7 +11123,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8159,7 +11131,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8167,17 +11139,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8185,7 +11155,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8193,7 +11163,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8201,15 +11171,19 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\os_core_unix.c" + > <FileConfiguration - Name="Release-Static|Win32" + Name="Debug|Win32" ExcludedFromBuild="true" > <Tool @@ -8219,7 +11193,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8227,7 +11201,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8235,23 +11209,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8259,7 +11237,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8267,23 +11245,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8291,7 +11273,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8299,23 +11281,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8323,7 +11309,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8331,37 +11317,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\os_core_unix.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8369,23 +11353,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8393,25 +11381,25 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8419,7 +11407,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8427,7 +11415,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8435,13 +11423,11 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration @@ -8461,7 +11447,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8469,7 +11455,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8477,17 +11463,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8495,7 +11479,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8503,7 +11487,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8511,7 +11495,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8519,17 +11503,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8537,7 +11519,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8545,7 +11527,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8553,7 +11535,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8561,17 +11543,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8579,7 +11559,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8587,7 +11567,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8595,7 +11575,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8603,23 +11583,29 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\os_error_linux_kernel.c" + > <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8627,7 +11613,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8635,23 +11621,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8659,7 +11649,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8667,23 +11657,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8691,19 +11685,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\os_error_linux_kernel.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -8713,15 +11703,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8729,7 +11721,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8737,15 +11729,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -8755,7 +11749,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8763,7 +11757,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8771,33 +11765,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -8805,15 +11801,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8821,7 +11819,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8829,17 +11827,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8847,7 +11843,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8855,7 +11851,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8863,7 +11859,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8871,13 +11867,11 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration @@ -8897,7 +11891,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8905,7 +11899,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8913,17 +11907,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8931,7 +11923,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8939,7 +11931,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8947,7 +11939,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8955,7 +11947,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8963,7 +11955,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8971,7 +11963,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8979,7 +11971,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8987,7 +11979,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -8995,7 +11987,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9003,23 +11995,29 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\pj\os_error_unix.c" + > <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9027,7 +12025,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9035,37 +12033,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pj\os_error_unix.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9073,23 +12069,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9097,7 +12097,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -9107,15 +12115,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9123,7 +12133,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9131,15 +12141,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -9149,7 +12161,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9157,7 +12169,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9165,33 +12177,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9199,15 +12213,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9215,7 +12231,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9223,17 +12239,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9241,7 +12255,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9249,7 +12263,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9257,7 +12271,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9265,17 +12279,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9283,7 +12295,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9291,7 +12303,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9299,7 +12311,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9417,7 +12429,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9425,7 +12437,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9433,33 +12445,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9467,23 +12481,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9491,7 +12509,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -9501,15 +12527,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9517,7 +12545,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9525,15 +12553,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -9543,7 +12573,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9551,7 +12581,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9559,23 +12589,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool @@ -9585,7 +12635,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9593,7 +12643,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9601,7 +12651,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9609,7 +12659,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9617,17 +12667,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9635,7 +12683,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9643,7 +12691,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9651,7 +12699,31 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9769,7 +12841,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9777,7 +12849,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9785,23 +12857,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" ExcludedFromBuild="true" > <Tool @@ -9811,15 +12903,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9827,7 +12921,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9835,15 +12929,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -9853,7 +12949,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9861,7 +12957,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9869,23 +12965,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool @@ -9895,7 +13011,25 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -9903,15 +13037,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9919,7 +13055,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9927,17 +13063,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9945,7 +13079,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9953,7 +13087,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9961,7 +13095,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9969,17 +13103,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9987,7 +13119,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -9995,7 +13127,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10003,7 +13135,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10121,7 +13253,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10129,7 +13261,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10137,33 +13269,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10171,23 +13305,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10195,7 +13333,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -10205,15 +13351,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10221,7 +13369,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10229,15 +13377,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -10247,7 +13397,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10255,7 +13405,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10263,23 +13413,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool @@ -10289,7 +13459,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10297,7 +13467,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10305,7 +13475,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10313,7 +13483,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10321,17 +13491,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10339,7 +13507,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10347,7 +13515,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10355,7 +13523,31 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10473,7 +13665,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10481,7 +13673,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10489,33 +13681,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10523,15 +13717,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10539,7 +13745,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10547,7 +13753,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -10557,15 +13763,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10573,7 +13781,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10581,15 +13789,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -10599,7 +13809,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10607,7 +13817,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10615,23 +13825,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool @@ -10641,7 +13871,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10649,7 +13879,31 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10657,7 +13911,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10665,7 +13919,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10673,17 +13927,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10691,7 +13943,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10699,7 +13951,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10707,7 +13959,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -10825,7 +14077,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10833,7 +14085,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10841,33 +14093,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10875,23 +14129,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10899,7 +14157,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -10909,15 +14175,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10925,7 +14193,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10933,15 +14201,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -10951,7 +14221,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10959,7 +14229,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -10967,23 +14237,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool @@ -10993,7 +14283,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11001,7 +14291,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11009,7 +14299,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11017,7 +14307,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11025,17 +14315,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11043,7 +14331,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11051,7 +14339,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11059,7 +14347,31 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11177,7 +14489,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -11185,7 +14497,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -11193,33 +14505,35 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -11227,15 +14541,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -11243,7 +14569,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -11251,7 +14577,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -11261,15 +14587,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -11277,7 +14605,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -11285,15 +14613,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -11303,7 +14633,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -11311,7 +14641,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -11319,23 +14649,43 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool @@ -11345,7 +14695,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11353,7 +14703,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11361,7 +14711,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11369,7 +14719,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11377,17 +14727,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11395,7 +14743,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11403,7 +14751,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -11411,7 +14759,31 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/pjlib_samples.mak b/daemon/libs/pjproject-2.2.1/pjlib/build/pjlib_samples.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/build/pjlib_samples.mak rename to daemon/libs/pjproject-2.2.1/pjlib/build/pjlib_samples.mak diff --git a/daemon/libs/pjproject-2.2.1/pjlib/build/pjlib_test.vcproj b/daemon/libs/pjproject-2.2.1/pjlib/build/pjlib_test.vcproj new file mode 100644 index 0000000000000000000000000000000000000000..6876328118c3a7b5a49f5fcb1d09141f7ac2f638 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjlib/build/pjlib_test.vcproj @@ -0,0 +1,7467 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="pjlib_test" + ProjectGUID="{6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}" + RootNamespace="pjlib_test" + > + <Platforms> + <Platform + Name="Win32" + /> + <Platform + Name="Pocket PC 2003 (ARMV4)" + /> + <Platform + Name="Smartphone 2003 (ARMV4)" + /> + <Platform + Name="x64" + /> + <Platform + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Win32" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Win32" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Win32" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Win32" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\pjlib-test\activesock.c" + > + </File> + <File + RelativePath="..\src\pjlib-test\atomic.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\echo_clt.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\errno.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\exception.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\fifobuf.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\file.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\hash_test.c" + > + </File> + <File + RelativePath="..\src\pjlib-test\ioq_perf.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\ioq_tcp.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\ioq_udp.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\ioq_unreg.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\list.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\main.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\main_mod.c" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\main_win32.c" + > + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\mutex.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\os.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\pool.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\pool_perf.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\rand.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\rbtree.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\select.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\sleep.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\sock.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\sock_perf.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\ssl_sock.c" + > + </File> + <File + RelativePath="..\src\pjlib-test\string.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\test.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\thread.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\timer.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\timestamp.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\udp_echo_srv_ioqueue.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\udp_echo_srv_sync.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjlib-test\util.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl" + > + <File + RelativePath="..\src\pjlib-test\test.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/privkey.pem b/daemon/libs/pjproject-2.2.1/pjlib/build/privkey.pem similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/build/privkey.pem rename to daemon/libs/pjproject-2.2.1/pjlib/build/privkey.pem diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/wince-evc4/pjlib_test_wince.vcp b/daemon/libs/pjproject-2.2.1/pjlib/build/wince-evc4/pjlib_test_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/build/wince-evc4/pjlib_test_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjlib/build/wince-evc4/pjlib_test_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/wince-evc4/pjlib_wince.vcp b/daemon/libs/pjproject-2.2.1/pjlib/build/wince-evc4/pjlib_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/build/wince-evc4/pjlib_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjlib/build/wince-evc4/pjlib_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/wince-evc4/pjlib_wince.vcw b/daemon/libs/pjproject-2.2.1/pjlib/build/wince-evc4/pjlib_wince.vcw similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/build/wince-evc4/pjlib_wince.vcw rename to daemon/libs/pjproject-2.2.1/pjlib/build/wince-evc4/pjlib_wince.vcw diff --git a/daemon/libs/pjproject-2.1.0/pjlib/docs/doxygen.cfg b/daemon/libs/pjproject-2.2.1/pjlib/docs/doxygen.cfg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/docs/doxygen.cfg rename to daemon/libs/pjproject-2.2.1/pjlib/docs/doxygen.cfg diff --git a/daemon/libs/pjproject-2.1.0/pjlib/docs/doxygen.css b/daemon/libs/pjproject-2.2.1/pjlib/docs/doxygen.css similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/docs/doxygen.css rename to daemon/libs/pjproject-2.2.1/pjlib/docs/doxygen.css diff --git a/daemon/libs/pjproject-2.1.0/pjlib/docs/footer.html b/daemon/libs/pjproject-2.2.1/pjlib/docs/footer.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/docs/footer.html rename to daemon/libs/pjproject-2.2.1/pjlib/docs/footer.html diff --git a/daemon/libs/pjproject-2.1.0/pjlib/docs/header.html b/daemon/libs/pjproject-2.2.1/pjlib/docs/header.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/docs/header.html rename to daemon/libs/pjproject-2.2.1/pjlib/docs/header.html diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/file.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/file.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/file.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/file.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/hash.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/hash.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/hash.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/hash.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/list.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/list.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/list.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/list.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/lock.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/lock.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/lock.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/lock.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/os.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/os.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/os.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/os.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/pool.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/pool.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/pool.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/pool.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/proactor.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/proactor.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/proactor.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/proactor.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/scanner.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/scanner.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/scanner.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/scanner.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/sock.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/sock.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/sock.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/sock.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/string.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/string.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/string.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/string.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/timer.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/timer.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/timer.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/timer.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/tree.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/tree.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/tree.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/tree.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj++/types.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pj++/types.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj++/types.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj++/types.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/activesock.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/activesock.h similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/activesock.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/activesock.h index 6d3b0d0f1e79c0e09858cef0af2babe8af7b1cb1..40809c68aca763d90504921410aa7e2ce6bed67a 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/activesock.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/activesock.h @@ -1,4 +1,4 @@ -/* $Id: activesock.h 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: activesock.h 4461 2013-04-05 03:02:19Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -132,7 +132,8 @@ typedef struct pj_activesock_cb /** * This callback is called when new connection arrives as the result - * of pj_activesock_start_accept(). + * of pj_activesock_start_accept(). If the status of accept operation is + * needed use on_accept_complete2 instead of this callback. * * @param asock The active socket. * @param newsock The new incoming socket. @@ -149,6 +150,30 @@ typedef struct pj_activesock_cb const pj_sockaddr_t *src_addr, int src_addr_len); + /** + * This callback is called when new connection arrives as the result + * of pj_activesock_start_accept(). + * + * @param asock The active socket. + * @param newsock The new incoming socket. + * @param src_addr The source address of the connection. + * @param addr_len Length of the source address. + * @param status The status of the accept operation. This may contain + * non-PJ_SUCCESS for example when the TCP listener is in + * bad state for example on iOS platform after the + * application waking up from background. + * + * @return PJ_TRUE if further accept() is desired, and PJ_FALSE + * when application no longer wants to accept incoming + * connection. Application may destroy the active socket + * in the callback and return PJ_FALSE here. + */ + pj_bool_t (*on_accept_complete2)(pj_activesock_t *asock, + pj_sock_t newsock, + const pj_sockaddr_t *src_addr, + int src_addr_len, + pj_status_t status); + /** * This callback is called when pending connect operation has been * completed. diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/addr_resolv.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/addr_resolv.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/addr_resolv.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/addr_resolv.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/array.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/array.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/array.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/array.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/assert.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/assert.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/assert.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/assert.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/assert.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/assert.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/assert.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/assert.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_armcc.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_armcc.h similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_armcc.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_armcc.h index e21c4f873c70482d1394a5823e34162a2d8234b2..f775e2af1c048d586c01aa23ab4cd3a9eac3b69f 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_armcc.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_armcc.h @@ -1,4 +1,4 @@ -/* $Id: cc_armcc.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: cc_armcc.h 4624 2013-10-21 06:37:30Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -43,6 +43,7 @@ #define PJ_THREAD_FUNC #define PJ_NORETURN #define PJ_ATTR_NORETURN __attribute__ ((noreturn)) +#define PJ_ATTR_MAY_ALIAS __attribute__ ((__may_alias__)) #define PJ_HAS_INT64 1 diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_codew.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_codew.h similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_codew.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_codew.h index 06638b80339a3c29877233c80588b615dc20f8ec..2f6eb4a4288bc9627e09f867e2325502db532e22 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_codew.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_codew.h @@ -1,4 +1,4 @@ -/* $Id: cc_codew.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: cc_codew.h 4624 2013-10-21 06:37:30Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -39,6 +39,7 @@ #define PJ_THREAD_FUNC #define PJ_NORETURN #define PJ_ATTR_NORETURN +#define PJ_ATTR_MAY_ALIAS #define PJ_HAS_INT64 1 diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_gcc.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_gcc.h similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_gcc.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_gcc.h index db56bbc6d3b80220d76dd367340bff07403e3664..101172839c2d5b19a0c27297de08bdc658542ecc 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_gcc.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_gcc.h @@ -1,4 +1,4 @@ -/* $Id: cc_gcc.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: cc_gcc.h 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -53,15 +53,17 @@ typedef uint64_t pj_uint64_t; #define PJ_INLINE_SPECIFIER static __inline #define PJ_ATTR_NORETURN + #define PJ_ATTR_MAY_ALIAS #else typedef long long pj_int64_t; typedef unsigned long long pj_uint64_t; #define PJ_INLINE_SPECIFIER static inline #define PJ_ATTR_NORETURN __attribute__ ((noreturn)) + #define PJ_ATTR_MAY_ALIAS __attribute__((__may_alias__)) #endif #define PJ_INT64(val) val##LL -#define PJ_UINT64(val) val##LLU +#define PJ_UINT64(val) val##ULL #define PJ_INT64_FMT "L" diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_gcce.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_gcce.h similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_gcce.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_gcce.h index fae3e7e810752c4b523ef17a50f32fa42adb1e33..4bafca0099b64a9ba0c738fa5bb8dcb71232cad4 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_gcce.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_gcce.h @@ -1,4 +1,4 @@ -/* $Id: cc_gcce.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: cc_gcce.h 4624 2013-10-21 06:37:30Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -39,6 +39,7 @@ #define PJ_THREAD_FUNC #define PJ_NORETURN #define PJ_ATTR_NORETURN __attribute__ ((noreturn)) +#define PJ_ATTR_MAY_ALIAS __attribute__ ((__may_alias__)) #define PJ_HAS_INT64 1 diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_msvc.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_msvc.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_msvc.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_msvc.h index dbd0fde6c0720800640c01248b637268b6658ceb..15fd5268223e875366626a82f4f44937f5319be2 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_msvc.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_msvc.h @@ -1,4 +1,4 @@ -/* $Id: cc_msvc.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: cc_msvc.h 4624 2013-10-21 06:37:30Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -68,6 +68,7 @@ #define PJ_THREAD_FUNC #define PJ_NORETURN __declspec(noreturn) #define PJ_ATTR_NORETURN +#define PJ_ATTR_MAY_ALIAS #define PJ_HAS_INT64 1 diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_mwcc.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_mwcc.h similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_mwcc.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_mwcc.h index 35248a2e5c4832de7556fc680984276fb68d113e..86db15dafdf52c79f58c21ccc3d68ef876b9577a 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/cc_mwcc.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/cc_mwcc.h @@ -1,4 +1,4 @@ -/* $Id: cc_mwcc.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: cc_mwcc.h 4624 2013-10-21 06:37:30Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -39,6 +39,7 @@ #define PJ_THREAD_FUNC #define PJ_NORETURN #define PJ_ATTR_NORETURN __attribute__ ((noreturn)) +#define PJ_ATTR_MAY_ALIAS #define PJ_HAS_INT64 1 diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/ctype.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/ctype.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/ctype.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/ctype.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/errno.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/errno.h similarity index 90% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/errno.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/errno.h index c41145c91ce11928840eeb677e12e3818e3dfa38..a4d8fd7aafc28bd1191fe8ebd96bde44d5943949 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/errno.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/errno.h @@ -1,4 +1,4 @@ -/* $Id: errno.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: errno.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -21,7 +21,8 @@ #define __PJ_COMPAT_ERRNO_H__ #if defined(PJ_WIN32) && PJ_WIN32 != 0 || \ - defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE != 0 + defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE != 0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 typedef unsigned long pj_os_err_type; # define pj_get_native_os_error() GetLastError() diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/high_precision.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/high_precision.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/high_precision.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/high_precision.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_alpha.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_alpha.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_alpha.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_alpha.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_armv4.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_armv4.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_armv4.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_armv4.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_auto.h.in b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_auto.h.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_auto.h.in rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_auto.h.in diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_i386.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_i386.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_i386.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_i386.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_m68k.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_m68k.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_m68k.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_m68k.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_powerpc.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_powerpc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_powerpc.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_powerpc.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_sparc.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_sparc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_sparc.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_sparc.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_x86_64.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_x86_64.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/m_x86_64.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/m_x86_64.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/malloc.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/malloc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/malloc.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/malloc.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_auto.h.in b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_auto.h.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_auto.h.in rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_auto.h.in diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_darwinos.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_darwinos.h similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_darwinos.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_darwinos.h index a01dd16957afd4e4965f963656a19f4d7a65b900..49e69c233d1e2705b13495fb1776fb8b488cdf6a 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_darwinos.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_darwinos.h @@ -1,4 +1,4 @@ -/* $Id: os_darwinos.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: os_darwinos.h 4626 2013-10-21 07:04:38Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -92,11 +92,6 @@ #define PJ_ATOMIC_VALUE_TYPE long -/* - * Socket related - */ -typedef int socklen_t; - /* Set 1 if native sockaddr_in has sin_len member. * Default: 0 */ @@ -137,8 +132,8 @@ typedef int socklen_t; */ #define PJ_THREAD_ALLOCATE_STACK 0 -/* Oh well.. MacOS 10.2 doesn't have socklen_t, but 10.4 has! */ -#define PJ_HAS_SOCKLEN_T 0 +/* MacOS has had socklen since 10.4 */ +#define PJ_HAS_SOCKLEN_T 1 #endif /* __PJ_COMPAT_OS_DARWINOS_H__ */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_linux.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_linux.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_linux.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_linux.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_linux_kernel.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_linux_kernel.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_linux_kernel.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_linux_kernel.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_palmos.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_palmos.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_palmos.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_palmos.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_rtems.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_rtems.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_rtems.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_rtems.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_sunos.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_sunos.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_sunos.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_sunos.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_symbian.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_symbian.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_symbian.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_symbian.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_win32.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_win32.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_win32.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_win32.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_win32_wince.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_win32_wince.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/os_win32_wince.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/os_win32_wince.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/rand.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/rand.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/rand.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/rand.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/setjmp.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/setjmp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/setjmp.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/setjmp.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/size_t.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/size_t.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/size_t.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/size_t.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/socket.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/socket.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/socket.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/socket.h index 5dccc01b24eaec3dc97f05923768ba25efd0ae07..913f26b25ed4826b9645daba3e716abd19a07fa9 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/socket.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/socket.h @@ -1,4 +1,4 @@ -/* $Id: socket.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: socket.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -152,7 +152,8 @@ * Define common errors. */ #if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ - (defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0) + (defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) # define OSERR_EWOULDBLOCK WSAEWOULDBLOCK # define OSERR_EINPROGRESS WSAEINPROGRESS # define OSERR_ECONNRESET WSAECONNRESET @@ -175,6 +176,7 @@ */ #undef s_addr #undef s6_addr +#undef sin_zero /* * Linux kernel specifics diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/stdarg.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/stdarg.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/stdarg.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/stdarg.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/stdfileio.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/stdfileio.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/stdfileio.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/stdfileio.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/string.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/string.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/string.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/string.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/time.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/time.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/compat/time.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/compat/time.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/config.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/config.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/config.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/config.h index 120e6ce82a992887b47aaaa4458c30f29e32b2c2..19cfedc522a4b79c85d080d3b0cff503574a17dc 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/config.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/config.h @@ -1,4 +1,4 @@ -/* $Id: config.h 4415 2013-03-05 08:34:45Z ming $ */ +/* $Id: config.h 4795 2014-03-14 06:58:10Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -77,10 +77,15 @@ # define PJ_WIN32 1 #elif defined(PJ_WIN32) || defined(_WIN32) || defined(__WIN32__) || \ - defined(_WIN64) || defined(WIN32) || defined(__TOS_WIN__) - /* - * Win32 - */ + defined(WIN32) || defined(PJ_WIN64) || defined(_WIN64) || \ + defined(WIN64) || defined(__TOS_WIN__) +# if defined(PJ_WIN64) || defined(_WIN64) || defined(WIN64) + /* + * Win64 + */ +# undef PJ_WIN64 +# define PJ_WIN64 1 +# endif # undef PJ_WIN32 # define PJ_WIN32 1 # include <pj/compat/os_win32.h> @@ -1183,10 +1188,10 @@ PJ_BEGIN_DECL #define PJ_VERSION_NUM_MAJOR 2 /** PJLIB version minor number. */ -#define PJ_VERSION_NUM_MINOR 1 +#define PJ_VERSION_NUM_MINOR 2 /** PJLIB version revision number. */ -#define PJ_VERSION_NUM_REV 0 +#define PJ_VERSION_NUM_REV 1 /** * Extra suffix for the version (e.g. "-trunk"), or empty for diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/config_site_sample.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/config_site_sample.h similarity index 86% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/config_site_sample.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/config_site_sample.h index 845d1bbae80360e806a60d9c029c3e438502d416..c48ea8eaee66e240744eb33c07bd96158b7f39c4 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/config_site_sample.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/config_site_sample.h @@ -360,6 +360,82 @@ #endif +/* + * Android sample settings. + */ +#if PJ_CONFIG_ANDROID + + #define PJ_ANDROID 1 + + /* + * PJLIB settings. + */ + + /* Disable floating point support */ + #undef PJ_HAS_FLOATING_POINT + #define PJ_HAS_FLOATING_POINT 0 + + /* + * PJMEDIA settings + */ + + /* We have our own OpenSL ES backend */ + #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 + #define PJMEDIA_AUDIO_DEV_HAS_WMME 0 + #define PJMEDIA_AUDIO_DEV_HAS_OPENSL 1 + #define PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI 0 + + /* Disable some codecs */ + #define PJMEDIA_HAS_L16_CODEC 0 + #define PJMEDIA_HAS_G722_CODEC 0 + + /* Fine tune Speex's default settings for best performance/quality */ + #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 + + /* + * PJSIP settings. + */ + + /* Increase allowable packet size, just in case */ + //#define PJSIP_MAX_PKT_LEN 2000 + + /* + * PJSUA settings. + */ + + /* Default codec quality, previously was set to 5, however it is now + * set to 4 to make sure pjsua instantiates resampler with small filter. + */ + #define PJSUA_DEFAULT_CODEC_QUALITY 4 + + /* Set maximum number of dialog/transaction/calls to minimum */ + #define PJSIP_MAX_TSX_COUNT 31 + #define PJSIP_MAX_DIALOG_COUNT 31 + #define PJSUA_MAX_CALLS 4 + + /* Other pjsua settings */ + #define PJSUA_MAX_ACC 4 + #define PJSUA_MAX_PLAYERS 4 + #define PJSUA_MAX_RECORDERS 4 + #define PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS) + #define PJSUA_MAX_BUDDIES 32 +#endif + + +/* + * BB10 + */ +#if defined(PJ_CONFIG_BB10) && PJ_CONFIG_BB10 + /* Quality 3 - 4 to use resampling small filter */ + #define PJSUA_DEFAULT_CODEC_QUALITY 4 + #define PJMEDIA_HAS_LEGACY_SOUND_API 0 + #undef PJMEDIA_HAS_SPEEX_AEC + #define PJMEDIA_HAS_SPEEX_AEC 0 + #undef PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO + #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 +#endif + + /* * Minimum size */ @@ -399,7 +475,7 @@ # define PJ_HASH_USE_OWN_TOLOWER 1 # define PJSIP_UNESCAPE_IN_PLACE 1 -# ifdef PJ_WIN32 +# if defined(PJ_WIN32) || defined(PJ_WIN64) # define PJSIP_MAX_NET_EVENTS 10 # endif diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/ctype.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/ctype.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/ctype.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/ctype.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/doxygen.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/doxygen.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/doxygen.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/doxygen.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/errno.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/errno.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/errno.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/errno.h index 75aadbede34c1783e040e191652060379c79fa09..0f96faa17d423e8d3d2912be7ddef058918d6a8c 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/errno.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/errno.h @@ -1,4 +1,4 @@ -/* $Id: errno.h 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: errno.h 4461 2013-04-05 03:02:19Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -427,6 +427,11 @@ PJ_DECL(pj_status_t) pj_register_strerror(pj_status_t start_code, * Object no longer exists */ #define PJ_EGONE (PJ_ERRNO_START_STATUS + 23)/* 70023 */ +/** + * @hideinitializer + * Socket is stopped + */ +#define PJ_ESOCKETSTOP (PJ_ERRNO_START_STATUS + 24)/* 70024 */ /** @} */ /* pj_errnum */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/except.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/except.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/except.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/except.h index f7681ae0a5c3978a22675df37739a4e016fdd19b..d87dd8f7c476b8f258e791a9b8c3ba5ed3cdb3db 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/except.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/except.h @@ -1,4 +1,4 @@ -/* $Id: except.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: except.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -339,9 +339,9 @@ public: * stack. */ struct pj_exception_state_t -{ - struct pj_exception_state_t *prev; /**< Previous state in the list. */ +{ pj_jmp_buf state; /**< jmp_buf. */ + struct pj_exception_state_t *prev; /**< Previous state in the list. */ }; /** diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/fifobuf.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/fifobuf.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/fifobuf.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/fifobuf.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/file_access.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/file_access.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/file_access.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/file_access.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/file_io.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/file_io.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/file_io.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/file_io.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/guid.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/guid.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/guid.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/guid.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/hash.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/hash.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/hash.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/hash.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/ioqueue.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/ioqueue.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/ioqueue.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/ioqueue.h index 853bf480a5890a82ce0de0e85f5e21842c46f35f..ced8804eaa97e7fd87132a2db6d1b931099db151 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/ioqueue.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/ioqueue.h @@ -1,4 +1,4 @@ -/* $Id: ioqueue.h 4359 2013-02-21 11:18:36Z bennylp $ +/* $Id: ioqueue.h 4724 2014-01-31 08:52:09Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) @@ -642,7 +642,7 @@ PJ_DECL(int) pj_ioqueue_poll( pj_ioqueue_t *ioque, /** * Instruct the I/O Queue to read from the specified handle. This function * returns immediately (i.e. non-blocking) regardless whether some data has - * been transfered. If the operation can't complete immediately, caller will + * been transferred. If the operation can't complete immediately, caller will * be notified about the completion when it calls pj_ioqueue_poll(). If data * is immediately available, the function will return PJ_SUCCESS and the * callback WILL NOT be called. @@ -728,9 +728,9 @@ PJ_DECL(pj_status_t) pj_ioqueue_recvfrom( pj_ioqueue_key_t *key, /** * Instruct the I/O Queue to write to the handle. This function will return * immediately (i.e. non-blocking) regardless whether some data has been - * transfered. If the function can't complete immediately, the caller will + * transferred. If the function can't complete immediately, the caller will * be notified about the completion when it calls pj_ioqueue_poll(). If - * operation completes immediately and data has been transfered, the function + * operation completes immediately and data has been transferred, the function * returns PJ_SUCCESS and the callback will NOT be called. * * @param key The key that identifies the handle. @@ -752,11 +752,11 @@ PJ_DECL(pj_status_t) pj_ioqueue_recvfrom( pj_ioqueue_key_t *key, * the function will never return PJ_SUCCESS. * * @return - * - PJ_SUCCESS If data was immediately transfered. In this case, no + * - PJ_SUCCESS If data was immediately transferred. In this case, no * pending operation has been scheduled and the callback * WILL NOT be called. * - PJ_EPENDING If the operation has been queued. Once data base been - * transfered, the callback will be called. + * transferred, the callback will be called. * - non-zero The return value indicates the error code. */ PJ_DECL(pj_status_t) pj_ioqueue_send( pj_ioqueue_key_t *key, @@ -769,9 +769,9 @@ PJ_DECL(pj_status_t) pj_ioqueue_send( pj_ioqueue_key_t *key, /** * Instruct the I/O Queue to write to the handle. This function will return * immediately (i.e. non-blocking) regardless whether some data has been - * transfered. If the function can't complete immediately, the caller will + * transferred. If the function can't complete immediately, the caller will * be notified about the completion when it calls pj_ioqueue_poll(). If - * operation completes immediately and data has been transfered, the function + * operation completes immediately and data has been transferred, the function * returns PJ_SUCCESS and the callback will NOT be called. * * @param key the key that identifies the handle. diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/ip_helper.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/ip_helper.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/ip_helper.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/ip_helper.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/list.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/list.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/list.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/list.h index d64c2bfe9e177d786a98cbb7179424933a9716a3..8a13dcbb3e73953986f3fedad7eb32247458bded 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/list.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/list.h @@ -1,4 +1,4 @@ -/* $Id: list.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: list.h 4624 2013-10-21 06:37:30Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -74,7 +74,7 @@ PJ_BEGIN_DECL struct pj_list { PJ_DECL_LIST_MEMBER(void); -}; +} PJ_ATTR_MAY_ALIAS; /* may_alias avoids warning with gcc-4.4 -Wall -O2 */ /** diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/list_i.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/list_i.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/list_i.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/list_i.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/lock.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/lock.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/lock.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/lock.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/log.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/log.h similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/log.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/log.h index 335a98845d502b1f441963044b46cee0df7d770d..c9d5c313d581f8a6119504bceb2c0f415733ae48 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/log.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/log.h @@ -1,4 +1,4 @@ -/* $Id: log.h 3752 2011-09-18 14:38:46Z bennylp $ */ +/* $Id: log.h 4584 2013-08-30 04:03:22Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -259,6 +259,16 @@ pj_status_t pj_log_init(void); */ # define pj_log_set_log_func(func) +/** + * Write to log. + * + * @param sender Source of the message. + * @param level Verbosity level. + * @param format Format. + * @param marker Marker. + */ +# define pj_log(sender, level, format, marker) + /** * Set maximum log level. Application can call this function to set * the desired level of verbosity of the logging messages. The bigger the @@ -282,6 +292,26 @@ pj_status_t pj_log_init(void); */ # define pj_log_set_decor(decor) +/** + * Add indentation to log message. Indentation will add PJ_LOG_INDENT_CHAR + * before the message, and is useful to show the depth of function calls. + * + * @param indent The indentation to add or substract. Positive value + * adds current indent, negative value subtracts current + * indent. + */ +# define pj_log_add_indent(indent) + +/** + * Push indentation to the right by default value (PJ_LOG_INDENT). + */ +# define pj_log_push_indent() + +/** + * Pop indentation (to the left) by default value (PJ_LOG_INDENT). + */ +# define pj_log_pop_indent() + /** * Set color of log messages. * diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/math.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/math.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/math.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/math.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/os.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/os.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/os.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/os.h index 9733bb9ca282ff8cd6ffd8559715ae742f28d1c8..88f6ae147b1e7585f3b7fa5a194dd45ed83bf8e4 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/os.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/os.h @@ -1,4 +1,4 @@ -/* $Id: os.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: os.h 4760 2014-02-24 08:49:40Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -1439,7 +1439,9 @@ PJ_DECL(pj_uint32_t) pj_elapsed_cycle( const pj_timestamp *start, * @{ */ -/* Type for main function. */ +/** + * Type for application main function. + */ typedef int (*pj_main_func_ptr)(int argc, char *argv[]); /** @@ -1456,8 +1458,8 @@ typedef int (*pj_main_func_ptr)(int argc, char *argv[]); * * @return main_func()'s return value. */ -int pj_run_app(pj_main_func_ptr main_func, int argc, char *argv[], - unsigned flags); +PJ_DECL(int) pj_run_app(pj_main_func_ptr main_func, int argc, char *argv[], + unsigned flags); /** @} */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/pool.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/pool.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/pool.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/pool.h index 73c847302c1a8c3b1af893e6d14a1e750d13a9b9..f35bb037233247ef720c74722df522f1fca060a5 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/pool.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/pool.h @@ -1,4 +1,4 @@ -/* $Id: pool.h 4298 2012-11-22 05:00:01Z nanang $ */ +/* $Id: pool.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -856,7 +856,7 @@ struct pj_caching_pool /** * Internal pool. */ - char pool_buf[256 * (sizeof(long) / 4)]; + char pool_buf[256 * (sizeof(size_t) / 4)]; /** * Mutex. diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/pool_alt.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/pool_alt.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/pool_alt.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/pool_alt.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/pool_buf.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/pool_buf.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/pool_buf.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/pool_buf.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/pool_i.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/pool_i.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/pool_i.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/pool_i.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/rand.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/rand.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/rand.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/rand.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/rbtree.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/rbtree.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/rbtree.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/rbtree.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/sock.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/sock.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/sock.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/sock.h index 5692d611f98284abf32f757b34e661a73cce9447..0155f1cb7354ac63111bc91091b3d0eb650f27eb 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/sock.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/sock.h @@ -1,4 +1,4 @@ -/* $Id: sock.h 4343 2013-02-07 09:35:34Z nanang $ */ +/* $Id: sock.h 4538 2013-06-19 09:06:55Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -1306,6 +1306,27 @@ PJ_DECL(pj_status_t) pj_sock_setsockopt( pj_sock_t sockfd, int optlen); +/** + * Helper function to set socket buffer size using #pj_sock_setsockopt() + * with capability to auto retry with lower buffer setting value until + * the highest possible value is successfully set. + * + * @param sockfd The socket descriptor. + * @param optname The option name, valid values are pj_SO_RCVBUF() + * and pj_SO_SNDBUF(). + * @param auto_retry Option whether auto retry with lower value is + * enabled. + * @param buf_size On input, specify the prefered buffer size setting, + * on output, the buffer size setting applied. + * + * @return PJ_SUCCESS or the status code. + */ +PJ_DECL(pj_status_t) pj_sock_setsockopt_sobuf( pj_sock_t sockfd, + pj_uint16_t optname, + pj_bool_t auto_retry, + unsigned *buf_size); + + /** * Receives data stream or message coming to the specified socket. * diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/sock_qos.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/sock_qos.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/sock_qos.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/sock_qos.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/sock_select.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/sock_select.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/sock_select.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/sock_select.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/ssl_sock.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/ssl_sock.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/ssl_sock.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/ssl_sock.h index a81b7d99a2e5650493e5b590f57f070786deeacf..ecc08a93c6ef8bbb1214bca7abbcc6259dd0c83a 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/ssl_sock.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/ssl_sock.h @@ -1,4 +1,4 @@ -/* $Id: ssl_sock.h 4146 2012-05-30 06:35:59Z nanang $ */ +/* $Id: ssl_sock.h 4506 2013-04-26 06:01:43Z bennylp $ */ /* * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) * @@ -710,6 +710,14 @@ typedef struct pj_ssl_sock_param */ pj_str_t server_name; + /** + * Specify if SO_REUSEADDR should be used for listening socket. This + * option will only be used with accept() operation. + * + * Default is PJ_FALSE. + */ + pj_bool_t reuse_addr; + /** * QoS traffic type to be set on this transport. When application wants * to apply QoS tagging to the transport, it's preferable to set this diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/string.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/string.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/string.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/string.h index a75f5da8b22cce17391ce010840b06dbd0b21c41..20be00546e427437334b94a5d5f60cc360e93640 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/string.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/string.h @@ -1,4 +1,4 @@ -/* $Id: string.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: string.h 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -535,6 +535,17 @@ PJ_IDECL(pj_str_t*) pj_strtrim( pj_str_t *str ); */ PJ_DECL(char*) pj_create_random_string(char *str, pj_size_t length); +/** + * Convert string to signed integer. The conversion will stop as + * soon as non-digit character is found or all the characters have + * been processed. + * + * @param str the string. + * + * @return the integer. + */ +PJ_DECL(long) pj_strtol(const pj_str_t *str); + /** * Convert string to unsigned integer. The conversion will stop as * soon as non-digit character is found or all the characters have @@ -563,6 +574,15 @@ PJ_DECL(unsigned long) pj_strtoul(const pj_str_t *str); PJ_DECL(unsigned long) pj_strtoul2(const pj_str_t *str, pj_str_t *endptr, unsigned base); +/** + * Convert string to float. + * + * @param str the string. + * + * @return the value. + */ +PJ_DECL(float) pj_strtof(const pj_str_t *str); + /** * Utility to convert unsigned integer to string. Note that the * string will be NULL terminated. diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/string_i.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/string_i.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/string_i.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/string_i.h index 35904ed067eccd99557a2cda15c5c8077b1acef0..8bb86f130db8a6042f43caed2b5bf76a2d6c6dc7 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/string_i.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/string_i.h @@ -1,4 +1,4 @@ -/* $Id: string_i.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: string_i.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -145,7 +145,7 @@ PJ_IDEF(int) pj_strcmp( const pj_str_t *str1, const pj_str_t *str2) } else if (str2->slen == 0) { return 1; } else { - int min = (str1->slen < str2->slen)? str1->slen : str2->slen; + pj_size_t min = (str1->slen < str2->slen)? str1->slen : str2->slen; int res = pj_memcmp(str1->ptr, str2->ptr, min); if (res == 0) { return (str1->slen < str2->slen) ? -1 : @@ -213,7 +213,7 @@ PJ_IDEF(int) pj_stricmp( const pj_str_t *str1, const pj_str_t *str2) } else if (str2->slen == 0) { return 1; } else { - int min = (str1->slen < str2->slen)? str1->slen : str2->slen; + pj_size_t min = (str1->slen < str2->slen)? str1->slen : str2->slen; int res = pj_ansi_strnicmp(str1->ptr, str2->ptr, min); if (res == 0) { return (str1->slen < str2->slen) ? -1 : @@ -355,7 +355,7 @@ PJ_IDEF(void) pj_strcat(pj_str_t *dst, const pj_str_t *src) PJ_IDEF(void) pj_strcat2(pj_str_t *dst, const char *str) { - unsigned len = str? pj_ansi_strlen(str) : 0; + pj_size_t len = str? pj_ansi_strlen(str) : 0; if (len) { pj_memcpy(dst->ptr + dst->slen, str, len); dst->slen += len; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/timer.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/timer.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/timer.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/timer.h index a89c30be1638919967a979dcd399c68217b949bb..fd7e71d616a881875cdfc962cb0ccea1fe346609 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/timer.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/timer.h @@ -1,4 +1,4 @@ -/* $Id: timer.h 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: timer.h 4567 2013-07-19 06:31:28Z bennylp $ */ /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -212,6 +212,15 @@ PJ_DECL(pj_timer_entry*) pj_timer_entry_init( pj_timer_entry *entry, void *user_data, pj_timer_heap_callback *cb ); +/** + * Queries whether a timer entry is currently running. + * + * @param entry The timer entry to query. + * + * @return PJ_TRUE if the timer is running. PJ_FALSE if not. + */ +PJ_DECL(pj_bool_t) pj_timer_entry_running( pj_timer_entry *entry ); + /** * Schedule a timer entry which will expire AFTER the specified delay. * diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/types.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/types.h similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/types.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/types.h index a6155856e4c91f7872609e7191c40af8564a8747..a59270362fa5b738e4d8902e7d0508bb6ef7b39e 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/types.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/types.h @@ -1,4 +1,4 @@ -/* $Id: types.h 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: types.h 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -58,7 +58,11 @@ typedef unsigned char pj_uint8_t; typedef size_t pj_size_t; /** Large signed integer. */ -typedef long pj_ssize_t; +#if defined(PJ_WIN64) && PJ_WIN64!=0 + typedef pj_int64_t pj_ssize_t; +#else + typedef long pj_ssize_t; +#endif /** Status code. */ typedef int pj_status_t; @@ -82,15 +86,18 @@ typedef int pj_bool_t; # define PJ_T(literal_str) literal_str #endif +/** Some constants */ +enum pj_constants_ +{ + /** Status is OK. */ + PJ_SUCCESS=0, -/** Status is OK. */ -#define PJ_SUCCESS 0 - -/** True value. */ -#define PJ_TRUE 1 + /** True value. */ + PJ_TRUE=1, -/** False value. */ -#define PJ_FALSE 0 + /** False value. */ + PJ_FALSE=0 +}; /** * File offset type. @@ -250,7 +257,11 @@ typedef struct pj_pipe_t pj_pipe_t; typedef void *pj_oshandle_t; /** Socket handle. */ -typedef long pj_sock_t; +#if defined(PJ_WIN64) && PJ_WIN64!=0 + typedef pj_int64_t pj_sock_t; +#else + typedef long pj_sock_t; +#endif /** Generic socket address. */ typedef void pj_sockaddr_t; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/unicode.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/unicode.h similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pj/unicode.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pj/unicode.h index cd41b9a361674a6b722904bf96b830f36371b2d6..8da448a70643222c2f857a1d09344cbd9a2f74f4 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/include/pj/unicode.h +++ b/daemon/libs/pjproject-2.2.1/pjlib/include/pj/unicode.h @@ -1,4 +1,4 @@ -/* $Id: unicode.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: unicode.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -47,8 +47,8 @@ PJ_BEGIN_DECL * * @return The Unicode string, NULL terminated. */ -PJ_DECL(wchar_t*) pj_ansi_to_unicode(const char *str, pj_size_t len, - wchar_t *wbuf, pj_size_t wbuf_count); +PJ_DECL(wchar_t*) pj_ansi_to_unicode(const char *str, int len, + wchar_t *wbuf, int wbuf_count); /** @@ -61,8 +61,8 @@ PJ_DECL(wchar_t*) pj_ansi_to_unicode(const char *str, pj_size_t len, * * @return The ANSI string, NULL terminated. */ -PJ_DECL(char*) pj_unicode_to_ansi(const wchar_t *wstr, pj_size_t len, - char *buf, pj_size_t buf_size); +PJ_DECL(char*) pj_unicode_to_ansi(const wchar_t *wstr, pj_ssize_t len, + char *buf, int buf_size); #if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pjlib++.hpp b/daemon/libs/pjproject-2.2.1/pjlib/include/pjlib++.hpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pjlib++.hpp rename to daemon/libs/pjproject-2.2.1/pjlib/include/pjlib++.hpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/include/pjlib.h b/daemon/libs/pjproject-2.2.1/pjlib/include/pjlib.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/include/pjlib.h rename to daemon/libs/pjproject-2.2.1/pjlib/include/pjlib.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/activesock.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/activesock.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/activesock.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/activesock.c index 3eaf027bc9089ecc18e1306da416086734bd025c..b9004efc1d2cfb2e2ea79220a35849d777fbe084 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/activesock.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/activesock.c @@ -1,4 +1,4 @@ -/* $Id: activesock.c 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: activesock.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -370,7 +370,7 @@ PJ_DEF(pj_status_t) pj_activesock_start_read2( pj_activesock_t *asock, pj_ssize_t size_to_read; r->pkt = (pj_uint8_t*)readbuf[i]; - r->max_size = size_to_read = buff_size; + size_to_read = r->max_size = buff_size; status = pj_ioqueue_recv(asock->key, &r->op_key, r->pkt, &size_to_read, PJ_IOQUEUE_ALWAYS_ASYNC | flags); @@ -429,7 +429,7 @@ PJ_DEF(pj_status_t) pj_activesock_start_recvfrom2( pj_activesock_t *asock, pj_ssize_t size_to_read; r->pkt = (pj_uint8_t*) readbuf[i]; - r->max_size = size_to_read = buff_size; + size_to_read = r->max_size = buff_size; r->src_addr_len = sizeof(r->src_addr); status = pj_ioqueue_recvfrom(asock->key, &r->op_key, r->pkt, @@ -532,7 +532,7 @@ static void ioqueue_on_read_complete(pj_ioqueue_key_t *key, * oriented, it means connection has been closed. For datagram * sockets, it means we've got some error (e.g. EWOULDBLOCK). */ - status = -bytes_read; + status = (pj_status_t)-bytes_read; } /* Set default remainder to zero */ @@ -843,6 +843,16 @@ static void ioqueue_on_accept_complete(pj_ioqueue_key_t *key, PJ_LOG(3, ("", "Received %d consecutive errors: %d for the accept()" " operation, stopping further ioqueue accepts.", asock->err_counter, asock->last_err)); + + if ((status == PJ_STATUS_FROM_OS(OSERR_EWOULDBLOCK)) && + (asock->cb.on_accept_complete2)) + { + (*asock->cb.on_accept_complete2)(asock, + accept_op->new_sock, + &accept_op->rem_addr, + accept_op->rem_addr_len, + PJ_ESOCKETSTOP); + } return; } } else { @@ -850,13 +860,23 @@ static void ioqueue_on_accept_complete(pj_ioqueue_key_t *key, asock->last_err = status; } - if (status==PJ_SUCCESS && asock->cb.on_accept_complete) { + if (status==PJ_SUCCESS && (asock->cb.on_accept_complete2 || + asock->cb.on_accept_complete)) { pj_bool_t ret; /* Notify callback */ - ret = (*asock->cb.on_accept_complete)(asock, accept_op->new_sock, - &accept_op->rem_addr, - accept_op->rem_addr_len); + if (asock->cb.on_accept_complete2) { + ret = (*asock->cb.on_accept_complete2)(asock, + accept_op->new_sock, + &accept_op->rem_addr, + accept_op->rem_addr_len, + status); + } else { + ret = (*asock->cb.on_accept_complete)(asock, + accept_op->new_sock, + &accept_op->rem_addr, + accept_op->rem_addr_len); + } /* If callback returns false, we have been destroyed! */ if (!ret) diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/addr_resolv_linux_kernel.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/addr_resolv_linux_kernel.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/addr_resolv_linux_kernel.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/addr_resolv_linux_kernel.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/addr_resolv_sock.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/addr_resolv_sock.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/addr_resolv_sock.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/addr_resolv_sock.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/addr_resolv_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/addr_resolv_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/addr_resolv_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/addr_resolv_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/array.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/array.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/array.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/array.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/longjmp_i386.S b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/longjmp_i386.S similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/longjmp_i386.S rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/longjmp_i386.S diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/setjmp_i386.S b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/setjmp_i386.S similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/setjmp_i386.S rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/setjmp_i386.S diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/sigjmp.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/sigjmp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/sigjmp.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/sigjmp.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/string.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/string.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/string.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/string.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/string_compat.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/string_compat.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/compat/string_compat.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/compat/string_compat.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/config.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/config.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/config.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/config.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ctype.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ctype.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ctype.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ctype.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/errno.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/errno.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/errno.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/errno.c index a0f7406623c9e5b05253f528115aa98dbcaa04ec..5789bffc64f14a291f1ea1aebfa4825eb9878f39 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/errno.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/errno.c @@ -1,4 +1,4 @@ -/* $Id: errno.c 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: errno.c 4761 2014-02-24 09:02:44Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -78,7 +78,8 @@ static const struct PJ_BUILD_ERR(PJ_EIGNORED, "Ignored"), PJ_BUILD_ERR(PJ_EIPV6NOTSUP, "IPv6 is not supported"), PJ_BUILD_ERR(PJ_EAFNOTSUP, "Unsupported address family"), - PJ_BUILD_ERR(PJ_EGONE, "Object no longer exists") + PJ_BUILD_ERR(PJ_EGONE, "Object no longer exists"), + PJ_BUILD_ERR(PJ_ESOCKETSTOP, "Socket is in bad state") }; #endif /* PJ_HAS_ERROR_STRING */ @@ -90,6 +91,8 @@ static const struct */ static int pjlib_error(pj_status_t code, char *buf, pj_size_t size) { + int len; + #if defined(PJ_HAS_ERROR_STRING) && PJ_HAS_ERROR_STRING!=0 unsigned i; @@ -99,12 +102,15 @@ static int pjlib_error(pj_status_t code, char *buf, pj_size_t size) if (len >= size) len = size-1; pj_memcpy(buf, err_str[i].msg, len); buf[len] = '\0'; - return len; + return (int)len; } } #endif - return pj_ansi_snprintf( buf, size, "Unknown pjlib error %d", code); + len = pj_ansi_snprintf( buf, size, "Unknown pjlib error %d", code); + if (len < 1 || len >= (int)size) + len = (int)(size - 1); + return len; } #define IN_RANGE(val,start,end) ((val)>=(start) && (val)<(end)) @@ -198,9 +204,9 @@ PJ_DEF(pj_str_t) pj_strerror( pj_status_t statcode, len = pj_ansi_snprintf( buf, bufsize, "Unknown error %d", statcode); } - if (len < 1) { - *buf = '\0'; - len = 0; + if (len < 1 || len >= (int)bufsize) { + len = (int)(bufsize - 1); + buf[len] = '\0'; } errstr.ptr = buf; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/except.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/except.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/except.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/except.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/exception_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/exception_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/exception_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/exception_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/extra-exports.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/extra-exports.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/extra-exports.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/extra-exports.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/fifobuf.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/fifobuf.c similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/fifobuf.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/fifobuf.c index 58620ea304d2def6f5a3bf834f584a2d8db14da3..62f66cccf18b8e8e3fff6847e73de9813bbffdf8 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/fifobuf.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/fifobuf.c @@ -1,4 +1,4 @@ -/* $Id: fifobuf.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: fifobuf.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -47,10 +47,10 @@ PJ_DEF(unsigned) pj_fifobuf_max_size (pj_fifobuf_t *fifobuf) PJ_CHECK_STACK(); if (fifobuf->uend >= fifobuf->ubegin) { - s1 = fifobuf->last - fifobuf->uend; - s2 = fifobuf->ubegin - fifobuf->first; + s1 = (unsigned)(fifobuf->last - fifobuf->uend); + s2 = (unsigned)(fifobuf->ubegin - fifobuf->first); } else { - s1 = s2 = fifobuf->ubegin - fifobuf->uend; + s1 = s2 = (unsigned)(fifobuf->ubegin - fifobuf->uend); } return s1<s2 ? s2 : s1; @@ -72,7 +72,7 @@ PJ_DEF(void*) pj_fifobuf_alloc (pj_fifobuf_t *fifobuf, unsigned size) /* try to allocate from the end part of the fifo */ if (fifobuf->uend >= fifobuf->ubegin) { - available = fifobuf->last - fifobuf->uend; + available = (unsigned)(fifobuf->last - fifobuf->uend); if (available >= size+SZ) { char *ptr = fifobuf->uend; fifobuf->uend += (size+SZ); @@ -92,7 +92,7 @@ PJ_DEF(void*) pj_fifobuf_alloc (pj_fifobuf_t *fifobuf, unsigned size) /* try to allocate from the start part of the fifo */ start = (fifobuf->uend <= fifobuf->ubegin) ? fifobuf->uend : fifobuf->first; - available = fifobuf->ubegin - start; + available = (unsigned)(fifobuf->ubegin - start); if (available >= size+SZ) { char *ptr = start; fifobuf->uend = start + size + SZ; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/file_access_unistd.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/file_access_unistd.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/file_access_unistd.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/file_access_unistd.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/file_access_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/file_access_win32.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/file_access_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/file_access_win32.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/file_io_ansi.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/file_io_ansi.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/file_io_ansi.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/file_io_ansi.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/file_io_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/file_io_win32.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/file_io_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/file_io_win32.c index 42ccd70d71f5667d1352454b672552e53b948aab..cf72e4dd0a69073db17801d2ab62196d1c5b4b13 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/file_io_win32.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/file_io_win32.c @@ -1,4 +1,4 @@ -/* $Id: file_io_win32.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: file_io_win32.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -124,7 +124,7 @@ PJ_DEF(pj_status_t) pj_file_write( pj_oshandle_t fd, BOOL rc; DWORD bytesWritten; - rc = WriteFile(fd, data, *size, &bytesWritten, NULL); + rc = WriteFile(fd, data, (DWORD)*size, &bytesWritten, NULL); if (!rc) { *size = -1; return PJ_RETURN_OS_ERROR(GetLastError()); @@ -141,7 +141,7 @@ PJ_DEF(pj_status_t) pj_file_read( pj_oshandle_t fd, BOOL rc; DWORD bytesRead; - rc = ReadFile(fd, data, *size, &bytesRead, NULL); + rc = ReadFile(fd, data, (DWORD)*size, &bytesRead, NULL); if (!rc) { *size = -1; return PJ_RETURN_OS_ERROR(GetLastError()); diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/guid.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/guid.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/guid.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/guid.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/guid_simple.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/guid_simple.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/guid_simple.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/guid_simple.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/guid_uuid.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/guid_uuid.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/guid_uuid.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/guid_uuid.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/guid_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/guid_win32.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/guid_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/guid_win32.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/hash.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/hash.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/hash.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/hash.c index b37e8ffc002237edbe62aa91bf0cd0c4793f34f7..ab58fb44b3b074081f8cdef95e44912c8366099d 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/hash.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/hash.c @@ -1,4 +1,4 @@ -/* $Id: hash.c 4296 2012-11-07 04:56:26Z nanang $ */ +/* $Id: hash.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -141,7 +141,7 @@ static pj_hash_entry **find_entry( pj_pool_t *pool, pj_hash_table_t *ht, if (hval && *hval != 0) { hash = *hval; if (keylen==PJ_HASH_KEY_STRING) { - keylen = pj_ansi_strlen((const char*)key); + keylen = (unsigned)pj_ansi_strlen((const char*)key); } } else { /* This slightly differs with pj_hash_calc() because we need @@ -156,7 +156,7 @@ static pj_hash_entry **find_entry( pj_pool_t *pool, pj_hash_table_t *ht, else hash = hash * PJ_HASH_MULTIPLIER + *p; } - keylen = p - (const unsigned char*)key; + keylen = (unsigned)(p - (const unsigned char*)key); } else { const pj_uint8_t *p = (const pj_uint8_t*)key, *end = p + keylen; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_common_abs.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_common_abs.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_common_abs.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_common_abs.c index b8036a5c7c2783c80624d24e4561eb33e2977565..d80f4422664da6f50a8448d351be39b10f8321f3 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_common_abs.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_common_abs.c @@ -1,4 +1,4 @@ -/* $Id: ioqueue_common_abs.c 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: ioqueue_common_abs.c 4601 2013-09-25 04:20:01Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -240,7 +240,7 @@ void ioqueue_dispatch_write_event(pj_ioqueue_t *ioqueue, pj_ioqueue_key_t *h) status = PJ_STATUS_FROM_OS(value); } } -#elif defined(PJ_WIN32) && PJ_WIN32!=0 +#elif (defined(PJ_WIN32) && PJ_WIN32!=0) || (defined(PJ_WIN64) && PJ_WIN64!=0) status = PJ_SUCCESS; /* success */ #else /* Excellent information in D.J. Bernstein page: @@ -523,6 +523,7 @@ void ioqueue_dispatch_read_event( pj_ioqueue_t *ioqueue, pj_ioqueue_key_t *h ) * that error is easier to catch. */ # if defined(PJ_WIN32) && PJ_WIN32 != 0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE != 0 rc = pj_sock_recv(h->fd, read_op->buf, &bytes_read, read_op->flags); @@ -540,7 +541,8 @@ void ioqueue_dispatch_read_event( pj_ioqueue_t *ioqueue, pj_ioqueue_key_t *h ) } if (rc != PJ_SUCCESS) { -# if defined(PJ_WIN32) && PJ_WIN32 != 0 +# if (defined(PJ_WIN32) && PJ_WIN32 != 0) || \ + (defined(PJ_WIN64) && PJ_WIN64 != 0) /* On Win32, for UDP, WSAECONNRESET on the receive side * indicates that previous sending has triggered ICMP Port * Unreachable message. @@ -1014,7 +1016,6 @@ retry_on_restart: return status; } - status = status; } } @@ -1281,7 +1282,7 @@ PJ_DEF(pj_status_t) pj_ioqueue_post_completion( pj_ioqueue_key_t *key, (*key->cb.on_accept_complete)(key, op_key, PJ_INVALID_SOCKET, - bytes_status); + (pj_status_t)bytes_status); return PJ_SUCCESS; } op_rec = op_rec->next; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_common_abs.h b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_common_abs.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_common_abs.h rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_common_abs.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_dummy.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_dummy.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_dummy.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_dummy.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_epoll.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_epoll.c similarity index 87% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_epoll.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_epoll.c index c2564d18ded9ac8e69335c94704b35201c8999d0..85186dd2e786df6a55ae816c9ad789bb5aa26653 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_epoll.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_epoll.c @@ -1,4 +1,4 @@ -/* $Id: ioqueue_epoll.c 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: ioqueue_epoll.c 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -35,6 +35,7 @@ #include <pj/errno.h> #include <pj/sock.h> #include <pj/compat/socket.h> +#include <pj/rand.h> #if !defined(PJ_LINUX_KERNEL) || PJ_LINUX_KERNEL==0 /* @@ -349,9 +350,10 @@ PJ_DEF(pj_status_t) pj_ioqueue_destroy(pj_ioqueue_t *ioqueue) * * Register a socket to ioqueue. */ -PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, +PJ_DEF(pj_status_t) pj_ioqueue_register_sock2(pj_pool_t *pool, pj_ioqueue_t *ioqueue, pj_sock_t sock, + pj_grp_lock_t *grp_lock, void *user_data, const pj_ioqueue_callback *cb, pj_ioqueue_key_t **p_key) @@ -403,7 +405,7 @@ PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, key = (pj_ioqueue_key_t*)pj_pool_zalloc(pool, sizeof(pj_ioqueue_key_t)); #endif - rc = ioqueue_init_key(pool, ioqueue, key, sock, user_data, cb); + rc = ioqueue_init_key(pool, ioqueue, key, sock, grp_lock, user_data, cb); if (rc != PJ_SUCCESS) { key = NULL; goto on_return; @@ -437,12 +439,27 @@ PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, //TRACE_((THIS_FILE, "socket registered, count=%d", ioqueue->count)); on_return: + if (rc != PJ_SUCCESS) { + if (key && key->grp_lock) + pj_grp_lock_dec_ref_dbg(key->grp_lock, "ioqueue", 0); + } *p_key = key; pj_lock_release(ioqueue->lock); return rc; } +PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, + pj_ioqueue_t *ioqueue, + pj_sock_t sock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **p_key) +{ + return pj_ioqueue_register_sock2(pool, ioqueue, sock, NULL, user_data, + cb, p_key); +} + #if PJ_IOQUEUE_HAS_SAFE_UNREG /* Increment key's reference counter */ static void increment_counter(pj_ioqueue_key_t *key) @@ -497,7 +514,7 @@ PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_key_t *key) * the key. We need to lock the key before ioqueue here to prevent * deadlock. */ - pj_lock_acquire(key->lock); + pj_ioqueue_lock_key(key); /* Also lock ioqueue */ pj_lock_acquire(ioqueue->lock); @@ -531,8 +548,33 @@ PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_key_t *key) decrement_counter(key); /* Done. */ - pj_lock_release(key->lock); + if (key->grp_lock) { + /* just dec_ref and unlock. we will set grp_lock to NULL + * elsewhere */ + pj_grp_lock_t *grp_lock = key->grp_lock; + // Don't set grp_lock to NULL otherwise the other thread + // will crash. Just leave it as dangling pointer, but this + // should be safe + //key->grp_lock = NULL; + pj_grp_lock_dec_ref_dbg(grp_lock, "ioqueue", 0); + pj_grp_lock_release(grp_lock); + } else { + pj_ioqueue_unlock_key(key); + } #else + if (key->grp_lock) { + /* set grp_lock to NULL and unlock */ + pj_grp_lock_t *grp_lock = key->grp_lock; + // Don't set grp_lock to NULL otherwise the other thread + // will crash. Just leave it as dangling pointer, but this + // should be safe + //key->grp_lock = NULL; + pj_grp_lock_dec_ref_dbg(grp_lock, "ioqueue", 0); + pj_grp_lock_release(grp_lock); + } else { + pj_ioqueue_unlock_key(key); + } + pj_lock_destroy(key->lock); #endif @@ -592,6 +634,10 @@ static void scan_closing_keys(pj_ioqueue_t *ioqueue) if (PJ_TIME_VAL_GTE(now, h->free_time)) { pj_list_erase(h); + // Don't set grp_lock to NULL otherwise the other thread + // will crash. Just leave it as dangling pointer, but this + // should be safe + //h->grp_lock = NULL; pj_list_push_back(&ioqueue->free_list, h); } h = next; @@ -666,6 +712,7 @@ PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout) queue[processed].key = h; queue[processed].event_type = READABLE_EVENT; ++processed; + continue; } /* @@ -679,6 +726,7 @@ PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout) queue[processed].key = h; queue[processed].event_type = WRITEABLE_EVENT; ++processed; + continue; } #if PJ_HAS_TCP @@ -693,24 +741,48 @@ PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout) queue[processed].key = h; queue[processed].event_type = WRITEABLE_EVENT; ++processed; + continue; } #endif /* PJ_HAS_TCP */ - + /* * Check for error condition. */ - if (events[i].events & EPOLLERR && (h->connecting) && !IS_CLOSING(h)) { - + if ((events[i].events & EPOLLERR) && !IS_CLOSING(h)) { + /* + * We need to handle this exception event. If it's related to us + * connecting, report it as such. If not, just report it as a + * read event and the higher layers will handle it. + */ + if (h->connecting) { #if PJ_IOQUEUE_HAS_SAFE_UNREG - increment_counter(h); -#endif - queue[processed].key = h; - queue[processed].event_type = EXCEPTION_EVENT; - ++processed; + increment_counter(h); +#endif + queue[processed].key = h; + queue[processed].event_type = EXCEPTION_EVENT; + ++processed; + } else if (key_has_pending_read(h) || key_has_pending_accept(h)) { +#if PJ_IOQUEUE_HAS_SAFE_UNREG + increment_counter(h); +#endif + queue[processed].key = h; + queue[processed].event_type = READABLE_EVENT; + ++processed; + } + continue; } } + for (i=0; i<processed; ++i) { + if (queue[i].key->grp_lock) + pj_grp_lock_add_ref_dbg(queue[i].key->grp_lock, "ioqueue", 0); + } + + PJ_RACE_ME(5); + pj_lock_release(ioqueue->lock); + PJ_RACE_ME(5); + /* Now process the events. */ for (i=0; i<processed; ++i) { switch (queue[i].event_type) { @@ -731,6 +803,10 @@ PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout) #if PJ_IOQUEUE_HAS_SAFE_UNREG decrement_counter(queue[i].key); #endif + + if (queue[i].key->grp_lock) + pj_grp_lock_dec_ref_dbg(queue[i].key->grp_lock, + "ioqueue", 0); } /* Special case: diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_linux_kernel.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_linux_kernel.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_linux_kernel.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_linux_kernel.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_select.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_select.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_select.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_select.c index 1b08d28812305cf808e29b382426887cd3a379f5..d2e4491a2d637c03b3121ba5750d3026b7f13607 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_select.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_select.c @@ -1,4 +1,4 @@ -/* $Id: ioqueue_select.c 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: ioqueue_select.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -202,7 +202,7 @@ PJ_DEF(pj_status_t) pj_ioqueue_create( pj_pool_t *pool, ioqueue = PJ_POOL_ALLOC_T(pool, pj_ioqueue_t); ioqueue_init(ioqueue); - ioqueue->max = max_fd; + ioqueue->max = (unsigned)max_fd; ioqueue->count = 0; PJ_FD_ZERO(&ioqueue->rfdset); PJ_FD_ZERO(&ioqueue->wfdset); @@ -323,6 +323,7 @@ PJ_DEF(pj_status_t) pj_ioqueue_register_sock2(pj_pool_t *pool, { pj_ioqueue_key_t *key = NULL; #if defined(PJ_WIN32) && PJ_WIN32!=0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 u_long value; #else @@ -369,6 +370,7 @@ PJ_DEF(pj_status_t) pj_ioqueue_register_sock2(pj_pool_t *pool, /* Set socket to nonblocking. */ value = 1; #if defined(PJ_WIN32) && PJ_WIN32!=0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 if (ioctlsocket(sock, FIONBIO, &value)) { #else @@ -389,7 +391,7 @@ PJ_DEF(pj_status_t) pj_ioqueue_register_sock2(pj_pool_t *pool, on_return: /* On error, socket may be left in non-blocking mode. */ if (rc != PJ_SUCCESS) { - if (key->grp_lock) + if (key && key->grp_lock) pj_grp_lock_dec_ref_dbg(key->grp_lock, "ioqueue", 0); } *p_key = key; @@ -762,6 +764,7 @@ static pj_status_t replace_udp_sock(pj_ioqueue_key_t *h) /* Set socket to nonblocking. */ val = 1; #if defined(PJ_WIN32) && PJ_WIN32!=0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 if (ioctlsocket(new_sock, FIONBIO, &val)) { #else diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_winnt.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_winnt.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_winnt.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_winnt.c index fbe8ab8222448020baf8ec3121327c7610e78a82..adf6f66c2ca8eb65a89dd3301849bb63cf5c8c2e 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ioqueue_winnt.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ioqueue_winnt.c @@ -1,4 +1,4 @@ -/* $Id: ioqueue_winnt.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: ioqueue_winnt.c 4724 2014-01-31 08:52:09Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -633,19 +633,19 @@ static void decrement_counter(pj_ioqueue_key_t *key) /* * Poll the I/O Completion Port, execute callback, - * and return the key and bytes transfered of the last operation. + * and return the key and bytes transferred of the last operation. */ static pj_bool_t poll_iocp( HANDLE hIocp, DWORD dwTimeout, pj_ssize_t *p_bytes, pj_ioqueue_key_t **p_key ) { - DWORD dwBytesTransfered, dwKey; + DWORD dwBytesTransferred, dwKey; generic_overlapped *pOv; pj_ioqueue_key_t *key; pj_ssize_t size_status = -1; BOOL rcGetQueued; /* Poll for completion status. */ - rcGetQueued = GetQueuedCompletionStatus(hIocp, &dwBytesTransfered, + rcGetQueued = GetQueuedCompletionStatus(hIocp, &dwBytesTransferred, &dwKey, (OVERLAPPED**)&pOv, dwTimeout); @@ -659,7 +659,7 @@ static pj_bool_t poll_iocp( HANDLE hIocp, DWORD dwTimeout, /* Event was dequeued for either successfull or failed I/O */ key = (pj_ioqueue_key_t*)dwKey; - size_status = dwBytesTransfered; + size_status = dwBytesTransferred; /* Report to caller regardless */ if (p_bytes) @@ -1381,10 +1381,10 @@ PJ_DEF(pj_bool_t) pj_ioqueue_is_pending( pj_ioqueue_key_t *key, pj_ioqueue_op_key_t *op_key ) { BOOL rc; - DWORD bytesTransfered; + DWORD bytesTransferred; rc = GetOverlappedResult( key->hnd, (LPOVERLAPPED)op_key, - &bytesTransfered, FALSE ); + &bytesTransferred, FALSE ); if (rc == FALSE) { return GetLastError()==ERROR_IO_INCOMPLETE; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ip_helper_generic.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ip_helper_generic.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ip_helper_generic.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ip_helper_generic.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ip_helper_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ip_helper_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ip_helper_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ip_helper_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ip_helper_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ip_helper_win32.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ip_helper_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ip_helper_win32.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/list.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/list.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/list.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/list.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/lock.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/lock.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/lock.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/lock.c index 34e2d1e775ec2afba05e055d15871688d6a0fc7f..efc07879441bd50f9c18d6776092289332aa80a0 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/lock.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/lock.c @@ -1,4 +1,4 @@ -/* $Id: lock.c 4412 2013-03-05 03:12:32Z riza $ */ +/* $Id: lock.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -683,7 +683,7 @@ PJ_DEF(void) pj_grp_lock_dump(pj_grp_lock_t *grp_lock) int len; len = pj_ansi_snprintf(start, max_len, "%s:%d ", ref->file, ref->line); - if (len < 1 || len > max_len) { + if (len < 1 || len >= max_len) { len = strlen(ref->file); if (len > max_len - 1) len = max_len - 1; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/log.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/log.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/log.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/log.c index 04173eb017a972bc7989e99c3885507a8d81f3c1..123853eecba04a1dedff684cf0b0dc438e6988e6 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/log.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/log.c @@ -1,4 +1,4 @@ -/* $Id: log.c 3752 2011-09-18 14:38:46Z bennylp $ */ +/* $Id: log.c 4761 2014-02-24 09:02:44Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -49,7 +49,8 @@ static unsigned log_decor = PJ_LOG_HAS_TIME | PJ_LOG_HAS_MICRO_SEC | PJ_LOG_HAS_SENDER | PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_SPACE | PJ_LOG_HAS_THREAD_SWC | PJ_LOG_HAS_INDENT -#if defined(PJ_WIN32) && PJ_WIN32!=0 +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) | PJ_LOG_HAS_COLOR #endif ; @@ -103,12 +104,12 @@ static void logging_shutdown(void) static void log_set_indent(int indent) { if (indent < 0) indent = 0; - pj_thread_local_set(thread_indent_tls_id, (void*)(long)indent); + pj_thread_local_set(thread_indent_tls_id, (void*)(pj_ssize_t)indent); } -static int log_get_raw_indent() +static int log_get_raw_indent(void) { - return (long)pj_thread_local_get(thread_indent_tls_id); + return (long)(pj_ssize_t)pj_thread_local_get(thread_indent_tls_id); } #else @@ -118,13 +119,13 @@ static void log_set_indent(int indent) if (log_indent < 0) log_indent = 0; } -static int log_get_raw_indent() +static int log_get_raw_indent(void) { return log_indent; } #endif /* PJ_LOG_ENABLE_INDENT && PJ_HAS_THREADS */ -static int log_get_indent() +static int log_get_indent(void) { int indent = log_get_raw_indent(); return indent > LOG_MAX_INDENT ? LOG_MAX_INDENT : indent; @@ -267,7 +268,8 @@ static void suspend_logging(int *saved_level) #if PJ_HAS_THREADS if (thread_suspended_tls_id != -1) { - pj_thread_local_set(thread_suspended_tls_id, (void*)PJ_TRUE); + pj_thread_local_set(thread_suspended_tls_id, + (void*)(pj_ssize_t)PJ_TRUE); } else #endif @@ -282,7 +284,8 @@ static void resume_logging(int *saved_level) #if PJ_HAS_THREADS if (thread_suspended_tls_id != -1) { - pj_thread_local_set(thread_suspended_tls_id, (void*)PJ_FALSE); + pj_thread_local_set(thread_suspended_tls_id, + (void*)(pj_size_t)PJ_FALSE); } else #endif @@ -378,7 +381,7 @@ PJ_DEF(void) pj_log( const char *sender, int level, } if (log_decor & PJ_LOG_HAS_SENDER) { enum { SENDER_WIDTH = 14 }; - int sender_len = strlen(sender); + pj_size_t sender_len = strlen(sender); if (pre!=log_buffer) *pre++ = ' '; if (sender_len <= SENDER_WIDTH) { while (sender_len < SENDER_WIDTH) @@ -394,7 +397,7 @@ PJ_DEF(void) pj_log( const char *sender, int level, if (log_decor & PJ_LOG_HAS_THREAD_ID) { enum { THREAD_WIDTH = 12 }; const char *thread_name = pj_thread_get_name(pj_thread_this()); - int thread_len = strlen(thread_name); + pj_size_t thread_len = strlen(thread_name); *pre++ = ' '; if (thread_len <= THREAD_WIDTH) { while (thread_len < THREAD_WIDTH) @@ -433,7 +436,7 @@ PJ_DEF(void) pj_log( const char *sender, int level, } #endif - len = pre - log_buffer; + len = (int)(pre - log_buffer); /* Print the whole message to the string log_buffer. */ print_len = pj_ansi_vsnprintf(pre, sizeof(log_buffer)-len, format, @@ -443,6 +446,9 @@ PJ_DEF(void) pj_log( const char *sender, int level, print_len = pj_ansi_snprintf(pre, sizeof(log_buffer)-len, "<logging error: msg too long>"); } + if (print_len < 1 || print_len >= (int)(sizeof(log_buffer)-len)) { + print_len = sizeof(log_buffer) - len - 1; + } len = len + print_len; if (len > 0 && len < (int)sizeof(log_buffer)-2) { if (log_decor & PJ_LOG_HAS_CR) { diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/log_writer_printk.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/log_writer_printk.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/log_writer_printk.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/log_writer_printk.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/log_writer_stdout.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/log_writer_stdout.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/log_writer_stdout.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/log_writer_stdout.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/log_writer_symbian_console.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/log_writer_symbian_console.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/log_writer_symbian_console.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/log_writer_symbian_console.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_darwin.m b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_darwin.m similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_darwin.m rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_darwin.m diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_linux_kernel.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_linux_kernel.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_linux_kernel.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_linux_kernel.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_unix.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_unix.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_unix.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_unix.c index ff8ba681893cb53edca6e26469abdfbbb0a6988e..4cb8494cd1abbc065ab03934780f18681e62d0f4 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_unix.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_unix.c @@ -1,5 +1,5 @@ -/* $Id: os_core_unix.c 4359 2013-02-21 11:18:36Z bennylp $ */ -/* +/* $Id: os_core_unix.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * Contributors: @@ -164,13 +164,13 @@ PJ_DEF(pj_status_t) pj_init(void) /* Init logging */ pj_log_init(); - /* Initialize exception ID for the pool. + /* Initialize exception ID for the pool. * Must do so after critical section is configured. */ rc = pj_exception_id_alloc("PJLIB/No memory", &PJ_NO_MEMORY_EXCEPTION); if (rc != PJ_SUCCESS) return rc; - + /* Init random seed. */ /* Or probably not. Let application in charge of this */ /* pj_srand( clock() ); */ @@ -187,7 +187,7 @@ PJ_DEF(pj_status_t) pj_init(void) return rc; } } -#endif +#endif /* Flag PJLIB as initialized */ ++initialized; @@ -382,7 +382,7 @@ PJ_DEF(int) pj_thread_get_prio_max(pj_thread_t *thread) /* * Get native thread handle */ -PJ_DEF(void*) pj_thread_get_os_handle(pj_thread_t *thread) +PJ_DEF(void*) pj_thread_get_os_handle(pj_thread_t *thread) { PJ_ASSERT_RETURN(thread, NULL); @@ -440,12 +440,12 @@ PJ_DEF(pj_status_t) pj_thread_register ( const char *cstr_thread_name, thread->signature2 = SIGNATURE2; if(cstr_thread_name && pj_strlen(&thread_name) < sizeof(thread->obj_name)-1) - pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), + pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), cstr_thread_name, thread->thread); else - pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), + pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), "thr%p", (void*)thread->thread); - + rc = pj_thread_local_set(thread_tls_id, thread); if (rc != PJ_SUCCESS) { pj_bzero(desc, sizeof(struct pj_thread_t)); @@ -457,7 +457,7 @@ PJ_DEF(pj_status_t) pj_thread_register ( const char *cstr_thread_name, thread->stk_size = 0xFFFFFFFFUL; thread->stk_max_usage = 0; #else - stack_ptr = '\0'; + PJ_UNUSED_ARG(stack_ptr); #endif *ptr_thread = thread; @@ -532,11 +532,11 @@ static void *thread_main(void *param) /* * pj_thread_create(...) */ -PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, +PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, const char *thread_name, - pj_thread_proc *proc, + pj_thread_proc *proc, void *arg, - pj_size_t stack_size, + pj_size_t stack_size, unsigned flags, pj_thread_t **ptr_thread) { @@ -554,11 +554,11 @@ PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, /* Create thread record and assign name for the thread */ rec = (struct pj_thread_t*) pj_pool_zalloc(pool, sizeof(pj_thread_t)); PJ_ASSERT_RETURN(rec, PJ_ENOMEM); - + /* Set name. */ - if (!thread_name) + if (!thread_name) thread_name = "thr%p"; - + if (strchr(thread_name, '%')) { pj_ansi_snprintf(rec->obj_name, PJ_MAX_OBJ_NAME, thread_name, rec); } else { @@ -586,7 +586,7 @@ PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, } else { pj_assert(rec->suspended_mutex == NULL); } - + /* Init thread attributes */ pthread_attr_init(&thread_attr); @@ -667,7 +667,7 @@ PJ_DEF(pj_thread_t*) pj_thread_this(void) { #if PJ_HAS_THREADS pj_thread_t *rec = (pj_thread_t*)pj_thread_local_get(thread_tls_id); - + if (rec == NULL) { pj_assert(!"Calling pjlib from unknown/external thread. You must " "register external threads with pj_thread_register() " @@ -705,8 +705,8 @@ PJ_DEF(pj_status_t) pj_thread_join(pj_thread_t *p) if (result == 0) return PJ_SUCCESS; else { - /* Calling pthread_join() on a thread that no longer exists and - * getting back ESRCH isn't an error (in this context). + /* Calling pthread_join() on a thread that no longer exists and + * getting back ESRCH isn't an error (in this context). * Thanks Phil Torre <ptorre@zetron.com>. */ return result==ESRCH ? PJ_SUCCESS : PJ_RETURN_OS_ERROR(result); @@ -761,9 +761,9 @@ PJ_DEF(pj_status_t) pj_thread_sleep(unsigned msec) /* MacOS X (reported on 10.5) seems to always set errno to ETIMEDOUT. * It does so because usleep() is declared to return int, and we're - * supposed to check for errno only when usleep() returns non-zero. + * supposed to check for errno only when usleep() returns non-zero. * Unfortunately, usleep() is declared to return void in other platforms - * so it's not possible to always check for the return value (unless + * so it's not possible to always check for the return value (unless * we add a detection routine in autoconf). * * As a workaround, here we check if ETIMEDOUT is returned and @@ -831,7 +831,7 @@ PJ_DEF(pj_status_t) pj_thread_get_stack_info( pj_thread_t *thread, /* * pj_atomic_create() */ -PJ_DEF(pj_status_t) pj_atomic_create( pj_pool_t *pool, +PJ_DEF(pj_status_t) pj_atomic_create( pj_pool_t *pool, pj_atomic_value_t initial, pj_atomic_t **ptr_atomic) { @@ -841,7 +841,7 @@ PJ_DEF(pj_status_t) pj_atomic_create( pj_pool_t *pool, atomic_var = PJ_POOL_ZALLOC_T(pool, pj_atomic_t); PJ_ASSERT_RETURN(atomic_var, PJ_ENOMEM); - + #if PJ_HAS_THREADS rc = pj_mutex_create(pool, "atm%p", PJ_MUTEX_SIMPLE, &atomic_var->mutex); if (rc != PJ_SUCCESS) @@ -879,7 +879,7 @@ PJ_DEF(void) pj_atomic_set(pj_atomic_t *atomic_var, pj_atomic_value_t value) atomic_var->value = value; #if PJ_HAS_THREADS pj_mutex_unlock( atomic_var->mutex); -#endif +#endif } /* @@ -888,7 +888,7 @@ PJ_DEF(void) pj_atomic_set(pj_atomic_t *atomic_var, pj_atomic_value_t value) PJ_DEF(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *atomic_var) { pj_atomic_value_t oldval; - + PJ_CHECK_STACK(); #if PJ_HAS_THREADS @@ -958,8 +958,8 @@ PJ_DEF(void) pj_atomic_dec(pj_atomic_t *atomic_var) /* * pj_atomic_add_and_get() - */ -PJ_DEF(pj_atomic_value_t) pj_atomic_add_and_get( pj_atomic_t *atomic_var, + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_add_and_get( pj_atomic_t *atomic_var, pj_atomic_value_t value ) { pj_atomic_value_t new_value; @@ -967,7 +967,7 @@ PJ_DEF(pj_atomic_value_t) pj_atomic_add_and_get( pj_atomic_t *atomic_var, #if PJ_HAS_THREADS pj_mutex_lock(atomic_var->mutex); #endif - + atomic_var->value += value; new_value = atomic_var->value; @@ -980,8 +980,8 @@ PJ_DEF(pj_atomic_value_t) pj_atomic_add_and_get( pj_atomic_t *atomic_var, /* * pj_atomic_add() - */ -PJ_DEF(void) pj_atomic_add( pj_atomic_t *atomic_var, + */ +PJ_DEF(void) pj_atomic_add( pj_atomic_t *atomic_var, pj_atomic_value_t value ) { pj_atomic_add_and_get(atomic_var, value); @@ -1011,9 +1011,9 @@ PJ_DEF(pj_status_t) pj_thread_local_alloc(long *p_index) if (tls_flag[i] == 0) break; } - if (i == MAX_THREADS) + if (i == MAX_THREADS) return PJ_ETOOMANY; - + tls_flag[i] = 1; tls[i] = NULL; @@ -1118,7 +1118,7 @@ static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name, int type) #elif (defined(PJ_RTEMS) && PJ_RTEMS!=0) || \ defined(PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE) // Phil Torre <ptorre@zetron.com>: - // The RTEMS implementation of POSIX mutexes doesn't include + // The RTEMS implementation of POSIX mutexes doesn't include // pthread_mutexattr_settype(), so what follows is a hack // until I get RTEMS patched to support the set/get functions. // @@ -1131,7 +1131,7 @@ static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name, int type) rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); #endif } - + if (rc != 0) { return PJ_RETURN_OS_ERROR(rc); } @@ -1140,7 +1140,7 @@ static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name, int type) if (rc != 0) { return PJ_RETURN_OS_ERROR(rc); } - + rc = pthread_mutexattr_destroy(&attr); if (rc != 0) { pj_status_t status = PJ_RETURN_OS_ERROR(rc); @@ -1175,8 +1175,8 @@ static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name, int type) /* * pj_mutex_create() */ -PJ_DEF(pj_status_t) pj_mutex_create(pj_pool_t *pool, - const char *name, +PJ_DEF(pj_status_t) pj_mutex_create(pj_pool_t *pool, + const char *name, int type, pj_mutex_t **ptr_mutex) { @@ -1191,7 +1191,7 @@ PJ_DEF(pj_status_t) pj_mutex_create(pj_pool_t *pool, if ((rc=init_mutex(mutex, name, type)) != PJ_SUCCESS) return rc; - + *ptr_mutex = mutex; return PJ_SUCCESS; #else /* PJ_HAS_THREADS */ @@ -1203,7 +1203,7 @@ PJ_DEF(pj_status_t) pj_mutex_create(pj_pool_t *pool, /* * pj_mutex_create_simple() */ -PJ_DEF(pj_status_t) pj_mutex_create_simple( pj_pool_t *pool, +PJ_DEF(pj_status_t) pj_mutex_create_simple( pj_pool_t *pool, const char *name, pj_mutex_t **mutex ) { @@ -1232,11 +1232,11 @@ PJ_DEF(pj_status_t) pj_mutex_lock(pj_mutex_t *mutex) PJ_ASSERT_RETURN(mutex, PJ_EINVAL); #if PJ_DEBUG - PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is waiting (mutex owner=%s)", + PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is waiting (mutex owner=%s)", pj_thread_this()->obj_name, mutex->owner_name)); #else - PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is waiting", + PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is waiting", pj_thread_this()->obj_name)); #endif @@ -1250,14 +1250,14 @@ PJ_DEF(pj_status_t) pj_mutex_lock(pj_mutex_t *mutex) ++mutex->nesting_level; } - PJ_LOG(6,(mutex->obj_name, - (status==0 ? - "Mutex acquired by thread %s (level=%d)" : + PJ_LOG(6,(mutex->obj_name, + (status==0 ? + "Mutex acquired by thread %s (level=%d)" : "Mutex acquisition FAILED by %s (level=%d)"), pj_thread_this()->obj_name, mutex->nesting_level)); #else - PJ_LOG(6,(mutex->obj_name, + PJ_LOG(6,(mutex->obj_name, (status==0 ? "Mutex acquired by thread %s" : "FAILED by %s"), pj_thread_this()->obj_name)); #endif @@ -1290,11 +1290,11 @@ PJ_DEF(pj_status_t) pj_mutex_unlock(pj_mutex_t *mutex) mutex->owner_name[0] = '\0'; } - PJ_LOG(6,(mutex->obj_name, "Mutex released by thread %s (level=%d)", - pj_thread_this()->obj_name, + PJ_LOG(6,(mutex->obj_name, "Mutex released by thread %s (level=%d)", + pj_thread_this()->obj_name, mutex->nesting_level)); #else - PJ_LOG(6,(mutex->obj_name, "Mutex released by thread %s", + PJ_LOG(6,(mutex->obj_name, "Mutex released by thread %s", pj_thread_this()->obj_name)); #endif @@ -1321,7 +1321,7 @@ PJ_DEF(pj_status_t) pj_mutex_trylock(pj_mutex_t *mutex) PJ_CHECK_STACK(); PJ_ASSERT_RETURN(mutex, PJ_EINVAL); - PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is trying", + PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is trying", pj_thread_this()->obj_name)); status = pthread_mutex_trylock( &mutex->mutex ); @@ -1332,18 +1332,18 @@ PJ_DEF(pj_status_t) pj_mutex_trylock(pj_mutex_t *mutex) pj_ansi_strcpy(mutex->owner_name, mutex->owner->obj_name); ++mutex->nesting_level; - PJ_LOG(6,(mutex->obj_name, "Mutex acquired by thread %s (level=%d)", + PJ_LOG(6,(mutex->obj_name, "Mutex acquired by thread %s (level=%d)", pj_thread_this()->obj_name, mutex->nesting_level)); #else - PJ_LOG(6,(mutex->obj_name, "Mutex acquired by thread %s", + PJ_LOG(6,(mutex->obj_name, "Mutex acquired by thread %s", pj_thread_this()->obj_name)); #endif } else { - PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s's trylock() failed", + PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s's trylock() failed", pj_thread_this()->obj_name)); } - + if (status==0) return PJ_SUCCESS; else @@ -1425,7 +1425,7 @@ PJ_DEF(pj_status_t) pj_rwmutex_create(pj_pool_t *pool, const char *name, pj_status_t status; PJ_UNUSED_ARG(name); - + rwm = PJ_POOL_ALLOC_T(pool, pj_rwmutex_t); PJ_ASSERT_RETURN(rwm, PJ_ENOMEM); @@ -1515,9 +1515,9 @@ PJ_DEF(pj_status_t) pj_rwmutex_destroy(pj_rwmutex_t *mutex) /* * pj_sem_create() */ -PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, +PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, const char *name, - unsigned initial, + unsigned initial, unsigned max, pj_sem_t **ptr_sem) { @@ -1536,7 +1536,7 @@ PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, char sem_name[PJ_GUID_MAX_LENGTH+1]; pj_str_t nam; - /* We should use SEM_NAME_LEN, but this doesn't seem to be + /* We should use SEM_NAME_LEN, but this doesn't seem to be * declared anywhere? The value here is just from trial and error * to get the longest name supported. */ @@ -1553,7 +1553,7 @@ PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, } /* Create semaphore */ - sem->sem = sem_open(sem_name, O_CREAT|O_EXCL, S_IRUSR|S_IWUSR, + sem->sem = sem_open(sem_name, O_CREAT|O_EXCL, S_IRUSR|S_IWUSR, initial); if (sem->sem == SEM_FAILED) return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); @@ -1563,10 +1563,10 @@ PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, } #else sem->sem = PJ_POOL_ALLOC_T(pool, sem_t); - if (sem_init( sem->sem, 0, initial) != 0) + if (sem_init( sem->sem, 0, initial) != 0) return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); #endif - + /* Set name. */ if (!name) { name = "sem%p"; @@ -1599,16 +1599,16 @@ PJ_DEF(pj_status_t) pj_sem_wait(pj_sem_t *sem) PJ_CHECK_STACK(); PJ_ASSERT_RETURN(sem, PJ_EINVAL); - PJ_LOG(6, (sem->obj_name, "Semaphore: thread %s is waiting", + PJ_LOG(6, (sem->obj_name, "Semaphore: thread %s is waiting", pj_thread_this()->obj_name)); result = sem_wait( sem->sem ); - + if (result == 0) { - PJ_LOG(6, (sem->obj_name, "Semaphore acquired by thread %s", + PJ_LOG(6, (sem->obj_name, "Semaphore acquired by thread %s", pj_thread_this()->obj_name)); } else { - PJ_LOG(6, (sem->obj_name, "Semaphore: thread %s FAILED to acquire", + PJ_LOG(6, (sem->obj_name, "Semaphore: thread %s FAILED to acquire", pj_thread_this()->obj_name)); } @@ -1634,11 +1634,11 @@ PJ_DEF(pj_status_t) pj_sem_trywait(pj_sem_t *sem) PJ_ASSERT_RETURN(sem, PJ_EINVAL); result = sem_trywait( sem->sem ); - + if (result == 0) { - PJ_LOG(6, (sem->obj_name, "Semaphore acquired by thread %s", + PJ_LOG(6, (sem->obj_name, "Semaphore acquired by thread %s", pj_thread_this()->obj_name)); - } + } if (result == 0) return PJ_SUCCESS; else diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_win32.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_win32.c index 876a25cb21b1d3ef8740dc5f67c198e6ea2529fc..927d789596e43170608edea91030cab5b769a09f 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_core_win32.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_core_win32.c @@ -1,4 +1,4 @@ -/* $Id: os_core_win32.c 3999 2012-03-30 07:10:13Z bennylp $ */ +/* $Id: os_core_win32.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -408,7 +408,7 @@ PJ_DEF(pj_status_t) pj_thread_register ( const char *cstr_thread_name, cstr_thread_name, thread->idthread); else pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), - "thr%p", (void*)thread->idthread); + "thr%p", (void*)(pj_ssize_t)thread->idthread); rc = pj_thread_local_set(thread_tls_id, thread); if (rc != PJ_SUCCESS) @@ -499,7 +499,7 @@ PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, PJ_LOG(6, (rec->obj_name, "Thread created")); #if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 - rec->stk_size = stack_size ? stack_size : 0xFFFFFFFFUL; + rec->stk_size = stack_size ? (pj_uint32_t)stack_size : 0xFFFFFFFFUL; rec->stk_max_usage = 0; #endif @@ -634,8 +634,9 @@ PJ_DEF(void) pj_thread_check_stack(const char *file, int line) pj_assert(thread); /* Calculate current usage. */ - usage = (&stk_ptr > thread->stk_start) ? &stk_ptr - thread->stk_start : - thread->stk_start - &stk_ptr; + usage = (&stk_ptr > thread->stk_start) ? + (pj_uint32_t)(&stk_ptr - thread->stk_start) : + (pj_uint32_t)(thread->stk_start - &stk_ptr); /* Assert if stack usage is dangerously high. */ pj_assert("STACK OVERFLOW!! " && (usage <= thread->stk_size - 128)); diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_linux_kernel.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_linux_kernel.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_linux_kernel.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_linux_kernel.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_symbian.cpp similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_symbian.cpp index 607754c281c0127aeb5aab52b4478c34ac5bd0f2..7d0569ee4e20e1ad208448172c27fb057a36719d 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_symbian.cpp +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_symbian.cpp @@ -1,4 +1,4 @@ -/* $Id: os_error_symbian.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: os_error_symbian.cpp 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -162,7 +162,7 @@ PJ_DEF(int) platform_strerror( pj_os_err_type os_errcode, } if (!len) { - len = pj_ansi_snprintf( buf, bufsize, "Symbian native error %d", + len = pj_ansi_snprintf( buf, bufsize-1, "Symbian native error %d", os_errcode); buf[len] = '\0'; } diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_unix.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_unix.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_unix.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_unix.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_win32.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_win32.c index 0e61b340f9c7c79300540f451830bbb33459efd7..79df4f3038577a87f275ddf97600cdf66742f59e 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_error_win32.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_error_win32.c @@ -1,4 +1,4 @@ -/* $Id: os_error_win32.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: os_error_win32.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -142,7 +142,7 @@ PJ_DEF(void) pj_set_netos_error(pj_status_t code) int platform_strerror( pj_os_err_type os_errcode, char *buf, pj_size_t bufsize) { - int len = 0; + pj_size_t len = 0; PJ_DECL_UNICODE_TEMP_BUF(wbuf,128); pj_assert(buf != NULL); @@ -193,7 +193,7 @@ int platform_strerror( pj_os_err_type os_errcode, os_errcode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buf, - bufsize, + (int)bufsize, NULL); buf[bufsize-1] = '\0'; #endif @@ -215,6 +215,6 @@ int platform_strerror( pj_os_err_type os_errcode, buf[len] = '\0'; } - return len; + return (int)len; } diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_info.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_info.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_info.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_info.c index 1d6e007c260afd0f3d853d83525820fb3c09618d..eb942c8dabb8412020ce19c33c1644f10aa350e7 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_info.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_info.c @@ -1,4 +1,4 @@ -/* $Id: os_info.c 4411 2013-03-04 04:34:38Z nanang $ */ +/* $Id: os_info.c 4610 2013-10-03 10:26:14Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -57,6 +57,8 @@ #if defined(PJ_DARWINOS) && PJ_DARWINOS != 0 && TARGET_OS_IPHONE +# include <sys/types.h> +# include <sys/sysctl.h> void pj_iphone_os_get_sys_info(pj_sys_info *si, pj_str_t *si_buffer); #endif @@ -71,7 +73,7 @@ static char *ver_info(pj_uint32_t ver, char *buf) { - int len; + pj_size_t len; if (ver == 0) { *buf = '\0'; @@ -125,7 +127,7 @@ PJ_DEF(const pj_sys_info*) pj_get_sys_info(void) static char si_buffer[PJ_SYS_INFO_BUFFER_SIZE]; static pj_sys_info si; static pj_bool_t si_initialized; - unsigned left = PJ_SYS_INFO_BUFFER_SIZE, len; + pj_size_t left = PJ_SYS_INFO_BUFFER_SIZE, len; if (si_initialized) return &si; @@ -151,16 +153,20 @@ PJ_DEF(const pj_sys_info*) pj_get_sys_info(void) (!defined TARGET_IPHONE_SIMULATOR || TARGET_IPHONE_SIMULATOR == 0) { pj_str_t buf = {si_buffer + PJ_SYS_INFO_BUFFER_SIZE - left, left}; - pj_str_t machine = {"arm", 3}; + pj_str_t machine = {"arm-", 4}; pj_str_t sdk_name = {"iOS-SDK", 7}; + size_t size = PJ_SYS_INFO_BUFFER_SIZE - machine.slen; char tmp[PJ_SYS_INFO_BUFFER_SIZE]; - + int name[] = {CTL_HW,HW_MACHINE}; + pj_iphone_os_get_sys_info(&si, &buf); left -= si.os_name.slen + 1; si.os_ver = parse_version(si.machine.ptr); - - si.machine = machine; + + pj_memcpy(tmp, machine.ptr, machine.slen); + sysctl(name, 2, tmp+machine.slen, &size, NULL, 0); + ALLOC_CP_STR(tmp, machine); si.sdk_name = sdk_name; #ifdef PJ_SDK_NAME diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_info_iphone.m b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_info_iphone.m similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_info_iphone.m rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_info_iphone.m diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_info_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_info_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_info_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_info_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_rwmutex.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_rwmutex.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_rwmutex.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_rwmutex.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_symbian.h b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_symbian.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_symbian.h rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_symbian.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_bsd.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_bsd.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_bsd.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_bsd.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_common.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_common.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_common.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_common.c index cada70141d4a06947887b90f9f406e2ab0c13ca8..ffe2cae9e470cb9b3d5f0cd0376a46e369cdbe14 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_common.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_common.c @@ -1,4 +1,4 @@ -/* $Id: os_time_common.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: os_time_common.c 4784 2014-03-10 08:58:49Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -24,6 +24,8 @@ /////////////////////////////////////////////////////////////////////////////// +#if !defined(PJ_WIN32) || PJ_WIN32==0 + PJ_DEF(pj_status_t) pj_time_decode(const pj_time_val *tv, pj_parsed_time *pt) { struct tm *local_time; @@ -65,6 +67,9 @@ PJ_DEF(pj_status_t) pj_time_encode(const pj_parsed_time *pt, pj_time_val *tv) return PJ_SUCCESS; } +#endif /* !PJ_WIN32 */ + + /** * Convert local time to GMT. */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_linux_kernel.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_linux_kernel.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_linux_kernel.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_linux_kernel.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_unix.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_unix.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_unix.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_unix.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_win32.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_time_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_time_win32.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_timestamp_common.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_timestamp_common.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_timestamp_common.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_timestamp_common.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_timestamp_linux_kernel.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_timestamp_linux_kernel.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_timestamp_linux_kernel.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_timestamp_linux_kernel.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_timestamp_posix.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_timestamp_posix.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_timestamp_posix.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_timestamp_posix.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_timestamp_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_timestamp_win32.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/os_timestamp_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/os_timestamp_win32.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool.c index 90443b95c1366c3d4d08233163cbd8bf1a229df7..d3242237a3ae866d2283f2141b7438b9efbc750d 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool.c @@ -1,4 +1,4 @@ -/* $Id: pool.c 4298 2012-11-22 05:00:01Z nanang $ */ +/* $Id: pool.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -31,8 +31,8 @@ # include <pj/pool_i.h> #endif -#define LOG(expr) PJ_LOG(6,expr) -#define ALIGN_PTR(PTR,ALIGNMENT) (PTR + (-(long)(PTR) & (ALIGNMENT-1))) +#define LOG(expr) PJ_LOG(6,expr) +#define ALIGN_PTR(PTR,ALIGNMENT) (PTR + (-(pj_ssize_t)(PTR) & (ALIGNMENT-1))) PJ_DEF_DATA(int) PJ_NO_MEMORY_EXCEPTION; @@ -92,7 +92,7 @@ PJ_DEF(void*) pj_pool_allocate_find(pj_pool_t *pool, pj_size_t size) { pj_pool_block *block = pool->block_list.next; void *p; - unsigned block_size; + pj_size_t block_size; PJ_CHECK_STACK(); diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_buf.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_buf.c similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_buf.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_buf.c index b9044b2949cc27cd9303d3cced94396265bc7bb7..d9b98e70e8ca0b9820969d4021d3a7f5b51003a7 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_buf.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_buf.c @@ -1,4 +1,4 @@ -/* $Id: pool_buf.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: pool_buf.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -21,7 +21,7 @@ #include <pj/assert.h> #include <pj/os.h> -struct pj_pool_factory stack_based_factory; +static struct pj_pool_factory stack_based_factory; struct creation_param { @@ -43,7 +43,7 @@ static void pool_buf_cleanup(void) is_initialized = 0; } -static pj_status_t pool_buf_initialize() +static pj_status_t pool_buf_initialize(void) { pj_atexit(&pool_buf_cleanup); @@ -83,7 +83,7 @@ PJ_DEF(pj_pool_t*) pj_pool_create_on_buf(const char *name, { #if PJ_HAS_POOL_ALT_API == 0 struct creation_param param; - long align_diff; + pj_size_t align_diff; PJ_ASSERT_RETURN(buf && size, NULL); @@ -94,7 +94,7 @@ PJ_DEF(pj_pool_t*) pj_pool_create_on_buf(const char *name, } /* Check and align buffer */ - align_diff = (long)buf; + align_diff = (pj_size_t)buf; if (align_diff & (PJ_POOL_ALIGNMENT-1)) { align_diff &= (PJ_POOL_ALIGNMENT-1); buf = (void*) (((char*)buf) + align_diff); diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_caching.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_caching.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_caching.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_caching.c index 60659ec2e2067618ac00cc606b699babf4d991de..14780e1271cd1671fce07cfddfda705de8e47638 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_caching.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_caching.c @@ -1,4 +1,4 @@ -/* $Id: pool_caching.c 4298 2012-11-22 05:00:01Z nanang $ */ +/* $Id: pool_caching.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -191,7 +191,7 @@ static pj_pool_t* cpool_create_pool(pj_pool_factory *pf, pj_list_insert_before( &cp->used_list, pool ); /* Mark factory data */ - pool->factory_data = (void*) (long) idx; + pool->factory_data = (void*) (pj_ssize_t) idx; /* Increment used count. */ ++cp->used_count; @@ -251,7 +251,7 @@ static void cpool_release_pool( pj_pool_factory *pf, pj_pool_t *pool) /* * Otherwise put the pool in our recycle list. */ - i = (unsigned) (unsigned long) pool->factory_data; + i = (unsigned) (unsigned long) (pj_ssize_t) pool->factory_data; pj_assert(i<PJ_CACHING_POOL_ARRAY_SIZE); if (i >= PJ_CACHING_POOL_ARRAY_SIZE ) { @@ -279,10 +279,10 @@ static void cpool_dump_status(pj_pool_factory *factory, pj_bool_t detail ) cp->capacity, cp->max_capacity, cp->used_count)); if (detail) { pj_pool_t *pool = (pj_pool_t*) cp->used_list.next; - pj_uint32_t total_used = 0, total_capacity = 0; + pj_size_t total_used = 0, total_capacity = 0; PJ_LOG(3,("cachpool", " Dumping all active pools:")); while (pool != (void*)&cp->used_list) { - unsigned pool_capacity = pj_pool_get_capacity(pool); + pj_size_t pool_capacity = pj_pool_get_capacity(pool); PJ_LOG(3,("cachpool", " %16s: %8d of %8d (%d%%) used", pj_pool_getobjname(pool), pj_pool_get_used_size(pool), diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_dbg.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_dbg.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_dbg.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_dbg.c index 6d7bc77301e47dc8665fea9fba1c07e94b560530..21bd36eece788cc5f78d96a6f5f090d88e4b33af 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_dbg.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_dbg.c @@ -1,4 +1,4 @@ -/* $Id: pool_dbg.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: pool_dbg.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -32,8 +32,9 @@ #endif -#if defined(PJ_WIN32) && PJ_WIN32!=0 && defined(PJ_DEBUG) && PJ_DEBUG!=0 \ - && !PJ_NATIVE_STRING_IS_UNICODE +#if ((defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64 != 0)) && \ + defined(PJ_DEBUG) && PJ_DEBUG!=0 && !PJ_NATIVE_STRING_IS_UNICODE # include <windows.h> # define TRACE_(msg) OutputDebugString(msg) #endif diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_policy_kmalloc.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_policy_kmalloc.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_policy_kmalloc.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_policy_kmalloc.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_policy_malloc.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_policy_malloc.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_policy_malloc.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_policy_malloc.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_policy_new.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_policy_new.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_policy_new.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_policy_new.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_signature.h b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_signature.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/pool_signature.h rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/pool_signature.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/rand.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/rand.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/rand.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/rand.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/rbtree.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/rbtree.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/rbtree.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/rbtree.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_bsd.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_bsd.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_bsd.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_bsd.c index 8ed2d5dc84fa853322159a54cbbd9ac80152240b..2dd7d388d94f22e8379befce2788281b67044c0a 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_bsd.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_bsd.c @@ -1,4 +1,4 @@ -/* $Id: sock_bsd.c 4233 2012-08-21 11:16:06Z ming $ */ +/* $Id: sock_bsd.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -60,7 +60,7 @@ const pj_uint16_t PJ_SOCK_RDM = SOCK_RDM; const pj_uint16_t PJ_SOL_SOCKET = SOL_SOCKET; #ifdef SOL_IP const pj_uint16_t PJ_SOL_IP = SOL_IP; -#elif defined(PJ_WIN32) && PJ_WIN32 +#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) const pj_uint16_t PJ_SOL_IP = IPPROTO_IP; #else const pj_uint16_t PJ_SOL_IP = 0; @@ -70,7 +70,7 @@ const pj_uint16_t PJ_SOL_IP = 0; const pj_uint16_t PJ_SOL_TCP = SOL_TCP; #elif defined(IPPROTO_TCP) const pj_uint16_t PJ_SOL_TCP = IPPROTO_TCP; -#elif defined(PJ_WIN32) && PJ_WIN32 +#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) const pj_uint16_t PJ_SOL_TCP = IPPROTO_TCP; #else const pj_uint16_t PJ_SOL_TCP = 6; @@ -80,7 +80,7 @@ const pj_uint16_t PJ_SOL_TCP = 6; const pj_uint16_t PJ_SOL_UDP = SOL_UDP; #elif defined(IPPROTO_UDP) const pj_uint16_t PJ_SOL_UDP = IPPROTO_UDP; -#elif defined(PJ_WIN32) && PJ_WIN32 +#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) const pj_uint16_t PJ_SOL_UDP = IPPROTO_UDP; #else const pj_uint16_t PJ_SOL_UDP = 17; @@ -88,7 +88,7 @@ const pj_uint16_t PJ_SOL_UDP = 17; #ifdef SOL_IPV6 const pj_uint16_t PJ_SOL_IPV6 = SOL_IPV6; -#elif defined(PJ_WIN32) && PJ_WIN32 +#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) # if defined(IPPROTO_IPV6) || (_WIN32_WINNT >= 0x0501) const pj_uint16_t PJ_SOL_IPV6 = IPPROTO_IPV6; # else @@ -304,7 +304,7 @@ PJ_DEF(pj_status_t) pj_inet_pton(int af, const pj_str_t *src, void *dst) return PJ_SUCCESS; -#elif defined(PJ_WIN32) || defined(PJ_WIN32_WINCE) +#elif defined(PJ_WIN32) || defined(PJ_WIN64) || defined(PJ_WIN32_WINCE) /* * Implementation on Windows, using WSAStringToAddress(). * Should also work on Unicode systems. @@ -378,7 +378,7 @@ PJ_DEF(pj_status_t) pj_inet_ntop(int af, const void *src, return PJ_SUCCESS; -#elif defined(PJ_WIN32) || defined(PJ_WIN32_WINCE) +#elif defined(PJ_WIN32) || defined(PJ_WIN64) || defined(PJ_WIN32_WINCE) /* * Implementation on Windows, using WSAAddressToString(). * Should also work on Unicode systems. @@ -461,7 +461,7 @@ PJ_DEF(const pj_str_t*) pj_gethostname(void) return &hostname; } -#if defined(PJ_WIN32) +#if defined(PJ_WIN32) || defined(PJ_WIN64) /* * Create new socket/endpoint for communication and returns a descriptor. */ @@ -474,7 +474,7 @@ PJ_DEF(pj_status_t) pj_sock_socket(int af, /* Sanity checks. */ PJ_ASSERT_RETURN(sock!=NULL, PJ_EINVAL); - PJ_ASSERT_RETURN((unsigned)PJ_INVALID_SOCKET==INVALID_SOCKET, + PJ_ASSERT_RETURN((SOCKET)PJ_INVALID_SOCKET==INVALID_SOCKET, (*sock=PJ_INVALID_SOCKET, PJ_EINVAL)); *sock = WSASocket(af, type, proto, NULL, 0, WSA_FLAG_OVERLAPPED); @@ -599,6 +599,7 @@ PJ_DEF(pj_status_t) pj_sock_close(pj_sock_t sock) PJ_CHECK_STACK(); #if defined(PJ_WIN32) && PJ_WIN32!=0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 rc = closesocket(sock); #else @@ -659,7 +660,7 @@ PJ_DEF(pj_status_t) pj_sock_send(pj_sock_t sock, flags |= MSG_NOSIGNAL; #endif - *len = send(sock, (const char*)buf, *len, flags); + *len = send(sock, (const char*)buf, (int)(*len), flags); if (*len < 0) return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); @@ -683,7 +684,7 @@ PJ_DEF(pj_status_t) pj_sock_sendto(pj_sock_t sock, CHECK_ADDR_LEN(to, tolen); - *len = sendto(sock, (const char*)buf, *len, flags, + *len = sendto(sock, (const char*)buf, (int)(*len), flags, (const struct sockaddr*)to, tolen); if (*len < 0) @@ -703,7 +704,7 @@ PJ_DEF(pj_status_t) pj_sock_recv(pj_sock_t sock, PJ_CHECK_STACK(); PJ_ASSERT_RETURN(buf && len, PJ_EINVAL); - *len = recv(sock, (char*)buf, *len, flags); + *len = recv(sock, (char*)buf, (int)(*len), flags); if (*len < 0) return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); @@ -724,7 +725,7 @@ PJ_DEF(pj_status_t) pj_sock_recvfrom(pj_sock_t sock, PJ_CHECK_STACK(); PJ_ASSERT_RETURN(buf && len, PJ_EINVAL); - *len = recvfrom(sock, (char*)buf, *len, flags, + *len = recvfrom(sock, (char*)buf, (int)(*len), flags, (struct sockaddr*)from, (socklen_t*)fromlen); if (*len < 0) diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_common.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_common.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_common.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_common.c index 1528b5f0e419ead4758227f4386ee3fe2e1d1854..d37d312dacc7417d8bb437c7fb18c3ea1887ee16 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_common.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_common.c @@ -1,4 +1,4 @@ -/* $Id: sock_common.c 4343 2013-02-07 09:35:34Z nanang $ */ +/* $Id: sock_common.c 4538 2013-06-19 09:06:55Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -1079,6 +1079,69 @@ PJ_DEF(pj_status_t) pj_sock_bind_random( pj_sock_t sockfd, } +/* + * Adjust socket send/receive buffer size. + */ +PJ_DEF(pj_status_t) pj_sock_setsockopt_sobuf( pj_sock_t sockfd, + pj_uint16_t optname, + pj_bool_t auto_retry, + unsigned *buf_size) +{ + pj_status_t status; + int try_size, cur_size, i, step, size_len; + enum { MAX_TRY = 20 }; + + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sockfd != PJ_INVALID_SOCKET && + buf_size && + *buf_size > 0 && + (optname == pj_SO_RCVBUF() || + optname == pj_SO_SNDBUF()), + PJ_EINVAL); + + size_len = sizeof(cur_size); + status = pj_sock_getsockopt(sockfd, pj_SOL_SOCKET(), optname, + &cur_size, &size_len); + if (status != PJ_SUCCESS) + return status; + + try_size = *buf_size; + step = (try_size - cur_size) / MAX_TRY; + if (step < 4096) + step = 4096; + + for (i = 0; i < (MAX_TRY-1); ++i) { + if (try_size <= cur_size) { + /* Done, return current size */ + *buf_size = cur_size; + break; + } + + status = pj_sock_setsockopt(sockfd, pj_SOL_SOCKET(), optname, + &try_size, sizeof(try_size)); + if (status == PJ_SUCCESS) { + status = pj_sock_getsockopt(sockfd, pj_SOL_SOCKET(), optname, + &cur_size, &size_len); + if (status != PJ_SUCCESS) { + /* Ops! No info about current size, just return last try size + * and quit. + */ + *buf_size = try_size; + break; + } + } + + if (!auto_retry) + break; + + try_size -= step; + } + + return status; +} + + /* Only need to implement these in DLL build */ #if defined(PJ_DLL) diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_linux_kernel.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_linux_kernel.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_linux_kernel.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_linux_kernel.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_bsd.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_bsd.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_bsd.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_bsd.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_common.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_common.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_common.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_common.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_dummy.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_dummy.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_dummy.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_dummy.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_wm.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_wm.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_qos_wm.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_qos_wm.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_select.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_select.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_select.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_select.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_select_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_select_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_select_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_select_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/sock_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/sock_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ssl_sock_common.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ssl_sock_common.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ssl_sock_common.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ssl_sock_common.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ssl_sock_dump.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ssl_sock_dump.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ssl_sock_dump.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ssl_sock_dump.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ssl_sock_ossl.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ssl_sock_ossl.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ssl_sock_ossl.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ssl_sock_ossl.c index 4b1d0a7ba92b8662abf3e6402d019cf18baf3730..ba4ae0b430fd1aa44b48bd713146296e6a21bdae 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ssl_sock_ossl.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ssl_sock_ossl.c @@ -1,4 +1,4 @@ -/* $Id: ssl_sock_ossl.c 4349 2013-02-14 09:38:31Z nanang $ */ +/* $Id: ssl_sock_ossl.c 4624 2013-10-21 06:37:30Z ming $ */ /* * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) * @@ -52,13 +52,8 @@ #ifdef _MSC_VER -# ifdef _DEBUG -# pragma comment( lib, "libeay32MTd") -# pragma comment( lib, "ssleay32MTd") -#else -# pragma comment( lib, "libeay32MT") -# pragma comment( lib, "ssleay32MT") -# endif +# pragma comment( lib, "libeay32") +# pragma comment( lib, "ssleay32") #endif @@ -277,7 +272,8 @@ static pj_str_t ssl_strerror(pj_status_t status, errstr.slen = pj_ansi_snprintf(buf, bufsize, "Unknown OpenSSL error %lu", ssl_err); - + if (errstr.slen < 1 || errstr.slen >= (int)bufsize) + errstr.slen = bufsize - 1; return errstr; } @@ -385,7 +381,7 @@ static int password_cb(char *buf, int num, int rwflag, void *user_data) return 0; pj_memcpy(buf, cert->privkey_pass.ptr, cert->privkey_pass.slen); - return cert->privkey_pass.slen; + return (int)cert->privkey_pass.slen; } @@ -614,8 +610,8 @@ static pj_status_t create_ssl(pj_ssl_sock_t *ssock) /* Setup SSL BIOs */ ssock->ossl_rbio = BIO_new(BIO_s_mem()); ssock->ossl_wbio = BIO_new(BIO_s_mem()); - BIO_set_close(ssock->ossl_rbio, BIO_CLOSE); - BIO_set_close(ssock->ossl_wbio, BIO_CLOSE); + (void)BIO_set_close(ssock->ossl_rbio, BIO_CLOSE); + (void)BIO_set_close(ssock->ossl_wbio, BIO_CLOSE); SSL_set_bio(ssock->ossl_ssl, ssock->ossl_rbio, ssock->ossl_wbio); return PJ_SUCCESS; @@ -992,7 +988,7 @@ static pj_bool_t on_handshake_complete(pj_ssl_sock_t *ssock, errmsg)); /* Workaround for ticket #985 */ -#if defined(PJ_WIN32) && PJ_WIN32!=0 +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || (defined(PJ_WIN64) && PJ_WIN64!=0) if (ssock->param.timer_heap) { pj_time_val interval = {0, DELAYED_CLOSE_TIMEOUT}; @@ -1135,7 +1131,7 @@ static void free_send_data(pj_ssl_sock_t *ssock, write_data_t *wdata) buf->len -= ((char*)wdata->next - buf->start); } else { /* Overlapped */ - unsigned right_len, left_len; + pj_size_t right_len, left_len; right_len = buf->buf + buf->max_len - (char*)wdata; left_len = (char*)wdata->next - buf->buf; buf->len -= (right_len + left_len); @@ -1143,13 +1139,13 @@ static void free_send_data(pj_ssl_sock_t *ssock, write_data_t *wdata) } else if (spl->prev == wdata) { /* This is the last data, just adjust the buffer length */ if (wdata->prev < wdata) { - unsigned jump_len; + pj_size_t jump_len; jump_len = (char*)wdata - ((char*)wdata->prev + wdata->prev->record_len); buf->len -= (wdata->record_len + jump_len); } else { /* Overlapped */ - unsigned right_len, left_len; + pj_size_t right_len, left_len; right_len = buf->buf + buf->max_len - ((char*)wdata->prev + wdata->prev->record_len); left_len = (char*)wdata + wdata->record_len - buf->buf; @@ -1277,7 +1273,7 @@ static pj_status_t flush_write_bio(pj_ssl_sock_t *ssock, pj_memcpy(&wdata->data, data, len); /* Reset write BIO */ - BIO_reset(ssock->ossl_wbio); + (void)BIO_reset(ssock->ossl_wbio); /* Ticket #1573: Don't hold mutex while calling PJLIB socket send(). */ pj_lock_release(ssock->write_mutex); @@ -1392,7 +1388,7 @@ static pj_bool_t asock_on_data_read (pj_activesock_t *asock, /* Socket error or closed */ if (data && size > 0) { /* Consume the whole data */ - nwritten = BIO_write(ssock->ossl_rbio, data, size); + nwritten = BIO_write(ssock->ossl_rbio, data, (int)size); if (nwritten < size) { status = GET_SSL_STATUS(ssock); goto on_error; @@ -1418,7 +1414,7 @@ static pj_bool_t asock_on_data_read (pj_activesock_t *asock, do { read_data_t *buf = *(OFFSET_OF_READ_DATA_PTR(ssock, data)); void *data_ = (pj_int8_t*)buf->data + buf->len; - int size_ = ssock->read_size - buf->len; + int size_ = (int)(ssock->read_size - buf->len); /* SSL_read() may write some data to BIO write when re-negotiation * is on progress, so let's protect it with write mutex. @@ -1460,7 +1456,7 @@ static pj_bool_t asock_on_data_read (pj_activesock_t *asock, } else { - int err = SSL_get_error(ssock->ossl_ssl, size); + int err = SSL_get_error(ssock->ossl_ssl, (int)size); /* SSL might just return SSL_ERROR_WANT_READ in * re-negotiation. @@ -1668,7 +1664,7 @@ static pj_bool_t asock_on_accept_complete (pj_activesock_t *asock, /* Start read */ status = pj_activesock_start_read2(ssock->asock, ssock->pool, - ssock->param.read_buffer_size, + (unsigned)ssock->param.read_buffer_size, ssock->asock_rbuf, PJ_IOQUEUE_ALWAYS_ASYNC); if (status != PJ_SUCCESS) @@ -1747,7 +1743,7 @@ static pj_bool_t asock_on_connect_complete (pj_activesock_t *asock, /* Start read */ status = pj_activesock_start_read2(ssock->asock, ssock->pool, - ssock->param.read_buffer_size, + (unsigned)ssock->param.read_buffer_size, ssock->asock_rbuf, PJ_IOQUEUE_ALWAYS_ASYNC); if (status != PJ_SUCCESS) @@ -2185,7 +2181,7 @@ static pj_status_t ssl_write(pj_ssl_sock_t *ssock, * until re-negotiation is completed. */ pj_lock_acquire(ssock->write_mutex); - nwritten = SSL_write(ssock->ossl_ssl, data, size); + nwritten = SSL_write(ssock->ossl_ssl, data, (int)size); pj_lock_release(ssock->write_mutex); if (nwritten == size) { @@ -2382,6 +2378,18 @@ PJ_DEF(pj_status_t) pj_ssl_sock_start_accept (pj_ssl_sock_t *ssock, if (status != PJ_SUCCESS) goto on_error; + /* Apply SO_REUSEADDR */ + if (ssock->param.reuse_addr) { + int enabled = 1; + status = pj_sock_setsockopt(ssock->sock, pj_SOL_SOCKET(), + pj_SO_REUSEADDR(), + &enabled, sizeof(enabled)); + if (status != PJ_SUCCESS) { + PJ_PERROR(4,(ssock->pool->obj_name, status, + "Warning: error applying SO_REUSEADDR")); + } + } + /* Apply QoS, if specified */ status = pj_sock_apply_qos2(ssock->sock, ssock->param.qos_type, &ssock->param.qos_params, 2, diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/ssl_sock_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/ssl_sock_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/ssl_sock_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/ssl_sock_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/string.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/string.c similarity index 79% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/string.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/string.c index 799f492e8c0fe710ec7ca62e4e4ba6e50b90ca7a..decd58f3d0536c60f489fc72c391b78dc6d7870f 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/string.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/string.c @@ -1,4 +1,4 @@ -/* $Id: string.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: string.c 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -109,6 +109,19 @@ PJ_DEF(char*) pj_create_random_string(char *str, pj_size_t len) return str; } +PJ_DEF(long) pj_strtol(const pj_str_t *str) +{ + PJ_CHECK_STACK(); + + if (str->slen > 0 && (str->ptr[0] == '+' || str->ptr[0] == '-')) { + pj_str_t s; + + s.ptr = str->ptr + 1; + s.slen = str->slen - 1; + return (str->ptr[0] == '-'? -(long)pj_strtoul(&s) : pj_strtoul(&s)); + } else + return pj_strtoul(str); +} PJ_DEF(unsigned long) pj_strtoul(const pj_str_t *str) { @@ -162,6 +175,44 @@ PJ_DEF(unsigned long) pj_strtoul2(const pj_str_t *str, pj_str_t *endptr, return value; } +PJ_DEF(float) pj_strtof(const pj_str_t *str) +{ + pj_str_t part; + char *pdot; + float val; + + if (str->slen == 0) + return 0; + + pdot = (char*)pj_memchr(str->ptr, '.', str->slen); + part.ptr = str->ptr; + part.slen = pdot ? pdot - str->ptr : str->slen; + + if (part.slen) + val = (float)pj_strtol(&part); + else + val = 0; + + if (pdot) { + part.ptr = pdot + 1; + part.slen = (str->ptr + str->slen - pdot - 1); + if (part.slen) { + pj_str_t endptr; + float fpart, fdiv; + int i; + fpart = (float)pj_strtoul2(&part, &endptr, 10); + fdiv = 1.0; + for (i=0; i<(part.slen - endptr.slen); ++i) + fdiv = fdiv * 10; + if (val >= 0) + val += (fpart / fdiv); + else + val -= (fpart / fdiv); + } + } + return val; +} + PJ_DEF(int) pj_utoa(unsigned long val, char *buf) { return pj_utoa_pad(val, buf, 0, 0); @@ -181,7 +232,7 @@ PJ_DEF(int) pj_utoa_pad( unsigned long val, char *buf, int min_dig, int pad) *p++ = (char) (digval + '0'); } while (val > 0); - len = p-buf; + len = (int)(p-buf); while (len < min_dig) { *p++ = (char)pad; ++len; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/symbols.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/symbols.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/symbols.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/symbols.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/timer.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/timer.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/timer.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/timer.c index 79519554edd05325c96ceacc66eecd092461478e..beb4cd1e116b5d6d35f56819cbb360a2c0e48822 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/timer.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/timer.c @@ -1,4 +1,4 @@ -/* $Id: timer.c 4359 2013-02-21 11:18:36Z bennylp $ */ +/* $Id: timer.c 4567 2013-07-19 06:31:28Z bennylp $ */ /* * The PJLIB's timer heap is based (or more correctly, copied and modied) * from ACE library by Douglas C. Schmidt. ACE is an excellent OO framework @@ -45,6 +45,13 @@ #define DEFAULT_MAX_TIMED_OUT_PER_POLL (64) +enum +{ + F_DONT_CALL = 1, + F_DONT_ASSERT = 2, + F_SET_ID = 4 +}; + /** * The implementation of timer heap. @@ -117,7 +124,8 @@ PJ_INLINE(void) unlock_timer_heap( pj_timer_heap_t *ht ) } -static void copy_node( pj_timer_heap_t *ht, int slot, pj_timer_entry *moved_node ) +static void copy_node( pj_timer_heap_t *ht, pj_size_t slot, + pj_timer_entry *moved_node ) { PJ_CHECK_STACK(); @@ -125,7 +133,7 @@ static void copy_node( pj_timer_heap_t *ht, int slot, pj_timer_entry *moved_node ht->heap[slot] = moved_node; // Update the corresponding slot in the parallel <timer_ids_> array. - ht->timer_ids[moved_node->_timer_id] = slot; + ht->timer_ids[moved_node->_timer_id] = (int)slot; } static pj_timer_id_t pop_freelist( pj_timer_heap_t *ht ) @@ -228,7 +236,7 @@ static pj_timer_entry * remove_node( pj_timer_heap_t *ht, size_t slot) if (slot < ht->cur_size) { - int parent; + pj_size_t parent; pj_timer_entry *moved_node = ht->heap[ht->cur_size]; // Move the end node to the location being removed and update @@ -313,7 +321,7 @@ static pj_status_t schedule_entry( pj_timer_heap_t *ht, static int cancel( pj_timer_heap_t *ht, pj_timer_entry *entry, - int dont_call) + unsigned flags) { long timer_node_slot; @@ -330,14 +338,15 @@ static int cancel( pj_timer_heap_t *ht, if (entry != ht->heap[timer_node_slot]) { - pj_assert(entry == ht->heap[timer_node_slot]); + if ((flags & F_DONT_ASSERT) == 0) + pj_assert(entry == ht->heap[timer_node_slot]); return 0; } else { remove_node( ht, timer_node_slot); - if (dont_call == 0) + if ((flags & F_DONT_CALL) == 0) // Call the close hook. (*ht->callback)(ht, entry); return 1; @@ -457,6 +466,11 @@ PJ_DEF(pj_timer_entry*) pj_timer_entry_init( pj_timer_entry *entry, return entry; } +PJ_DEF(pj_bool_t) pj_timer_entry_running( pj_timer_entry *entry ) +{ + return (entry->_timer_id >= 1); +} + #if PJ_TIMER_DEBUG static pj_status_t schedule_w_grp_lock_dbg(pj_timer_heap_t *ht, pj_timer_entry *entry, @@ -551,7 +565,7 @@ PJ_DEF(pj_status_t) pj_timer_heap_schedule_w_grp_lock(pj_timer_heap_t *ht, static int cancel_timer(pj_timer_heap_t *ht, pj_timer_entry *entry, - pj_bool_t set_id, + unsigned flags, int id_val) { int count; @@ -559,8 +573,8 @@ static int cancel_timer(pj_timer_heap_t *ht, PJ_ASSERT_RETURN(ht && entry, PJ_EINVAL); lock_timer_heap(ht); - count = cancel(ht, entry, 1); - if (set_id) { + count = cancel(ht, entry, flags | F_DONT_CALL); + if (flags & F_SET_ID) { entry->id = id_val; } if (entry->_grp_lock) { @@ -576,14 +590,14 @@ static int cancel_timer(pj_timer_heap_t *ht, PJ_DEF(int) pj_timer_heap_cancel( pj_timer_heap_t *ht, pj_timer_entry *entry) { - return cancel_timer(ht, entry, PJ_FALSE, 0); + return cancel_timer(ht, entry, 0, 0); } PJ_DEF(int) pj_timer_heap_cancel_if_active(pj_timer_heap_t *ht, pj_timer_entry *entry, int id_val) { - return cancel_timer(ht, entry, PJ_TRUE, id_val); + return cancel_timer(ht, entry, F_SET_ID | F_DONT_ASSERT, id_val); } PJ_DEF(unsigned) pj_timer_heap_poll( pj_timer_heap_t *ht, diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/timer_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/timer_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/timer_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/timer_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/types.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/types.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/types.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/types.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/unicode_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/unicode_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/unicode_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/unicode_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/unicode_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/unicode_win32.c similarity index 78% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pj/unicode_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pj/unicode_win32.c index 68557ba778d9a0492db15fe5d5b5242479b35f94..dda63be5a91e4929793796cb50a5213ef3fd6f5d 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pj/unicode_win32.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pj/unicode_win32.c @@ -1,4 +1,4 @@ -/* $Id: unicode_win32.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: unicode_win32.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -23,8 +23,8 @@ #include <windows.h> -PJ_DEF(wchar_t*) pj_ansi_to_unicode(const char *s, pj_size_t len, - wchar_t *buf, pj_size_t buf_count) +PJ_DEF(wchar_t*) pj_ansi_to_unicode(const char *s, int len, + wchar_t *buf, int buf_count) { PJ_ASSERT_RETURN(s && buf, NULL); @@ -41,12 +41,13 @@ PJ_DEF(wchar_t*) pj_ansi_to_unicode(const char *s, pj_size_t len, } -PJ_DEF(char*) pj_unicode_to_ansi( const wchar_t *wstr, pj_size_t len, - char *buf, pj_size_t buf_size) +PJ_DEF(char*) pj_unicode_to_ansi( const wchar_t *wstr, pj_ssize_t len, + char *buf, int buf_size) { PJ_ASSERT_RETURN(wstr && buf, NULL); - len = WideCharToMultiByte(CP_ACP, 0, wstr, len, buf, buf_size, NULL, NULL); + len = WideCharToMultiByte(CP_ACP, 0, wstr, (int)len, buf, buf_size, + NULL, NULL); if (buf_size) { if (len < buf_size) buf[len] = '\0'; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib++-test/main.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib++-test/main.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib++-test/main.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib++-test/main.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-samples/except.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-samples/except.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-samples/except.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-samples/except.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-samples/list.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-samples/list.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-samples/list.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-samples/list.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-samples/log.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-samples/log.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-samples/log.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-samples/log.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/activesock.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/activesock.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/activesock.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/activesock.c index 6fe50912a99f44ec39f6fbb79676ad66f43e7f5c..7a6dcca82860d8e3878fddf3fcfa9c42cdeaecc1 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/activesock.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/activesock.c @@ -1,4 +1,4 @@ -/* $Id: activesock.c 4238 2012-08-31 06:17:56Z nanang $ */ +/* $Id: activesock.c 4487 2013-04-23 05:37:41Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -101,7 +101,6 @@ static pj_status_t udp_echo_srv_create(pj_pool_t *pool, struct udp_echo_srv *srv; pj_sock_t sock_fd = PJ_INVALID_SOCKET; pj_sockaddr addr; - int addr_len; pj_activesock_cb activesock_cb; pj_status_t status; @@ -109,7 +108,6 @@ static pj_status_t udp_echo_srv_create(pj_pool_t *pool, srv->echo_enabled = enable_echo; pj_sockaddr_in_init(&addr.ipv4, NULL, 0); - addr_len = sizeof(addr); pj_bzero(&activesock_cb, sizeof(activesock_cb)); activesock_cb.on_data_recvfrom = &udp_echo_srv_on_data_recvfrom; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/atomic.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/atomic.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/atomic.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/atomic.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/echo_clt.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/echo_clt.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/echo_clt.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/echo_clt.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/errno.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/errno.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/errno.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/errno.c index c06ad5b35c47ab78125ec9c36b3957b98fb28bb2..d8f1fc2a8a15f902ecca23030a91791f51cbd618 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/errno.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/errno.c @@ -1,4 +1,4 @@ -/* $Id: errno.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: errno.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -28,7 +28,8 @@ #define THIS_FILE "errno" -#if defined(PJ_WIN32) && PJ_WIN32 != 0 +#if (defined(PJ_WIN32) && PJ_WIN32 != 0) || \ + (defined(PJ_WIN64) && PJ_WIN64 != 0) # include <windows.h> #endif @@ -59,7 +60,7 @@ int my_strncasecmp(const char *s1, const char *s2, int max_len) const char *my_stristr(const char *whole, const char *part) { - int part_len = strlen(part); + int part_len = (int)strlen(part); while (*whole) { if (my_strncasecmp(whole, part, part_len) == 0) return whole; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/exception.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/exception.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/exception.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/exception.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/exception_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/exception_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/exception_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/exception_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/fifobuf.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/fifobuf.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/fifobuf.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/fifobuf.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/file.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/file.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/file.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/file.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/hash_test.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/hash_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/hash_test.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/hash_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_perf.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_perf.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_perf.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_perf.c index 776be61fcf46c630e922d546803c550c8f25eafb..117748faa85053742958ff78764df62cce4db25e 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_perf.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_perf.c @@ -1,4 +1,4 @@ -/* $Id: ioq_perf.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: ioq_perf.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -84,7 +84,7 @@ static void on_read_complete(pj_ioqueue_key_t *key, return; if (bytes_read < 0) { - pj_status_t rc = -bytes_read; + pj_status_t rc = (pj_status_t)-bytes_read; char errmsg[PJ_ERR_MSG_SIZE]; if (rc != last_error) { @@ -424,7 +424,7 @@ static int perform_test(pj_bool_t allow_concur, /* Calculate total bytes received. */ total_received = 0; for (i=0; i<sockpair_cnt; ++i) { - total_received = items[i].bytes_recv; + total_received = (pj_uint32_t)items[i].bytes_recv; } /* bandwidth = total_received*1000/total_elapsed_usec */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_tcp.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_tcp.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_tcp.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_tcp.c index faf0646b961b1fe02198ea74435bb15059927892..aa9e1ef6af60f82b37bfe6c110197c4c63cffa8e 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_tcp.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_tcp.c @@ -1,4 +1,4 @@ -/* $Id: ioq_tcp.c 4238 2012-08-31 06:17:56Z nanang $ */ +/* $Id: ioq_tcp.c 4550 2013-07-02 11:45:57Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -253,7 +253,7 @@ static int compliance_test_0(pj_bool_t allow_concur) pj_ioqueue_key_t *skey=NULL, *ckey0=NULL, *ckey1=NULL; pj_ioqueue_op_key_t accept_op; int bufsize = BUF_MIN_SIZE; - pj_ssize_t status = -1; + int status = -1; int pending_op = 0; pj_timestamp t_elapsed; pj_str_t s; @@ -482,7 +482,7 @@ static int compliance_test_1(pj_bool_t allow_concur) pj_pool_t *pool = NULL; pj_ioqueue_t *ioque = NULL; pj_ioqueue_key_t *ckey1 = NULL; - pj_ssize_t status = -1; + int status = -1; int pending_op = 0; pj_str_t s; pj_status_t rc; @@ -640,7 +640,7 @@ static int compliance_test_2(pj_bool_t allow_concur) char *send_buf, *recv_buf; pj_ioqueue_t *ioque = NULL; int i, bufsize = BUF_MIN_SIZE; - pj_ssize_t status; + int status; int test_loop, pending_op = 0; pj_timestamp t_elapsed; pj_str_t s; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_udp.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_udp.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_udp.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_udp.c index 8180e3d1002c7eb89a22f11a6e9a40631ec1ded4..93656ff884de2ffca10bed3e000fbd987788da4a 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_udp.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_udp.c @@ -1,4 +1,4 @@ -/* $Id: ioq_udp.c 4238 2012-08-31 06:17:56Z nanang $ */ +/* $Id: ioq_udp.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -115,7 +115,7 @@ static pj_ioqueue_callback test_cb = &on_ioqueue_connect, }; -#ifdef PJ_WIN32 +#if defined(PJ_WIN32) || defined(PJ_WIN64) # define S_ADDR S_un.S_addr #else # define S_ADDR s_addr @@ -137,7 +137,8 @@ static int compliance_test(pj_bool_t allow_concur) pj_ioqueue_key_t *skey = NULL, *ckey = NULL; pj_ioqueue_op_key_t read_op, write_op; int bufsize = BUF_MIN_SIZE; - pj_ssize_t bytes, status = -1; + pj_ssize_t bytes; + int status = -1; pj_str_t temp; pj_bool_t send_pending, recv_pending; pj_status_t rc; @@ -768,7 +769,7 @@ static int bench_test(pj_bool_t allow_concur, int bufsize, } if (rc == PJ_SUCCESS) { if (bytes < 0) { - app_perror("...error: pj_ioqueue_sendto()", -bytes); + app_perror("...error: pj_ioqueue_sendto()",(pj_status_t)-bytes); break; } } diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_unreg.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_unreg.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_unreg.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_unreg.c index c968e4fad9283df2b7fbd41dd9f1c71e10e8de17..c142ef990d631170e9bbde241378a9466e43c63e 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ioq_unreg.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ioq_unreg.c @@ -1,4 +1,4 @@ -/* $Id: ioq_unreg.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: ioq_unreg.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -58,7 +58,7 @@ struct sock_data char *buffer; pj_size_t bufsize; pj_bool_t unregistered; - unsigned received; + pj_ssize_t received; } sock_data; static void on_read_complete(pj_ioqueue_key_t *key, @@ -81,7 +81,7 @@ static void on_read_complete(pj_ioqueue_key_t *key, if (bytes_read < 0) { if (-bytes_read != PJ_STATUS_FROM_OS(PJ_BLOCKING_ERROR_VAL)) - app_perror("ioqueue reported recv error", -bytes_read); + app_perror("ioqueue reported recv error", (pj_status_t)-bytes_read); } else { sock_data.received += bytes_read; } diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/list.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/list.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/list.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/list.c index 6472857c665ad60150608ca64542e2fb860cf99a..a354d3513554ae385562b251f2365cadcdef8194 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/list.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/list.c @@ -1,4 +1,4 @@ -/* $Id: list.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: list.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -57,7 +57,7 @@ typedef struct list_node static int compare_node(void *value, const pj_list_type *nd) { list_node *node = (list_node*)nd; - return ((long)value == node->value) ? 0 : -1; + return ((long)(pj_ssize_t)value == node->value) ? 0 : -1; } #define PJ_SIGNED_ARRAY_SIZE(a) ((int)PJ_ARRAY_SIZE(a)) @@ -207,7 +207,8 @@ int list_test() if (p != &nodes[i]) { return -1; } - p = (list_node*) pj_list_search(&list, (void*)(long)i, &compare_node); + p = (list_node*) pj_list_search(&list, (void*)(pj_ssize_t)i, + &compare_node); pj_assert( p == &nodes[i] ); if (p != &nodes[i]) { return -1; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main_mod.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main_mod.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main_mod.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main_mod.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main_rtems.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main_rtems.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main_rtems.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main_rtems.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main_win32.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main_win32.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/main_win32.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/main_win32.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/mutex.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/mutex.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/mutex.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/mutex.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/os.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/os.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/os.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/os.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/pjlib_test_reg.rss b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/pjlib_test_reg.rss similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/pjlib_test_reg.rss rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/pjlib_test_reg.rss diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/pool.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/pool.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/pool.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/pool.c index 76ef79aace6ef509f26f528c8edaf630fea679d7..37fbe0a77c305720c06ddabc1dc62d29e82fcc9f 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/pool.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/pool.c @@ -1,4 +1,4 @@ -/* $Id: pool.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: pool.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -93,7 +93,8 @@ static int pool_alignment_test(void) if (!pool) return -300; -#define IS_ALIGNED(p) ((((unsigned long)p) & (PJ_POOL_ALIGNMENT-1)) == 0) +#define IS_ALIGNED(p) ((((unsigned long)(pj_ssize_t)p) & \ + (PJ_POOL_ALIGNMENT-1)) == 0) for (i=0; i<LOOP; ++i) { /* Test first allocation */ @@ -195,7 +196,7 @@ static int drain_test(pj_size_t size, pj_size_t increment) size = ((pj_rand() & 0x000000FF) + PJ_POOL_ALIGNMENT) & ~(PJ_POOL_ALIGNMENT - 1); else - size = freesize; + size = (int)freesize; p = pj_pool_alloc(pool, size); if (!p) { diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/pool_perf.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/pool_perf.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/pool_perf.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/pool_perf.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/pool_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/pool_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/pool_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/pool_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/rand.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/rand.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/rand.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/rand.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/rbtree.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/rbtree.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/rbtree.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/rbtree.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/rtems_network_config.h b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/rtems_network_config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/rtems_network_config.h rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/rtems_network_config.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/select.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/select.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/select.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/select.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/sleep.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/sleep.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/sleep.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/sleep.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/sock.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/sock.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/sock.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/sock.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/sock_perf.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/sock_perf.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/sock_perf.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/sock_perf.c index 3225bcdc228264a59dbc74407db2584b86bab48e..796d9f1894bdf3d1f7edb36756502458d6d0bd9e 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/sock_perf.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/sock_perf.c @@ -1,4 +1,4 @@ -/* $Id: sock_perf.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sock_perf.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -44,7 +44,7 @@ * buf_size size packets as fast as possible. */ static int sock_producer_consumer(int sock_type, - unsigned buf_size, + pj_size_t buf_size, unsigned loop, unsigned *p_bandwidth) { @@ -54,7 +54,7 @@ static int sock_producer_consumer(int sock_type, pj_timestamp start, stop; unsigned i; pj_highprec_t elapsed, bandwidth; - pj_size_t total_received; + pj_highprec_t total_received; pj_status_t rc; /* Create pool. */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ssl_sock.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ssl_sock.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ssl_sock.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ssl_sock.c index d983ebaedbee57f3c37eab08fd8884981c8df3e5..0bf89b7c49156ac8fdb9ce72210948e0e5f75002 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/ssl_sock.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/ssl_sock.c @@ -1,4 +1,4 @@ -/* $Id: ssl_sock.c 4247 2012-09-07 08:58:48Z nanang $ */ +/* $Id: ssl_sock.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -73,12 +73,12 @@ struct test_state pj_bool_t is_verbose; /* verbose flag, e.g: cert info */ pj_bool_t echo; /* echo received data */ pj_status_t err; /* error flag */ - unsigned sent; /* bytes sent */ - unsigned recv; /* bytes received */ + pj_size_t sent; /* bytes sent */ + pj_size_t recv; /* bytes received */ pj_uint8_t read_buf[256]; /* read buffer */ pj_bool_t done; /* test done flag */ char *send_str; /* data to send once connected */ - unsigned send_str_len; /* send data length */ + pj_size_t send_str_len; /* send data length */ pj_bool_t check_echo; /* flag to compare sent & echoed data */ const char *check_echo_ptr; /* pointer/cursor for comparing data */ struct send_key send_key; /* send op key */ @@ -363,7 +363,7 @@ static pj_bool_t ssl_on_data_sent(pj_ssl_sock_t *ssock, PJ_UNUSED_ARG(op_key); if (sent < 0) { - st->err = -sent; + st->err = (pj_status_t)-sent; } else { st->sent += sent; @@ -1113,7 +1113,8 @@ static int perf_test(unsigned clients, unsigned ms_handshake_timeout) pj_sockaddr addr, listen_addr; pj_ssl_cert_t *cert = NULL; pj_status_t status; - unsigned i, cli_err = 0, tot_sent = 0, tot_recv = 0; + unsigned i, cli_err = 0; + pj_size_t tot_sent = 0, tot_recv = 0; pj_time_val start; pool = pj_pool_create(mem, "ssl_perf", 256, 256, NULL); diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/string.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/string.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/string.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/string.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/test.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/test.c similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/test.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/test.c index 5c6f57dbeedaca381066aa5a3e864ebac32a04a7..fe67881dd9e1de02a3a3d3fe2d413b54716ce9d0 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/test.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/test.c @@ -1,5 +1,5 @@ -/* $Id: test.c 3553 2011-05-05 06:14:19Z nanang $ */ -/* +/* $Id: test.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "test.h" #include <pjlib.h> @@ -38,7 +38,7 @@ pj_pool_factory *mem; int param_echo_sock_type; const char *param_echo_server = ECHO_SERVER_ADDRESS; int param_echo_port = ECHO_SERVER_START_PORT; -int param_log_decor = PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_TIME | +int param_log_decor = PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_TIME | PJ_LOG_HAS_MICRO_SEC; int null_func() @@ -63,7 +63,7 @@ int test_inner(void) app_perror("pj_init() error!!", rc); return rc; } - + //pj_dump_config(); pj_caching_pool_init( &caching_pool, NULL, 0 ); @@ -98,7 +98,7 @@ int test_inner(void) #if INCLUDE_STRING_TEST DO_TEST( string_test() ); #endif - + #if INCLUDE_FIFOBUF_TEST DO_TEST( fifobuf_test() ); #endif @@ -184,8 +184,8 @@ int test_inner(void) if (param_echo_sock_type == 0) param_echo_sock_type = pj_SOCK_DGRAM(); - echo_client( param_echo_sock_type, - param_echo_server, + echo_client( param_echo_sock_type, + param_echo_server, param_echo_port); #endif @@ -196,18 +196,18 @@ on_return: pj_caching_pool_destroy( &caching_pool ); PJ_LOG(3,("test", "")); - + pj_thread_get_stack_info(pj_thread_this(), &filename, &line); - PJ_LOG(3,("test", "Stack max usage: %u, deepest: %s:%u", + PJ_LOG(3,("test", "Stack max usage: %u, deepest: %s:%u", pj_thread_get_stack_max_usage(pj_thread_this()), filename, line)); if (rc == 0) PJ_LOG(3,("test", "Looks like everything is okay!..")); else PJ_LOG(3,("test", "Test completed with error(s)")); - + pj_shutdown(); - + return 0; } @@ -215,17 +215,14 @@ on_return: int test_main(void) { - int i; PJ_USE_EXCEPTION; - i = pj_AF_INET(); - PJ_TRY { return test_inner(); } PJ_CATCH_ANY { int id = PJ_GET_EXCEPTION(); - PJ_LOG(3,("test", "FATAL: unhandled exception id %d (%s)", + PJ_LOG(3,("test", "FATAL: unhandled exception id %d (%s)", id, pj_exception_id_name(id))); } PJ_END; diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/test.h b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/test.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/test.h rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/test.h diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/test_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/test_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/test_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/test_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/thread.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/thread.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/thread.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/thread.c index 976317fb767d46c508e6c45978875e62a7fb621b..232c9a8fcd3f0bdf62bc0779c6ca6227e8f5fd2f 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/thread.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/thread.c @@ -1,5 +1,5 @@ -/* $Id: thread.c 3553 2011-05-05 06:14:19Z nanang $ */ -/* +/* $Id: thread.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "test.h" @@ -30,7 +30,7 @@ * - whether multithreading works. * - whether thread timeslicing works, and threads have equal * time-slice proportion. - * + * * APIs tested: * - pj_thread_create() * - pj_thread_register() @@ -77,6 +77,7 @@ static void* thread_proc(pj_uint32_t *pcounter) pj_status_t rc; id = *pcounter; + PJ_UNUSED_ARG(id); /* Warning about unused var if TRACE__ is disabled */ TRACE__((THIS_FILE, " thread %d running..", id)); pj_bzero(desc, sizeof(desc)); @@ -120,9 +121,9 @@ static int simple_thread(const char *title, unsigned flags) pj_thread_t *thread; pj_status_t rc; pj_uint32_t counter = 0; - + PJ_LOG(3,(THIS_FILE, "..%s", title)); - + pool = pj_pool_create(mem, NULL, 4000, 4000, NULL); if (!pool) return -1000; @@ -152,14 +153,14 @@ static int simple_thread(const char *title, unsigned flags) PJ_LOG(3,(THIS_FILE, "...error: thread is not suspended")); return -1015; } - + rc = pj_thread_resume(thread); if (rc != PJ_SUCCESS) { app_perror("...error: resume thread error", rc); return -1020; } } - + PJ_LOG(3,(THIS_FILE, "..waiting for thread to quit..")); pj_thread_sleep(1500); @@ -173,7 +174,7 @@ static int simple_thread(const char *title, unsigned flags) PJ_LOG(3,(THIS_FILE, "...error: thread is not running")); return -1025; } - + PJ_LOG(3,(THIS_FILE, "...%s success", title)); return PJ_SUCCESS; } @@ -202,10 +203,10 @@ static int timeslice_test(void) /* Create all threads in suspended mode. */ for (i=0; i<NUM_THREADS; ++i) { counter[i] = i; - rc = pj_thread_create(pool, "thread", (pj_thread_proc*)&thread_proc, - &counter[i], - PJ_THREAD_DEFAULT_STACK_SIZE, - PJ_THREAD_SUSPENDED, + rc = pj_thread_create(pool, "thread", (pj_thread_proc*)&thread_proc, + &counter[i], + PJ_THREAD_DEFAULT_STACK_SIZE, + PJ_THREAD_SUSPENDED, &thread[i]); if (rc!=PJ_SUCCESS) { app_perror("...ERROR in pj_thread_create()", rc); @@ -223,7 +224,7 @@ static int timeslice_test(void) /* Check that all counters are still zero. */ for (i=0; i<NUM_THREADS; ++i) { if (counter[i] > i) { - PJ_LOG(3,(THIS_FILE, "....ERROR! Thread %d-th is not suspended!", + PJ_LOG(3,(THIS_FILE, "....ERROR! Thread %d-th is not suspended!", i)); return -30; } @@ -239,7 +240,7 @@ static int timeslice_test(void) } } - /* Main thread sleeps for some time to allow threads to run. + /* Main thread sleeps for some time to allow threads to run. * The longer we sleep, the more accurate the calculation will be, * but it'll make user waits for longer for the test to finish. */ @@ -252,7 +253,7 @@ static int timeslice_test(void) /* Wait until all threads quit, then destroy. */ for (i=0; i<NUM_THREADS; ++i) { - TRACE__((THIS_FILE, " Main thread joining thread %d [%p]..", + TRACE__((THIS_FILE, " Main thread joining thread %d [%p]..", i, thread[i])); rc = pj_thread_join(thread[i]); if (rc != PJ_SUCCESS) { @@ -291,14 +292,14 @@ static int timeslice_test(void) */ diff = (highest-lowest)*100 / ((highest+lowest)/2); if ( diff >= 50) { - PJ_LOG(3,(THIS_FILE, + PJ_LOG(3,(THIS_FILE, "...ERROR: thread didn't have equal timeslice!")); - PJ_LOG(3,(THIS_FILE, + PJ_LOG(3,(THIS_FILE, ".....lowest counter=%u, highest counter=%u, diff=%u%%", lowest, highest, diff)); return -80; } else { - PJ_LOG(3,(THIS_FILE, + PJ_LOG(3,(THIS_FILE, "...info: timeslice diff between lowest & highest=%u%%", diff)); } @@ -314,11 +315,11 @@ int thread_test(void) rc = simple_thread("simple thread test", 0); if (rc != PJ_SUCCESS) return rc; - + rc = simple_thread("suspended thread test", PJ_THREAD_SUSPENDED); if (rc != PJ_SUCCESS) return rc; - + rc = timeslice_test(); if (rc != PJ_SUCCESS) return rc; @@ -328,7 +329,7 @@ int thread_test(void) #else /* To prevent warning about "translation unit is empty" - * when this test is disabled. + * when this test is disabled. */ int dummy_thread_test; #endif /* INCLUDE_THREAD_TEST */ diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/timer.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/timer.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/timer.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/timer.c index 371a397f1c88e55ee09255d871de251ec6143abe..9dd09b75320ace63f4bac33e11f04898ca89a856 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/timer.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/timer.c @@ -1,4 +1,4 @@ -/* $Id: timer.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: timer.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -59,7 +59,8 @@ static int test_timer_heap(void) pj_timer_heap_t *timer; pj_time_val delay; pj_status_t rc; int err=0; - unsigned size, count; + pj_size_t size; + unsigned count; size = pj_timer_heap_mem_size(MAX_COUNT)+MAX_COUNT*sizeof(pj_timer_entry); pool = pj_pool_create( mem, NULL, size, 4000, NULL); diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/timestamp.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/timestamp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/timestamp.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/timestamp.c diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c index 217a8d8763c59c2d8d8efa1ca04d84bee5eac7ad..bd701655471ac6d3c7170f76bf1c058286d554ff 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c @@ -49,13 +49,13 @@ static void on_read_complete(pj_ioqueue_key_t *key, if (bytes_received < 0) { if (-bytes_received != recv_rec->last_err) { - recv_rec->last_err = -bytes_received; - app_perror("...error receiving data", -bytes_received); + recv_rec->last_err = (pj_status_t)-bytes_received; + app_perror("...error receiving data", recv_rec->last_err); } } else if (bytes_received == 0) { /* note: previous error, or write callback */ } else { - pj_atomic_add(total_bytes, bytes_received); + pj_atomic_add(total_bytes, (pj_atomic_value_t)bytes_received); if (!send_rec->is_pending) { pj_ssize_t sent = bytes_received; @@ -106,7 +106,7 @@ static void on_write_complete(pj_ioqueue_key_t *key, struct op_key *send_rec = (struct op_key*)op_key; if (bytes_sent <= 0) { - pj_status_t rc = -bytes_sent; + pj_status_t rc = (pj_status_t)-bytes_sent; if (rc != send_rec->last_err) { send_rec->last_err = rc; app_perror("...send error(2)", rc); diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/udp_echo_srv_sync.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/udp_echo_srv_sync.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/udp_echo_srv_sync.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/udp_echo_srv_sync.c index 728e0b2c7f5f62e2f70648e2f07c15ef7f12e533..bb6337a805f7c74716eecb234918e0778381e283 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/udp_echo_srv_sync.c +++ b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/udp_echo_srv_sync.c @@ -1,4 +1,4 @@ -/* $Id: udp_echo_srv_sync.c 4108 2012-04-27 01:32:12Z bennylp $ */ +/* $Id: udp_echo_srv_sync.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -46,7 +46,7 @@ static int worker_thread(void *arg) continue; } - pj_atomic_add(total_bytes, len); + pj_atomic_add(total_bytes, (pj_atomic_value_t)len); rc = pj_sock_sendto(sock, buf, &len, 0, &addr, addrlen); if (rc != PJ_SUCCESS) { diff --git a/daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/util.c b/daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/util.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjlib/src/pjlib-test/util.c rename to daemon/libs/pjproject-2.2.1/pjlib/src/pjlib-test/util.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/README.txt b/daemon/libs/pjproject-2.2.1/pjmedia/README.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/README.txt rename to daemon/libs/pjproject-2.2.1/pjmedia/README.txt diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/Jbtest.dat b/daemon/libs/pjproject-2.2.1/pjmedia/build/Jbtest.dat similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/Jbtest.dat rename to daemon/libs/pjproject-2.2.1/pjmedia/build/Jbtest.dat diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/Makefile b/daemon/libs/pjproject-2.2.1/pjmedia/build/Makefile similarity index 56% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/Makefile rename to daemon/libs/pjproject-2.2.1/pjmedia/build/Makefile index 026d89c95d8dec2fd6e65f157d52b9203e1c186e..8012cb75b8ee99c3bcf60fd908ae5d109dd61ab8 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/Makefile +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/Makefile @@ -3,23 +3,36 @@ include ../../version.mak THIRD_PARTY:=$(PJDIR)/third_party -SRTP_INC=$(CC_INC)$(THIRD_PARTY)/build/srtp \ - $(CC_INC)$(THIRD_PARTY)/srtp/crypto/include \ - $(CC_INC)$(THIRD_PARTY)/srtp/include - include $(PJDIR)/build/common.mak +export LIBDIR := ../lib +export BINDIR := ../bin + RULES_MAK := $(PJDIR)/build/rules.mak PJLIB_LIB:=$(PJDIR)/pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT) PJLIB_UTIL_LIB:=$(PJDIR)/pjlib-util/lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT) PJNATH_LIB:=$(PJDIR)/pjnath/lib/libpjnath-$(TARGET_NAME)$(LIBEXT) -export PJMEDIA_LIB:=../lib/libpjmedia-$(TARGET_NAME)$(LIBEXT) -export PJMEDIA_CODEC_LIB:=../lib/libpjmedia-codec-$(TARGET_NAME)$(LIBEXT) -export PJSDP_LIB:=../lib/libpjsdp-$(TARGET_NAME)$(LIBEXT) -export PJMEDIA_AUDIODEV_LIB:=../lib/libpjmedia-audiodev-$(TARGET_NAME)$(LIBEXT) -export PJMEDIA_VIDEODEV_LIB:=../lib/libpjmedia-videodev-$(TARGET_NAME)$(LIBEXT) +export PJMEDIA_LIB:=libpjmedia-$(TARGET_NAME)$(LIBEXT) +export PJMEDIA_CODEC_LIB:=libpjmedia-codec-$(TARGET_NAME)$(LIBEXT) +export PJSDP_LIB:=libpjsdp-$(TARGET_NAME)$(LIBEXT) +export PJMEDIA_AUDIODEV_LIB:=libpjmedia-audiodev-$(TARGET_NAME)$(LIBEXT) +export PJMEDIA_VIDEODEV_LIB:=libpjmedia-videodev-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export PJMEDIA_SONAME:=libpjmedia.$(SHLIB_SUFFIX) +export PJMEDIA_SHLIB:=$(PJMEDIA_SONAME).$(PJ_VERSION_MAJOR) +export PJMEDIA_CODEC_SONAME:=libpjmedia-codec.$(SHLIB_SUFFIX) +export PJMEDIA_CODEC_SHLIB:=$(PJMEDIA_CODEC_SONAME).$(PJ_VERSION_MAJOR) +export PJSDP_SONAME:=libpjsdp.$(SHLIB_SUFFIX) +export PJSDP_SHLIB:=$(PJSDP_SONAME).$(PJ_VERSION_MAJOR) +export PJMEDIA_AUDIODEV_SONAME:=libpjmedia-audiodev.$(SHLIB_SUFFIX) +export PJMEDIA_AUDIODEV_SHLIB:=$(PJMEDIA_AUDIODEV_SONAME).$(PJ_VERSION_MAJOR) +export PJMEDIA_VIDEODEV_SONAME:=libpjmedia-videodev.$(SHLIB_SUFFIX) +export PJMEDIA_VIDEODEV_SHLIB:=$(PJMEDIA_VIDEODEV_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### @@ -31,22 +44,14 @@ export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ $(CC_INC)../../pjlib-util/include \ $(CC_INC)../../pjmedia/include \ $(CC_INC)../../pjnath/include \ - $(CC_INC)../.. \ - $(SRTP_INC) + $(CC_INC)../.. export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ $(HOST_CXXFLAGS) $(CXXFLAGS) -export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJMEDIA_VIDEODEV_LIB)) \ - $(subst /,$(HOST_PSEP),$(PJMEDIA_CODEC_LIB)) \ - $(subst /,$(HOST_PSEP),$(PJMEDIA_LIB)) \ - $(subst /,$(HOST_PSEP),$(PJMEDIA_AUDIODEV_LIB)) \ - $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \ - $(subst /,$(HOST_PSEP),$(PJLIB_UTIL_LIB)) \ - $(subst /,$(HOST_PSEP),$(PJNATH_LIB)) \ - -L$(PJDIR)/third_party/lib \ - $(APP_THIRD_PARTY_LIBS) \ + +export _LDFLAGS := $(APP_THIRD_PARTY_LIBS) \ $(APP_THIRD_PARTY_EXT) \ $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ - $(LDFLAGS) + $(APP_LDFLAGS) $(LDFLAGS) ############################################################################### # Defines for building PJMEDIA library @@ -61,7 +66,7 @@ export PJMEDIA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ event.o format.o ffmpeg_util.o \ g711.o jbuf.o master_port.o mem_capture.o mem_player.o \ null_port.o plc_common.o port.o splitcomb.o \ - resample_resample.o resample_libsamplerate.o \ + resample_resample.o resample_libsamplerate.o resample_speex.o \ resample_port.o rtcp.o rtcp_xr.o rtp.o \ sdp.o sdp_cmp.o sdp_neg.o session.o silencedet.o \ sound_legacy.o sound_port.o stereo_port.o stream_common.o \ @@ -73,6 +78,13 @@ export PJMEDIA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ wsola.o export PJMEDIA_CFLAGS += $(_CFLAGS) +export PJMEDIA_CXXFLAGS += $(_CXXFLAGS) +export PJMEDIA_LDFLAGS += $(PJMEDIA_VIDEODEV_LDLIB) \ + $(PJMEDIA_AUDIODEV_LDLIB) \ + $(PJLIB_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJNATH_LDLIB) \ + $(_LDFLAGS) ############################################################################### @@ -80,9 +92,13 @@ export PJMEDIA_CFLAGS += $(_CFLAGS) # export PJMEDIA_AUDIODEV_SRCDIR = ../src/pjmedia-audiodev export PJMEDIA_AUDIODEV_OBJS += audiodev.o audiotest.o errno.o \ - coreaudio_dev.o legacy_dev.o null_dev.o pa_dev.o wmme_dev.o \ - alsa_dev.o bb10_dev.o + legacy_dev.o null_dev.o pa_dev.o wmme_dev.o \ + alsa_dev.o bb10_dev.o bdimad_dev.o \ + android_jni_dev.o opensl_dev.o export PJMEDIA_AUDIODEV_CFLAGS += $(_CFLAGS) +export PJMEDIA_AUDIODEV_CXXFLAGS += $(_CXXFLAGS) +export PJMEDIA_AUDIODEV_LDFLAGS += $(PJLIB_LDLIB) \ + $(_LDFLAGS) ############################################################################### @@ -92,6 +108,9 @@ export PJMEDIA_VIDEODEV_SRCDIR = ../src/pjmedia-videodev export PJMEDIA_VIDEODEV_OBJS += errno.o videodev.o avi_dev.o ffmpeg_dev.o \ colorbar_dev.o v4l2_dev.o export PJMEDIA_VIDEODEV_CFLAGS += $(_CFLAGS) +export PJMEDIA_VIDEODEV_CXXFLAGS += $(_CXXFLAGS) +export PJMEDIA_VIDEODEV_LDFLAGS += $(PJLIB_LDLIB) \ + $(_LDFLAGS) ############################################################################### @@ -104,6 +123,11 @@ export PJSDP_SRCDIR = ../src/pjmedia export PJSDP_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ errno.o sdp.o sdp_cmp.o sdp_neg.o export PJSDP_CFLAGS += $(_CFLAGS) +export PJSDP_CXXFLAGS += $(_CXXFLAGS) +export PJSDP_LDFLAGS += $(PJMEDIA_LDLIB) \ + $(PJLIB_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(_LDFLAGS) ############################################################################### @@ -117,7 +141,11 @@ export PJMEDIA_CODEC_OBJS += audio_codecs.o ffmpeg_vid_codecs.o \ g7221_sdp_match.o amr_sdp_match.o export PJMEDIA_CODEC_CFLAGS += $(_CFLAGS) $(GSM_CFLAGS) $(SPEEX_CFLAGS) \ $(ILBC_CFLAGS) $(IPP_CFLAGS) $(G7221_CFLAGS) - +export PJMEDIA_CODEC_CXXFLAGS += $(_CXXFLAGS) $(GSM_CFLAGS) $(SPEEX_CFLAGS) \ + $(ILBC_CFLAGS) $(IPP_CFLAGS) $(G7221_CFLAGS) +export PJMEDIA_CODEC_LDFLAGS += $(PJMEDIA_LDLIB) \ + $(PJLIB_LDLIB) \ + $(_LDFLAGS) ############################################################################### # Defines for building test application @@ -128,8 +156,16 @@ export PJMEDIA_TEST_OBJS += codec_vectors.o jbuf_test.o main.o mips_test.o \ rtp_test.o test.o export PJMEDIA_TEST_OBJS += sdp_neg_test.o export PJMEDIA_TEST_CFLAGS += $(_CFLAGS) -export PJMEDIA_TEST_LDFLAGS += $(_LDFLAGS) -export PJMEDIA_TEST_EXE:=../bin/pjmedia-test-$(TARGET_NAME)$(HOST_EXE) +export PJMEDIA_TEST_CXXFLAGS += $(_CXXFLAGS) +export PJMEDIA_TEST_LDFLAGS += $(PJMEDIA_CODEC_LDLIB) \ + $(PJMEDIA_VIDEODEV_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJMEDIA_AUDIODEV_LDLIB) \ + $(PJLIB_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJNATH_LDLIB) \ + $(_LDFLAGS) +export PJMEDIA_TEST_EXE:=pjmedia-test-$(TARGET_NAME)$(HOST_EXE) export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT @@ -138,9 +174,16 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -TARGETS := pjmedia pjmedia-videodev pjmedia-audiodev pjmedia-codec pjsdp pjmedia-test +TARGETS := $(PJMEDIA_LIB) $(PJMEDIA_SONAME) \ + $(PJMEDIA_CODEC_LIB) $(PJMEDIA_CODEC_SONAME)\ + $(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME) \ + $(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME) \ + $(PJSDP_LIB) $(PJSDP_SONAME) +TARGETS_EXE := $(PJMEDIA_TEST_EXE) -all: $(TARGETS) +all: $(TARGETS) $(TARGETS_EXE) + +lib: $(TARGETS) doc: cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg @@ -156,41 +199,61 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend pjmedia pjmedia-codec pjmedia-videodev pjmedia-audiodev pjmedia-test clean realclean distclean - -pjmedia: - $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $(PJMEDIA_LIB) - -pjmedia-codec: - $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $(PJMEDIA_CODEC_LIB) - -pjmedia-videodev: - $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_VIDEODEV app=pjmedia-videodev $(PJMEDIA_VIDEODEV_LIB) - -pjmedia-audiodev: - $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_AUDIODEV app=pjmedia-audiodev $(PJMEDIA_AUDIODEV_LIB) - -pjsdp: - $(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $(PJSDP_LIB) - -$(PJMEDIA_LIB): pjmedia - -pjmedia-test: $(PJMEDIA_LIB) pjmedia - $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $(PJMEDIA_TEST_EXE) - -.PHONY: ../lib/pjmedia.ko -../lib/pjmedia.ko: +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PJMEDIA_LIB) $(PJMEDIA_SONAME) +.PHONY: $(PJMEDIA_CODEC_LIB) $(PJMEDIA_CODEC_SONAME) +.PHONY: $(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME) +.PHONY: $(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME) +.PHONY: $(PJSDP_LIB) $(PJSDP_SONAME) +.PHONY: $(PJMEDIA_TEST_EXE) + +pjmedia: $(PJMEDIA_LIB) +$(PJMEDIA_SONAME): $(PJMEDIA_LIB) +$(PJMEDIA_LIB) $(PJMEDIA_SONAME): $(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME) $(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjmedia-codec: $(PJMEDIA_CODEC_LIB) +$(PJMEDIA_CODEC_SONAME): $(PJMEDIA_CODEC_LIB) +$(PJMEDIA_CODEC_LIB) $(PJMEDIA_CODEC_SONAME): $(PJMEDIA_LIB) $(PJMEDIA_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjmedia-videodev: $(PJMEDIA_VIDEODEV_LIB) +$(PJMEDIA_VIDEODEV_SONAME): $(PJMEDIA_VIDEODEV_LIB) +$(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME): + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_VIDEODEV app=pjmedia-videodev $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjmedia-audiodev: $(PJMEDIA_AUDIODEV_LIB) +$(PJMEDIA_AUDIODEV_SONAME): $(PJMEDIA_AUDIODEV_LIB) +$(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME): + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_AUDIODEV app=pjmedia-audiodev $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjsdp: $(PJSDP_LIB) +$(PJSDP_SONAME): $(PJSDP_LIB) +$(PJSDP_LIB) $(PJSDP_SONAME): $(PJMEDIA_LIB) $(PJMEDIA_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $(LIBDIR)/$@ + +pjmedia-test: $(PJMEDIA_TEST_EXE) +$(PJMEDIA_TEST_EXE): $(PJMEDIA_LIB) $(PJMEDIA_SONAME) +$(PJMEDIA_TEST_EXE): $(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME) +$(PJMEDIA_TEST_EXE): $(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME) +$(PJMEDIA_TEST_EXE): $(PJMEDIA_CODEC_LIB) $(PJMEDIA_CODEC_SONAME) +$(PJMEDIA_TEST_EXE): + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $(BINDIR)/$@ + +.PHONY: pjmedia.ko +pjmedia.ko: echo Making $@ - $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $(LIBDIR)/$@ -.PHONY: ../lib/pjmedia-codec.ko -../lib/pjmedia-codec.ko: +.PHONY: pjmedia-codec.ko +pjmedia-codec.ko: echo Making $@ - $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $(LIBDIR)/$@ -.PHONY: ../lib/pjmedia-test.ko -../lib/pjmedia-test.ko: - $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $@ +.PHONY: pjmedia-test.ko +pjmedia-test.ko: + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $(LIBDIR)/$@ clean: $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $@ @@ -222,6 +285,6 @@ depend: $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $@ $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $@ $(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $@ - echo '$(PJMEDIA_TEST_EXE): $(PJMEDIA_LIB) $(PJMEDIA_CODEC_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjmedia-test-$(TARGET_NAME).depend + echo '$(BINDIR)/$(PJMEDIA_TEST_EXE): $(LIBDIR)/$(PJMEDIA_LIB) $(LIBDIR)/$(PJMEDIA_CODEC_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjmedia-test-$(TARGET_NAME).depend diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/m-i386.mak b/daemon/libs/pjproject-2.2.1/pjmedia/build/m-i386.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/m-i386.mak rename to daemon/libs/pjproject-2.2.1/pjmedia/build/m-i386.mak diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/m-x86_64.mak b/daemon/libs/pjproject-2.2.1/pjmedia/build/m-x86_64.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/m-x86_64.mak rename to daemon/libs/pjproject-2.2.1/pjmedia/build/m-x86_64.mak diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-auto.mak.in b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-auto.mak.in similarity index 80% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/os-auto.mak.in rename to daemon/libs/pjproject-2.2.1/pjmedia/build/os-auto.mak.in index 04224e88482a9355c81a503295c5b90360bec71c..c0642cc857e0c720af1b63bc4de09268efa25fe5 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-auto.mak.in +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-auto.mak.in @@ -62,6 +62,8 @@ AC_NO_OPENCORE_AMRWB=@ac_no_opencore_amrwb@ export CODEC_OBJS= +export PJMEDIA_AUDIODEV_OBJS += @ac_pjmedia_audiodev_objs@ + ifeq ($(AC_NO_G711_CODEC),1) export CFLAGS += -DPJMEDIA_HAS_G711_CODEC=0 else @@ -126,6 +128,45 @@ endif endif +# +# SRTP +# +ifeq (@ac_external_srtp@,1) +# External SRTP +export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1 +# SRTP srtp_deinit()/srtp_shutdown() API availability settings +export CFLAGS += -DPJMEDIA_SRTP_HAS_DEINIT=@ac_srtp_deinit_present@ \ + -DPJMEDIA_SRTP_HAS_SHUTDOWN=@ac_srtp_shutdown_present@ +else +# Our SRTP in third_party +export CFLAGS += -I$(THIRD_PARTY)/build/srtp \ + -I$(THIRD_PARTY)/srtp/crypto/include \ + -I$(THIRD_PARTY)/srtp/include + +endif + +# +# Resample +# +AC_PJMEDIA_RESAMPLE=@ac_pjmedia_resample@ + +ifeq ($(AC_PJMEDIA_RESAMPLE),none) +# No resample support +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libresample) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),speex) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX +endif + # # PortAudio # diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-darwinos.mak b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-darwinos.mak similarity index 74% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/os-darwinos.mak rename to daemon/libs/pjproject-2.2.1/pjmedia/build/os-darwinos.mak index 7904594e72ad0d7f83b910036ba2da8b3fa47aa0..3548c8ea58862024c85f71aeeecbd655c955feb1 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-darwinos.mak +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-darwinos.mak @@ -78,6 +78,42 @@ export CODEC_OBJS += g7221.o export G7221_CFLAGS += -I$(THIRD_PARTY) endif +# +# Resample +# +AC_PJMEDIA_RESAMPLE=libresample + +ifeq ($(AC_PJMEDIA_RESAMPLE),none) +# No resample support +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libresample) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),speex) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX +endif + +# +# SRTP +# +#ifeq (@ac_external_srtp@,1) +ifeq (0,1) +# External SRTP +export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1 +else +# Our SRTP in third_party +export CFLAGS += -I$(THIRD_PARTY)/build/srtp \ + -I$(THIRD_PARTY)/srtp/crypto/include \ + -I$(THIRD_PARTY)/srtp/include + +endif # # PortAudio diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-linux.mak b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-linux.mak similarity index 73% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/os-linux.mak rename to daemon/libs/pjproject-2.2.1/pjmedia/build/os-linux.mak index 63910c4addb67344a2afeff7ea8c1da9f34920e2..eb0509113aaa9a770fe5bc9423f288588eee8b94 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-linux.mak +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-linux.mak @@ -72,6 +72,42 @@ export CODEC_OBJS += g7221.o export G7221_CFLAGS += -I$(THIRD_PARTY) endif +# +# Resample +# +AC_PJMEDIA_RESAMPLE=libresample + +ifeq ($(AC_PJMEDIA_RESAMPLE),none) +# No resample support +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libresample) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),speex) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX +endif + +# +# SRTP +# +#ifeq (@ac_external_srtp@,1) +ifeq (0,1) +# External SRTP +export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1 +else +# Our SRTP in third_party +export CFLAGS += -I$(THIRD_PARTY)/build/srtp \ + -I$(THIRD_PARTY)/srtp/crypto/include \ + -I$(THIRD_PARTY)/srtp/include + +endif # # PortAudio diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-rtems.mak b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-rtems.mak similarity index 75% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/os-rtems.mak rename to daemon/libs/pjproject-2.2.1/pjmedia/build/os-rtems.mak index bbcfad4e23e0d77c944c78ab771276d0f4e1b6a8..cf7440f8ff7ded2d8b13262c9a5591ffc862ce8e 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-rtems.mak +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-rtems.mak @@ -6,3 +6,4 @@ export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_NULL_SOUND export PJMEDIA_OBJS += nullsound.o export SOUND_OBJS = $(NULLSOUND_OBJS) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-win32.mak b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-win32.mak similarity index 73% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/os-win32.mak rename to daemon/libs/pjproject-2.2.1/pjmedia/build/os-win32.mak index 498a9e1a38d3c406e4f45243fdf985a66668b0de..b85183a749337779ccc7261a7427fc274a134efc 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/os-win32.mak +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/os-win32.mak @@ -74,6 +74,42 @@ export CODEC_OBJS += g7221.o export G7221_CFLAGS += -I$(THIRD_PARTY) endif +# +# Resample +# +AC_PJMEDIA_RESAMPLE=libresample + +ifeq ($(AC_PJMEDIA_RESAMPLE),none) +# No resample support +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libresample) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),speex) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX +endif + +# +# SRTP +# +#ifeq (@ac_external_srtp@,1) +ifeq (0,1) +# External SRTP +export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1 +else +# Our SRTP in third_party +export CFLAGS += -I$(THIRD_PARTY)/build/srtp \ + -I$(THIRD_PARTY)/srtp/crypto/include \ + -I$(THIRD_PARTY)/srtp/include + +endif # # PortAudio diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia.vcproj b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia.vcproj similarity index 66% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia.vcproj rename to daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia.vcproj index 83b122c66a849fcbce86a8769eeaafca2f9ac4d5..22fe276463a237212971b7fdce448183b319a7fc 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -222,11 +225,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -242,11 +246,11 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -261,7 +265,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -273,24 +276,74 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + </Configuration> + <Configuration + Name="Debug|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" /> - <DebuggerTool + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + IgnoreDefaultLibraryNames="" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -327,7 +380,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -354,9 +407,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -393,7 +446,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -420,11 +473,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -440,13 +494,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -459,7 +514,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + IgnoreDefaultLibraryNames="" /> <Tool Name="VCALinkTool" @@ -471,22 +526,14 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Win32" + Name="Debug-Static|Win32" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" @@ -525,7 +572,6 @@ /> <Tool Name="VCLibrarianTool" - IgnoreDefaultLibraryNames="" /> <Tool Name="VCALinkTool" @@ -544,7 +590,7 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -610,7 +656,7 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -676,11 +722,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -696,13 +743,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -715,7 +763,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -727,26 +774,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -765,8 +805,7 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -781,7 +820,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -793,24 +831,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -847,7 +877,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -874,9 +904,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -913,7 +943,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -940,9 +970,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -961,6 +991,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -997,11 +1028,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1020,8 +1052,7 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -1036,7 +1067,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1048,24 +1078,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1102,7 +1124,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1129,9 +1151,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1168,7 +1190,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1195,11 +1217,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1215,13 +1238,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1234,7 +1258,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1246,26 +1269,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1284,8 +1300,7 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -1300,7 +1315,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1312,24 +1326,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1366,7 +1372,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1393,12 +1399,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1417,8 +1422,76 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" - PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1450,9 +1523,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1489,7 +1562,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1516,9 +1589,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1555,7 +1628,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1582,9 +1655,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1621,7 +1694,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1648,9 +1721,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1687,7 +1760,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1714,9 +1787,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1753,7 +1826,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1780,9 +1853,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1819,7 +1892,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1846,12 +1919,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1870,7 +1942,8 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -1885,6 +1958,7 @@ /> <Tool Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1896,16 +1970,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1942,7 +2024,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1969,9 +2051,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2008,7 +2090,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2035,9 +2117,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2074,7 +2156,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2101,9 +2183,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2140,7 +2222,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2167,9 +2249,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2206,7 +2288,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2233,9 +2315,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2272,7 +2354,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2299,12 +2381,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2323,7 +2404,8 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include;../../pjlib/include;"../../pjlib-util/include";../../pjnath/include;../../third_party/portaudio/include;../../third_party/speex/include;../../third_party/build/srtp;../../third_party/srtp/include;../../third_party/srtp/crypto/include;../..;"$(DXSDK_DIR)include"" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -2338,6 +2420,7 @@ /> <Tool Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2349,16 +2432,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2395,7 +2486,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2422,9 +2513,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2461,7 +2552,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2488,9 +2579,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2554,9 +2645,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2620,9 +2711,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2686,9 +2777,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2751,48 +2842,2172 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > - <File - RelativePath="..\src\pjmedia\alaw_ulaw.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/include,../../third_party/srtp/crypto/include;../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\pjmedia\alaw_ulaw.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\alaw_ulaw_table.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\avi_player.c" + > + </File> + <File + RelativePath="..\src\pjmedia\bidirectional.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\clock_thread.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\codec.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\conf_switch.c" + > + </File> + <File + RelativePath="..\src\pjmedia\conference.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\converter.c" + > + </File> + <File + RelativePath="..\src\pjmedia\converter_libswscale.c" + > + </File> + <File + RelativePath="..\src\pjmedia\delaybuf.c" + > + </File> + <File + RelativePath="..\src\pjmedia\echo_common.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\echo_port.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\echo_speex.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\echo_suppress.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\endpoint.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\errno.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\event.c" + > + </File> + <File + RelativePath="..\src\pjmedia\ffmpeg_util.c" + > + </File> + <File + RelativePath="..\src\pjmedia\format.c" + > + </File> + <File + RelativePath="..\src\pjmedia\g711.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\jbuf.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\master_port.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\mem_capture.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjmedia\mem_player.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" @@ -2807,6 +5022,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2816,9 +5040,18 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\alaw_ulaw_table.c" + RelativePath="..\src\pjmedia\null_port.c" > <FileConfiguration Name="Release|Win32" @@ -2829,6 +5062,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -2838,6 +5080,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2847,6 +5098,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2856,6 +5116,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2865,6 +5134,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2874,13 +5152,18 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\avi_player.c" - > - </File> - <File - RelativePath="..\src\pjmedia\bidirectional.c" + RelativePath="..\src\pjmedia\plc_common.c" > <FileConfiguration Name="Release|Win32" @@ -2891,6 +5174,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -2900,6 +5192,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2909,6 +5210,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2918,6 +5228,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2927,6 +5246,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2936,9 +5264,18 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\clock_thread.c" + RelativePath="..\src\pjmedia\port.c" > <FileConfiguration Name="Release|Win32" @@ -2949,6 +5286,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -2958,6 +5304,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2967,6 +5322,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2976,6 +5340,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2985,6 +5358,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2994,9 +5376,22 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\codec.c" + RelativePath="..\src\pjmedia\resample_libsamplerate.c" + > + </File> + <File + RelativePath="..\src\pjmedia\resample_port.c" > <FileConfiguration Name="Release|Win32" @@ -3008,7 +5403,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3017,7 +5412,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3026,7 +5421,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3035,7 +5430,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3044,7 +5439,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3052,16 +5447,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\conf_switch.c" - > - </File> - <File - RelativePath="..\src\pjmedia\conference.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3070,7 +5457,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3079,7 +5466,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3088,7 +5475,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3097,7 +5484,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3106,7 +5493,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3116,19 +5503,15 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\converter.c" - > - </File> - <File - RelativePath="..\src\pjmedia\converter_libswscale.c" + RelativePath="..\src\pjmedia\resample_resample.c" > </File> <File - RelativePath="..\src\pjmedia\delaybuf.c" + RelativePath="..\src\pjmedia\resample_speex.c" > </File> <File - RelativePath="..\src\pjmedia\echo_common.c" + RelativePath="..\src\pjmedia\rtcp.c" > <FileConfiguration Name="Release|Win32" @@ -3140,7 +5523,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3149,7 +5532,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3158,7 +5541,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3167,7 +5550,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3176,7 +5559,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3184,12 +5567,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\echo_port.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3198,7 +5577,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3207,7 +5586,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3216,7 +5595,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3225,7 +5604,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3234,7 +5613,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3244,7 +5623,11 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\echo_speex.c" + RelativePath="..\src\pjmedia\rtcp_xr.c" + > + </File> + <File + RelativePath="..\src\pjmedia\rtp.c" > <FileConfiguration Name="Release|Win32" @@ -3256,7 +5639,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3265,7 +5648,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3274,7 +5657,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3283,7 +5666,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3292,7 +5675,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3300,12 +5683,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\echo_suppress.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3314,7 +5693,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3323,7 +5702,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3332,7 +5711,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3341,7 +5720,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3350,7 +5729,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3360,7 +5739,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\endpoint.c" + RelativePath="..\src\pjmedia\sdp.c" > <FileConfiguration Name="Release|Win32" @@ -3372,7 +5751,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3381,7 +5760,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3390,7 +5769,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3399,7 +5778,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3408,7 +5787,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3416,12 +5795,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\errno.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3430,7 +5805,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3439,7 +5814,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3448,7 +5823,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3457,7 +5832,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3466,7 +5841,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3476,19 +5851,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\event.c" - > - </File> - <File - RelativePath="..\src\pjmedia\ffmpeg_util.c" - > - </File> - <File - RelativePath="..\src\pjmedia\format.c" - > - </File> - <File - RelativePath="..\src\pjmedia\g711.c" + RelativePath="..\src\pjmedia\sdp_cmp.c" > <FileConfiguration Name="Release|Win32" @@ -3500,7 +5863,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3509,7 +5872,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3518,7 +5881,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3527,7 +5890,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3536,7 +5899,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3544,12 +5907,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\jbuf.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3558,7 +5917,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3567,7 +5926,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3576,7 +5935,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3585,7 +5944,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3594,7 +5953,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3604,7 +5963,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\master_port.c" + RelativePath="..\src\pjmedia\sdp_neg.c" > <FileConfiguration Name="Release|Win32" @@ -3616,7 +5975,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3625,7 +5984,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3634,7 +5993,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3643,7 +6002,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3652,7 +6011,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3660,12 +6019,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\mem_capture.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3674,7 +6029,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3683,7 +6038,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3692,7 +6047,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3701,7 +6056,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3710,7 +6065,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3720,7 +6075,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\mem_player.c" + RelativePath="..\src\pjmedia\silencedet.c" > <FileConfiguration Name="Release|Win32" @@ -3732,7 +6087,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3741,7 +6096,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3750,7 +6105,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3759,7 +6114,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3768,7 +6123,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3776,12 +6131,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\null_port.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3790,7 +6141,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3799,7 +6150,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3808,7 +6159,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3817,7 +6168,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3826,7 +6177,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3836,7 +6187,11 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\plc_common.c" + RelativePath="..\src\pjmedia\sound_legacy.c" + > + </File> + <File + RelativePath="..\src\pjmedia\sound_port.c" > <FileConfiguration Name="Release|Win32" @@ -3848,7 +6203,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3857,7 +6212,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3866,7 +6221,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3875,7 +6230,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3884,7 +6239,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3892,12 +6247,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\port.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3906,7 +6257,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3915,7 +6266,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3924,7 +6275,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3933,7 +6284,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3942,7 +6293,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3952,11 +6303,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\resample_libsamplerate.c" - > - </File> - <File - RelativePath="..\src\pjmedia\resample_port.c" + RelativePath="..\src\pjmedia\splitcomb.c" > <FileConfiguration Name="Release|Win32" @@ -3968,7 +6315,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3977,7 +6324,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3986,7 +6333,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3995,7 +6342,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4004,7 +6351,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4012,20 +6359,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\resample_resample.c" - > - </File> - <File - RelativePath="..\src\pjmedia\resample_speex.c" - > - </File> - <File - RelativePath="..\src\pjmedia\rtcp.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4034,7 +6369,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4043,7 +6378,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4052,7 +6387,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4061,7 +6396,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4070,7 +6405,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4080,11 +6415,11 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\rtcp_xr.c" + RelativePath="..\src\pjmedia\stereo_port.c" > </File> <File - RelativePath="..\src\pjmedia\rtp.c" + RelativePath="..\src\pjmedia\stream.c" > <FileConfiguration Name="Release|Win32" @@ -4096,7 +6431,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4105,7 +6440,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4114,7 +6449,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4123,7 +6458,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4132,20 +6467,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\sdp.c" - > + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4154,7 +6485,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4163,7 +6494,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4172,7 +6503,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4181,7 +6512,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4190,7 +6521,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4200,7 +6531,15 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\sdp_cmp.c" + RelativePath="..\src\pjmedia\stream_common.c" + > + </File> + <File + RelativePath="..\src\pjmedia\stream_info.c" + > + </File> + <File + RelativePath="..\src\pjmedia\tonegen.c" > <FileConfiguration Name="Release|Win32" @@ -4212,7 +6551,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4221,7 +6560,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4230,7 +6569,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4239,7 +6578,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4248,7 +6587,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4256,12 +6595,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\sdp_neg.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4270,7 +6605,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4279,7 +6614,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4288,7 +6623,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4297,7 +6632,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4306,7 +6641,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4316,7 +6651,23 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\silencedet.c" + RelativePath="..\src\pjmedia\transport_adapter_sample.c" + > + </File> + <File + RelativePath="..\src\pjmedia\transport_ice.c" + > + </File> + <File + RelativePath="..\src\pjmedia\transport_loop.c" + > + </File> + <File + RelativePath="..\src\pjmedia\transport_srtp.c" + > + </File> + <File + RelativePath="..\src\pjmedia\transport_udp.c" > <FileConfiguration Name="Release|Win32" @@ -4328,7 +6679,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4337,7 +6688,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4346,7 +6697,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4355,7 +6706,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4364,7 +6715,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4372,16 +6723,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\sound_legacy.c" - > - </File> - <File - RelativePath="..\src\pjmedia\sound_port.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4390,7 +6733,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4399,7 +6742,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4408,7 +6751,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4417,7 +6760,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4426,7 +6769,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4436,7 +6779,35 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\splitcomb.c" + RelativePath="..\src\pjmedia\types.c" + > + </File> + <File + RelativePath="..\src\pjmedia\vid_codec.c" + > + </File> + <File + RelativePath="..\src\pjmedia\vid_codec_util.c" + > + </File> + <File + RelativePath="..\src\pjmedia\vid_port.c" + > + </File> + <File + RelativePath="..\src\pjmedia\vid_stream.c" + > + </File> + <File + RelativePath="..\src\pjmedia\vid_stream_info.c" + > + </File> + <File + RelativePath="..\src\pjmedia\vid_tee.c" + > + </File> + <File + RelativePath="..\src\pjmedia\wav_player.c" > <FileConfiguration Name="Release|Win32" @@ -4448,7 +6819,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4457,7 +6828,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4466,7 +6837,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4475,7 +6846,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4484,7 +6855,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4492,16 +6863,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\stereo_port.c" - > - </File> - <File - RelativePath="..\src\pjmedia\stream.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4510,7 +6873,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4519,7 +6882,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4528,7 +6891,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4537,7 +6900,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4546,7 +6909,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4556,15 +6919,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\stream_common.c" - > - </File> - <File - RelativePath="..\src\pjmedia\stream_info.c" - > - </File> - <File - RelativePath="..\src\pjmedia\tonegen.c" + RelativePath="..\src\pjmedia\wav_playlist.c" > <FileConfiguration Name="Release|Win32" @@ -4576,7 +6931,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4585,7 +6940,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4594,7 +6949,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4603,7 +6958,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4612,7 +6967,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4620,28 +6975,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\transport_adapter_sample.c" - > - </File> - <File - RelativePath="..\src\pjmedia\transport_ice.c" - > - </File> - <File - RelativePath="..\src\pjmedia\transport_loop.c" - > - </File> - <File - RelativePath="..\src\pjmedia\transport_srtp.c" - > - </File> - <File - RelativePath="..\src\pjmedia\transport_udp.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4650,7 +6985,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4659,7 +6994,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4668,7 +7003,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4677,7 +7012,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4686,7 +7021,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4696,35 +7031,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\types.c" - > - </File> - <File - RelativePath="..\src\pjmedia\vid_codec.c" - > - </File> - <File - RelativePath="..\src\pjmedia\vid_codec_util.c" - > - </File> - <File - RelativePath="..\src\pjmedia\vid_port.c" - > - </File> - <File - RelativePath="..\src\pjmedia\vid_stream.c" - > - </File> - <File - RelativePath="..\src\pjmedia\vid_stream_info.c" - > - </File> - <File - RelativePath="..\src\pjmedia\vid_tee.c" - > - </File> - <File - RelativePath="..\src\pjmedia\wav_player.c" + RelativePath="..\src\pjmedia\wav_writer.c" > <FileConfiguration Name="Release|Win32" @@ -4736,7 +7043,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4745,7 +7052,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4754,7 +7061,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4763,7 +7070,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4772,7 +7079,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4780,12 +7087,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\wav_playlist.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4794,7 +7097,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4803,7 +7106,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4812,7 +7115,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4821,7 +7124,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4830,7 +7133,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4840,7 +7143,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjmedia\wav_writer.c" + RelativePath="..\src\pjmedia\wave.c" > <FileConfiguration Name="Release|Win32" @@ -4852,7 +7155,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4861,7 +7164,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4870,7 +7173,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4879,7 +7182,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4888,7 +7191,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4896,12 +7199,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjmedia\wave.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4910,7 +7209,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4919,7 +7218,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4928,7 +7227,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4937,7 +7236,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4946,7 +7245,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_audiodev.vcproj b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_audiodev.vcproj similarity index 85% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_audiodev.vcproj rename to daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_audiodev.vcproj index b70741e8ded11fd90cfa617eeac29c0c59850504..2a35a788ef3d39450a4e506faf2ee274ee68b8f2 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_audiodev.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_audiodev.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -224,6 +227,66 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release|Win32" ConfigurationType="4" @@ -416,6 +479,65 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Release|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Static|Win32" ConfigurationType="4" @@ -608,6 +730,66 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release-Dynamic|Win32" ConfigurationType="4" @@ -800,6 +982,65 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Release-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Dynamic|Win32" ConfigurationType="4" @@ -926,12 +1167,139 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../.." + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -950,7 +1318,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../.." PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -966,7 +1333,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -978,27 +1345,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1017,6 +1376,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../.." PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1032,7 +1392,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1044,14 +1404,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" @@ -1091,7 +1459,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1118,12 +1486,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1139,10 +1507,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../.." PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1158,7 +1526,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjmedia-audiodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1170,19 +1538,11 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" @@ -2830,6 +3190,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2857,6 +3226,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2884,6 +3262,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2911,6 +3298,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2938,6 +3334,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2965,6 +3370,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > @@ -3212,6 +3626,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3239,6 +3662,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3266,6 +3698,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3293,6 +3734,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3320,6 +3770,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3347,6 +3806,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > @@ -3564,6 +4032,10 @@ /> </FileConfiguration> </File> + <File + RelativePath="..\src\pjmedia-audiodev\bdimad_dev.c" + > + </File> <File RelativePath="..\src\pjmedia-audiodev\errno.c" > @@ -3594,6 +4066,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3621,6 +4102,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3648,6 +4138,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3675,6 +4174,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3702,6 +4210,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3729,6 +4246,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > @@ -3976,6 +4502,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -4003,6 +4538,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -4030,6 +4574,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -4058,7 +4611,34 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4067,7 +4647,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4076,7 +4656,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4085,7 +4665,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4094,7 +4674,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4103,7 +4683,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4362,6 +4942,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -4389,6 +4978,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -4416,6 +5014,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -4443,6 +5050,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -4470,6 +5086,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -4497,6 +5122,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > @@ -4747,6 +5381,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" @@ -4777,6 +5421,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" ExcludedFromBuild="true" @@ -4807,6 +5461,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" ExcludedFromBuild="true" @@ -4837,6 +5501,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" @@ -4867,6 +5541,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" ExcludedFromBuild="true" @@ -4897,6 +5581,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" @@ -5171,6 +5865,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" @@ -5201,6 +5905,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" ExcludedFromBuild="true" @@ -5231,6 +5945,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" ExcludedFromBuild="true" @@ -5261,6 +5985,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" @@ -5291,6 +6025,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" ExcludedFromBuild="true" @@ -5321,6 +6065,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" @@ -5589,6 +6343,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" @@ -5613,6 +6375,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" ExcludedFromBuild="true" @@ -5637,6 +6407,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" ExcludedFromBuild="true" @@ -5661,6 +6439,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" @@ -5685,6 +6471,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" ExcludedFromBuild="true" @@ -5709,6 +6503,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" @@ -5932,6 +6734,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -5959,6 +6770,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -5986,6 +6806,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -6013,6 +6842,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -6040,6 +6878,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -6067,6 +6914,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_codec.vcproj b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_codec.vcproj similarity index 80% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_codec.vcproj rename to daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_codec.vcproj index eddbc8c5bc49f08c555a8044e7c990e9e5a377b1..848989479b1f2bec9c50724ebbb1e7e1ce32c2d7 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_codec.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_codec.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -222,6 +225,66 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include;../../pjlib/include;../../third_party/speex/include;../../third_party" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release|Win32" ConfigurationType="4" @@ -412,6 +475,65 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Release|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include;../../pjlib/include;../../third_party/speex/include;../../third_party" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Static|Win32" ConfigurationType="4" @@ -602,6 +724,66 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include;../../pjlib/include;../../third_party/speex/include;../../third_party" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release-Dynamic|Win32" ConfigurationType="4" @@ -792,6 +974,65 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Release-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include;../../pjlib/include;../../third_party/speex/include;../../third_party" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Dynamic|Win32" ConfigurationType="4" @@ -917,11 +1158,138 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include;../../pjlib/include;../../third_party/speex/include;../../third_party" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include;../../pjlib/include;../../third_party/speex/include;../../third_party" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -940,7 +1308,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include;../../pjlib/include;../../third_party/speex/include;../../third_party" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -956,7 +1323,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -968,27 +1335,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1007,6 +1365,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include;../../pjlib/include;../../third_party/speex/include;../../third_party" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1022,7 +1381,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1034,14 +1393,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -1080,7 +1447,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1107,11 +1474,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1127,10 +1495,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include;../../pjlib/include;../../third_party/speex/include;../../third_party" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1146,7 +1514,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjmedia-codec-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1158,19 +1526,11 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" @@ -2800,6 +3160,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2809,6 +3178,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2818,6 +3196,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2827,6 +3214,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2836,6 +3232,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2845,6 +3250,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjmedia-codec\h263_packetizer.c" @@ -2866,6 +3280,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2875,6 +3298,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2884,6 +3316,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2893,6 +3334,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2902,6 +3352,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2911,6 +3370,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjmedia-codec\ipp_codecs.c" @@ -2928,6 +3396,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2937,6 +3414,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2946,6 +3432,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2955,6 +3450,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2964,6 +3468,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2973,6 +3486,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjmedia-codec\opencore_amr.c" @@ -2998,6 +3520,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3007,6 +3538,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3016,6 +3556,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3025,6 +3574,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3034,6 +3592,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3043,6 +3610,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <Filter Name="g722 Files" diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_test.vcproj b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_test.vcproj similarity index 78% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_test.vcproj rename to daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_test.vcproj index 5da8f9cce262b92349096ba4181ad609d220a1da..6acda435ef8345c178e698a4fa0df8da40b213bf 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_test.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_test.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -234,9 +237,9 @@ /> </Configuration> <Configuration - Name="Release|Win32" + Name="Debug|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -255,12 +258,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -273,9 +278,10 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="" + IgnoreDefaultLibraryNames="MSVCRT.LIB" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -303,11 +309,12 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -326,8 +333,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -341,12 +348,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -354,22 +365,20 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -408,7 +417,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -435,12 +444,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -459,8 +467,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" - PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -474,16 +482,12 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="MSVCRT.LIB" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -491,24 +495,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -524,11 +531,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -542,12 +550,17 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -555,26 +568,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -593,8 +605,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -608,12 +620,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -621,27 +637,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -660,8 +673,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" - PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -675,16 +688,12 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -692,22 +701,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -744,7 +755,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -771,11 +782,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -791,12 +803,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -809,12 +823,17 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -822,24 +841,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -876,9 +893,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="MSVCRT.LIB" + IgnoreDefaultLibraryNames="" /> <Tool Name="VCALinkTool" @@ -906,9 +923,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -972,9 +989,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1038,9 +1055,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Dynamic|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1059,6 +1076,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -1079,7 +1097,8 @@ Name="VCLinkerTool" AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="MSVCRT.LIB" + IgnoreDefaultLibraryNames="" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -1107,11 +1126,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1130,8 +1150,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1145,12 +1165,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1158,24 +1182,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1212,7 +1234,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1239,9 +1261,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1278,7 +1300,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1305,11 +1327,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1325,12 +1348,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1343,12 +1368,17 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1356,26 +1386,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1394,8 +1423,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1409,12 +1438,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1422,24 +1455,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1476,7 +1507,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1503,9 +1534,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1542,7 +1573,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1569,11 +1600,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1589,11 +1621,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1607,12 +1640,17 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1620,24 +1658,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1674,7 +1710,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1701,9 +1737,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1740,7 +1776,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1767,9 +1803,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1806,7 +1842,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1833,9 +1869,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1872,7 +1908,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1899,9 +1935,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1938,7 +1974,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1965,9 +2001,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2004,7 +2040,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2031,9 +2067,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2070,7 +2106,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2097,9 +2133,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2136,7 +2172,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2163,9 +2199,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2202,7 +2238,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2229,9 +2265,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2268,7 +2304,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2295,9 +2331,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2334,7 +2370,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2361,9 +2397,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2400,7 +2436,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2427,9 +2463,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2466,7 +2502,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2493,9 +2529,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2532,7 +2568,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2559,9 +2595,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2598,7 +2634,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2625,9 +2661,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2664,7 +2700,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2691,9 +2727,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2730,7 +2766,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2757,9 +2793,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2796,7 +2832,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2822,41 +2858,464 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > - <File - RelativePath="..\src\test\codec_vectors.c" - > - </File> - <File - RelativePath="..\src\test\jbuf_test.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjlib/include,../include,../../pjnath/include,../../pjlib-util/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjmedia-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\test\codec_vectors.c" + > + </File> + <File + RelativePath="..\src\test\jbuf_test.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2873,6 +3332,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2882,6 +3350,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2891,6 +3368,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\test\main.c" @@ -2920,6 +3406,15 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2945,6 +3440,15 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2970,6 +3474,15 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2995,6 +3508,15 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3020,6 +3542,15 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3045,6 +3576,15 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" @@ -3198,51 +3738,217 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\test\mips_test.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\test\rtp_test.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\test\mips_test.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3251,7 +3957,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3260,7 +3966,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3269,7 +3975,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3278,7 +3984,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3287,7 +3993,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3297,7 +4003,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\test\rtp_test.c" + RelativePath="..\src\test\sdp_neg_test.c" > <FileConfiguration Name="Debug|Win32" @@ -3309,7 +4015,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3318,7 +4024,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3327,7 +4033,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3336,7 +4042,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3345,7 +4051,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3353,12 +4059,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\test\sdp_neg_test.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3367,7 +4069,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3376,7 +4078,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3385,7 +4087,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3394,7 +4096,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3403,7 +4105,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3441,6 +4143,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" @@ -3467,6 +4179,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" ExcludedFromBuild="true" @@ -3493,6 +4215,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" ExcludedFromBuild="true" @@ -3519,6 +4251,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" @@ -3545,6 +4287,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" ExcludedFromBuild="true" @@ -3571,6 +4323,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" @@ -3793,6 +4555,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" @@ -3819,6 +4591,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" ExcludedFromBuild="true" @@ -3845,6 +4627,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" ExcludedFromBuild="true" @@ -3871,6 +4663,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" @@ -3897,6 +4699,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" ExcludedFromBuild="true" @@ -3923,6 +4735,16 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" @@ -4128,6 +4950,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -4137,6 +4968,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -4146,6 +4986,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -4155,6 +5004,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -4164,6 +5022,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -4173,6 +5040,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\test\vid_codec_test.c" @@ -4197,6 +5073,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" @@ -4205,6 +5089,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" ExcludedFromBuild="true" @@ -4213,6 +5105,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" ExcludedFromBuild="true" @@ -4221,6 +5121,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" @@ -4229,6 +5137,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" ExcludedFromBuild="true" @@ -4237,6 +5153,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> </File> </Filter> <Filter diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_videodev.vcproj b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_videodev.vcproj similarity index 88% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_videodev.vcproj rename to daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_videodev.vcproj index f31d3e0980b7f5f02efb804140a24a955773d9ad..cdc62e756908e89101f510d66063355920e08238 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/build/pjmedia_videodev.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjmedia/build/pjmedia_videodev.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -224,6 +227,66 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../..,../../third_party/BaseClasses" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-videodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release|Win32" ConfigurationType="4" @@ -416,6 +479,65 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Release|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../..,../../third_party/BaseClasses" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-videodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Static|Win32" ConfigurationType="4" @@ -608,6 +730,66 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../..,../../third_party/BaseClasses" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-videodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release-Dynamic|Win32" ConfigurationType="4" @@ -800,6 +982,65 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Release-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../..,../../third_party/BaseClasses" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-videodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Dynamic|Win32" ConfigurationType="4" @@ -992,6 +1233,66 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../..,../../third_party/BaseClasses" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-videodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release-Static|Win32" ConfigurationType="4" @@ -1184,6 +1485,65 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Release-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../third_party/portaudio/include,../../third_party/speex/include,../../third_party/build/srtp,../../third_party/srtp/crypto/include,../../third_party/srtp/include,../..,../../third_party/BaseClasses" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjmedia-videodev-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_auddev_wince.vcp b/daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_auddev_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_auddev_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_auddev_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_codec_wince.vcp b/daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_codec_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_codec_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_codec_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_test.vcp b/daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_test.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_test.vcp rename to daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_test.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_wince.vcp b/daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_wince.vcw b/daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_wince.vcw similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/build/wince-evc4/pjmedia_wince.vcw rename to daemon/libs/pjproject-2.2.1/pjmedia/build/wince-evc4/pjmedia_wince.vcw diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/doxygen.cfg b/daemon/libs/pjproject-2.2.1/pjmedia/docs/doxygen.cfg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/doxygen.cfg rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/doxygen.cfg diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/footer.html b/daemon/libs/pjproject-2.2.1/pjmedia/docs/footer.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/footer.html rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/footer.html diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/header.html b/daemon/libs/pjproject-2.2.1/pjmedia/docs/header.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/header.html rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/header.html diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/master-port.jpg b/daemon/libs/pjproject-2.2.1/pjmedia/docs/master-port.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/master-port.jpg rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/master-port.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/media-flow.jpg b/daemon/libs/pjproject-2.2.1/pjmedia/docs/media-flow.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/media-flow.jpg rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/media-flow.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/media-flow.vsd b/daemon/libs/pjproject-2.2.1/pjmedia/docs/media-flow.vsd similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/media-flow.vsd rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/media-flow.vsd diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/media-srtp-transport.PNG b/daemon/libs/pjproject-2.2.1/pjmedia/docs/media-srtp-transport.PNG similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/media-srtp-transport.PNG rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/media-srtp-transport.PNG diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/media-transport.PNG b/daemon/libs/pjproject-2.2.1/pjmedia/docs/media-transport.PNG similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/media-transport.PNG rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/media-transport.PNG diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/sample-manual-resampling.jpg b/daemon/libs/pjproject-2.2.1/pjmedia/docs/sample-manual-resampling.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/sample-manual-resampling.jpg rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/sample-manual-resampling.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/siprtp.jpg b/daemon/libs/pjproject-2.2.1/pjmedia/docs/siprtp.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/siprtp.jpg rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/siprtp.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/docs/sndtest.jpg b/daemon/libs/pjproject-2.2.1/pjmedia/docs/sndtest.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/docs/sndtest.jpg rename to daemon/libs/pjproject-2.2.1/pjmedia/docs/sndtest.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/audiodev.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/audiodev.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/audiodev.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/audiodev.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/audiodev_imp.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/audiodev_imp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/audiodev_imp.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/audiodev_imp.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/audiotest.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/audiotest.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/audiotest.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/audiotest.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/config.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/config.h similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/config.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/config.h index e2884a9ea207f261c6282c10d8b68c4ba813706b..dbb33a2c1fe1aeab281a1f111c8334930b7eabc4 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/config.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/config.h @@ -1,4 +1,4 @@ -/* $Id: config.h 4150 2012-06-01 04:29:56Z ming $ */ +/* $Id: config.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -50,6 +50,7 @@ PJ_BEGIN_DECL */ #ifndef PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO # if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) || \ (defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0) # define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 # else @@ -57,6 +58,22 @@ PJ_BEGIN_DECL # endif #endif +/** + * This setting controls whether Android OpenSL audio support should be + * included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_OPENSL +# define PJMEDIA_AUDIO_DEV_HAS_OPENSL 0 +#endif + +/** + * This setting controls whether Android JNI audio support should be + * included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI +# define PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI 0 +#endif + /** * This setting controls whether BlackBerry 10 (BB10) audio support * should be included. @@ -96,6 +113,14 @@ PJ_BEGIN_DECL # define PJMEDIA_AUDIO_DEV_HAS_WMME 1 #endif + +/** + * This setting controls whether BDIMAD support should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_BDIMAD +# define PJMEDIA_AUDIO_DEV_HAS_BDIMAD 0 +#endif + /** * This setting controls whether Symbian APS support should be included. diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/errno.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/errno.h similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/errno.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/errno.h index df60748938f2094fea93ca29b3a6ec1e22227720..f2be9b35934f22bcc615ffd09dd658aca5b1a773 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-audiodev/errno.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-audiodev/errno.h @@ -1,4 +1,4 @@ -/* $Id: errno.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: errno.h 4432 2013-03-08 08:02:48Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -104,6 +104,19 @@ PJ_BEGIN_DECL #define PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(err) \ ((int)PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_START-err) +/** + * Mapping from BDIMAD error codes to pjmedia error space. + */ +#define PJMEDIA_AUDIODEV_BDIMAD_ERROR_START \ + (PJMEDIA_AUDIODEV_ERRNO_START + 40000) +#define PJMEDIA_AUDIODEV_BDIMAD_ERROR_END \ + (PJMEDIA_AUDIODEV_BDIMAD_ERROR_START + 2000 - 1) +/** + * Convert BDIMAD error codes to PJLIB error space. + */ +#define PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(err) \ + ((int)PJMEDIA_AUDIODEV_BDIMAD_ERROR_START+err) + /************************************************************ * Audio Device API error codes ***********************************************************/ diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/amr_helper.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/amr_helper.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/amr_helper.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/amr_helper.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/amr_sdp_match.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/amr_sdp_match.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/amr_sdp_match.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/amr_sdp_match.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/audio_codecs.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/audio_codecs.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/audio_codecs.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/audio_codecs.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/config.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/config.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/config.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/config_auto.h.in b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/config_auto.h.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/config_auto.h.in rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/config_auto.h.in diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/ffmpeg_vid_codecs.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/ffmpeg_vid_codecs.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/ffmpeg_vid_codecs.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/ffmpeg_vid_codecs.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/g722.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/g722.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/g722.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/g722.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/g7221.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/g7221.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/g7221.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/g7221.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/g7221_sdp_match.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/g7221_sdp_match.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/g7221_sdp_match.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/g7221_sdp_match.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/gsm.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/gsm.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/gsm.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/gsm.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/h263_packetizer.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/h263_packetizer.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/h263_packetizer.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/h263_packetizer.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/h264_packetizer.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/h264_packetizer.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/h264_packetizer.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/h264_packetizer.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/ilbc.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/ilbc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/ilbc.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/ilbc.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/ipp_codecs.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/ipp_codecs.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/ipp_codecs.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/ipp_codecs.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/l16.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/l16.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/l16.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/l16.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/opencore_amr.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/opencore_amr.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/opencore_amr.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/opencore_amr.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/passthrough.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/passthrough.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/passthrough.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/passthrough.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/silk.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/silk.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/silk.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/silk.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/speex.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/speex.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/speex.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/speex.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/types.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-codec/types.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-codec/types.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/avi_dev.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/avi_dev.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/avi_dev.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/avi_dev.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/config.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/config.h similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/config.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/config.h index ef161eb2b42e00a71257d948f4737eb92a69ce0a..45ed1a275525cf2edbebecdc12056c1ae0f740f3 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/config.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/config.h @@ -1,4 +1,4 @@ -/* $Id: config.h 4414 2013-03-05 08:21:02Z riza $ */ +/* $Id: config.h 4656 2013-11-23 07:13:40Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -52,6 +52,8 @@ PJ_BEGIN_DECL #endif +#if defined(PJMEDIA_HAS_VIDEO) && (PJMEDIA_HAS_VIDEO != 0) + /** * This setting controls whether SDL support should be included. * @@ -144,6 +146,8 @@ PJ_BEGIN_DECL # undef PJMEDIA_SDL_LIB #endif +#endif /* defined(PJMEDIA_HAS_VIDEO) && (PJMEDIA_HAS_VIDEO != 0) */ + /** * @} */ diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/errno.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/errno.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/errno.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/errno.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/videodev.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/videodev.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/videodev.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/videodev.h index 9ba49823106b6a75aa7d129661a82ec43bbfdb09..9bb42e6ceed36ae6124b70c2f26b8df9430c0dfd 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/videodev.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/videodev.h @@ -1,4 +1,4 @@ -/* $Id: videodev.h 4167 2012-06-15 08:13:43Z ming $ */ +/* $Id: videodev.h 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -131,7 +131,7 @@ typedef enum pjmedia_vid_dev_wnd_flag /** * Device index constants. */ -enum +enum pjmedia_vid_dev_std_index { /** * Constant to denote default capture device diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/videodev_imp.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/videodev_imp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia-videodev/videodev_imp.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia-videodev/videodev_imp.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/alaw_ulaw.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/alaw_ulaw.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/alaw_ulaw.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/alaw_ulaw.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/avi.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/avi.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/avi.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/avi.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/avi_stream.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/avi_stream.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/avi_stream.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/avi_stream.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/bidirectional.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/bidirectional.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/bidirectional.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/bidirectional.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/circbuf.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/circbuf.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/circbuf.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/circbuf.h index 80a774c707da9e2037dde3b1e073156eea430e92..e400dca22c7ea244b05ec1ec4f9a44d0e34f0b9b 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/circbuf.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/circbuf.h @@ -1,4 +1,4 @@ -/* $Id: circbuf.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: circbuf.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -216,7 +216,8 @@ PJ_INLINE(void) pjmedia_circ_buf_get_read_regions(pjmedia_circ_buf *circbuf, *reg1 = circbuf->start; *reg1_len = circbuf->len; if (*reg1 + *reg1_len > circbuf->buf + circbuf->capacity) { - *reg1_len = circbuf->buf + circbuf->capacity - circbuf->start; + *reg1_len = (unsigned)(circbuf->buf + circbuf->capacity - + circbuf->start); *reg2 = circbuf->buf; *reg2_len = circbuf->len - *reg1_len; } else { @@ -252,9 +253,9 @@ PJ_INLINE(void) pjmedia_circ_buf_get_write_regions(pjmedia_circ_buf *circbuf, *reg1 -= circbuf->capacity; *reg1_len = circbuf->capacity - circbuf->len; if (*reg1 + *reg1_len > circbuf->buf + circbuf->capacity) { - *reg1_len = circbuf->buf + circbuf->capacity - *reg1; + *reg1_len = (unsigned)(circbuf->buf + circbuf->capacity - *reg1); *reg2 = circbuf->buf; - *reg2_len = circbuf->start - circbuf->buf; + *reg2_len = (unsigned)(circbuf->start - circbuf->buf); } else { *reg2 = NULL; *reg2_len = 0; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/clock.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/clock.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/clock.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/clock.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/codec.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/codec.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/codec.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/codec.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/conference.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/conference.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/conference.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/conference.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/config.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/config.h similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/config.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/config.h index b229eca9abc25c15121085a5ddfe41abf239ab5b..cb0c53e087729c128bfe0e8a38ccb291750eea63 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/config.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/config.h @@ -1,4 +1,4 @@ -/* $Id: config.h 4240 2012-08-31 09:03:36Z ming $ */ +/* $Id: config.h 4701 2014-01-03 03:44:05Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -60,6 +60,21 @@ # define PJMEDIA_CONF_USE_SWITCH_BOARD 0 #endif +/** + * Specify buffer size for audio switch board, in bytes. This buffer will + * be used for transmitting/receiving audio frame data (and some overheads, + * i.e: pjmedia_frame structure) among conference ports in the audio + * switch board. For example, if a port uses PCM format @44100Hz mono + * and frame time 20ms, the PCM audio data will require 1764 bytes, + * so with overhead, a safe buffer size will be ~1900 bytes. + * + * Default: PJMEDIA_MAX_MTU + */ +#ifndef PJMEDIA_CONF_SWITCH_BOARD_BUF_SIZE +# define PJMEDIA_CONF_SWITCH_BOARD_BUF_SIZE PJMEDIA_MAX_MTU +#endif + + /* * Types of sound stream backends. */ @@ -653,6 +668,19 @@ # define PJMEDIA_SDP_NEG_PREFER_REMOTE_CODEC_ORDER 1 #endif +/** + * This specifies the behavior of the SDP negotiator when responding to an + * offer, whether it should answer with multiple formats or not. + * + * Note that this behavior can be changed during run-time by calling + * pjmedia_sdp_neg_set_allow_multiple_codecs(). + * + * Default is 0 (to maintain backward compatibility) + */ +#ifndef PJMEDIA_SDP_NEG_ANSWER_MULTIPLE_CODECS +# define PJMEDIA_SDP_NEG_ANSWER_MULTIPLE_CODECS 0 +#endif + /** * This specifies the maximum number of the customized SDP format @@ -885,6 +913,19 @@ #endif +/** + * Let the library handle libsrtp initialization and deinitialization. + * Application may want to disable this and manually perform libsrtp + * initialization and deinitialization when it needs to use libsrtp + * before the library is initialized or after the library is shutdown. + * + * By default it is enabled. + */ +#ifndef PJMEDIA_LIBSRTP_AUTO_INIT_DEINIT +# define PJMEDIA_LIBSRTP_AUTO_INIT_DEINIT 1 +#endif + + /** * Enable support to handle codecs with inconsistent clock rate * between clock rate in SDP/RTP & the clock rate that is actually used. @@ -1201,6 +1242,46 @@ #endif +/** + * Specify target value for socket receive buffer size. It will be + * applied to RTP socket of media transport using setsockopt(). When + * transport failed to set the specified size, it will try with lower + * value until the highest possible is successfully set. + * + * Setting this to zero will leave the socket receive buffer size to + * OS default (e.g: usually 8 KB on desktop platforms). + * + * Default: 64 KB when video is enabled, otherwise zero (OS default) + */ +#ifndef PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE +# if PJMEDIA_HAS_VIDEO +# define PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE (64*1024) +# else +# define PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE 0 +# endif +#endif + + +/** + * Specify target value for socket send buffer size. It will be + * applied to RTP socket of media transport using setsockopt(). When + * transport failed to set the specified size, it will try with lower + * value until the highest possible is successfully set. + * + * Setting this to zero will leave the socket send buffer size to + * OS default (e.g: usually 8 KB on desktop platforms). + * + * Default: 64 KB when video is enabled, otherwise zero (OS default) + */ +#ifndef PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE +# if PJMEDIA_HAS_VIDEO +# define PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE (64*1024) +# else +# define PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE 0 +# endif +#endif + + /** * @} */ diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/config_auto.h.in b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/config_auto.h.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/config_auto.h.in rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/config_auto.h.in diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/converter.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/converter.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/converter.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/converter.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/delaybuf.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/delaybuf.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/delaybuf.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/delaybuf.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/doxygen.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/doxygen.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/doxygen.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/doxygen.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/echo.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/echo.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/echo.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/echo.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/echo_port.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/echo_port.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/echo_port.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/echo_port.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/endpoint.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/endpoint.h similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/endpoint.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/endpoint.h index 440cfe84295e568f4fd6700f28067bbc7edd00f8..0019ef3f1039ffd64a36c2bdb05208b825756849 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/endpoint.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/endpoint.h @@ -1,4 +1,4 @@ -/* $Id: endpoint.h 3999 2012-03-30 07:10:13Z bennylp $ */ +/* $Id: endpoint.h 4474 2013-04-16 09:12:59Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -150,6 +150,15 @@ PJ_DECL(unsigned) pjmedia_endpt_get_thread_count(pjmedia_endpt *endpt); PJ_DECL(pj_thread_t*) pjmedia_endpt_get_thread(pjmedia_endpt *endpt, unsigned index); +/** + * Stop and destroy the worker threads of the media endpoint + * + * @param endpt The media endpoint instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_stop_threads(pjmedia_endpt *endpt); + /** * Request the media endpoint to create pool. diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/errno.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/errno.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/errno.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/errno.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/event.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/event.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/event.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/event.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/format.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/format.h similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/format.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/format.h index 0bfe3c6ec64a1f7f6a33c080decd936bfed0b94d..ab059a6857e2e24902c5564644eea27a3c217c52 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/format.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/format.h @@ -1,4 +1,4 @@ -/* $Id: format.h 4158 2012-06-06 09:56:14Z nanang $ */ +/* $Id: format.h 4785 2014-03-10 09:01:18Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -521,11 +521,11 @@ PJ_INLINE(unsigned) PJMEDIA_PTIME(const pjmedia_ratio *frame_rate) return ((unsigned)((pj_uint64_t)1000000 * \ frame_rate->denum / frame_rate->num)); #elif PJ_HAS_FLOATING_POINT - return ((unsigned)(1000000.0 * frame_rate->denum / \ + return ((unsigned)(1000000.0 * frame_rate->denum / frame_rate->num)); #else - return ((unsigned)((1000L * frame_rate->denum / \ - frame_rate->num) * 1000); + return ((unsigned)((1000L * frame_rate->denum / + frame_rate->num) * 1000)); #endif } @@ -581,14 +581,32 @@ PJ_INLINE(unsigned) PJMEDIA_AFD_MAX_FSZ(const pjmedia_audio_format_detail *afd) * @param avg_bps Average bitrate. * @param max_bps Maximum bitrate. */ -PJ_DECL(void) pjmedia_format_init_audio(pjmedia_format *fmt, - pj_uint32_t fmt_id, - unsigned clock_rate, - unsigned channel_count, - unsigned bits_per_sample, - unsigned frame_time_usec, - pj_uint32_t avg_bps, - pj_uint32_t max_bps); +PJ_INLINE(void) pjmedia_format_init_audio(pjmedia_format *fmt, + pj_uint32_t fmt_id, + unsigned clock_rate, + unsigned channel_count, + unsigned bits_per_sample, + unsigned frame_time_usec, + pj_uint32_t avg_bps, + pj_uint32_t max_bps) +{ + /* This function is inlined to avoid build problem due to circular + * dependency, i.e: this function is part of pjmedia and is needed + * by pjmedia-audiodev, while pjmedia depends on pjmedia-audiodev. + */ + + fmt->id = fmt_id; + fmt->type = PJMEDIA_TYPE_AUDIO; + fmt->detail_type = PJMEDIA_FORMAT_DETAIL_AUDIO; + + fmt->det.aud.clock_rate = clock_rate; + fmt->det.aud.channel_count = channel_count; + fmt->det.aud.bits_per_sample = bits_per_sample; + fmt->det.aud.frame_time_usec = frame_time_usec; + fmt->det.aud.avg_bps = avg_bps; + fmt->det.aud.max_bps = max_bps; +} + /** * Initialize the format as video format with the specified parameters. diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/frame.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/frame.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/frame.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/frame.h index c41f0788ba091beeb8b4125812449b41b37f0e9f..286c51f5de49d98f6c54b8f76e166d351670ecef 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/frame.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/frame.h @@ -1,4 +1,4 @@ -/* $Id: frame.h 3715 2011-08-19 09:35:25Z nanang $ */ +/* $Id: frame.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -231,7 +231,7 @@ pjmedia_frame_ext_pop_subframes(pjmedia_frame_ext *frm, unsigned n) { pjmedia_frame_ext_subframe *sf; pj_uint8_t *move_src; - unsigned move_len; + pj_size_t move_len; if (frm->subframe_cnt <= n) { frm->subframe_cnt = 0; @@ -241,8 +241,8 @@ pjmedia_frame_ext_pop_subframes(pjmedia_frame_ext *frm, unsigned n) move_src = (pj_uint8_t*)pjmedia_frame_ext_get_subframe(frm, n); sf = pjmedia_frame_ext_get_subframe(frm, frm->subframe_cnt-1); - move_len = (pj_uint8_t*)sf - move_src + sizeof(sf->bitlen) + - ((sf->bitlen+7) >> 3); + move_len = ((pj_uint8_t*)sf - move_src + sizeof(sf->bitlen) + + ((sf->bitlen+7) >> 3)); pj_memmove((pj_uint8_t*)frm+sizeof(pjmedia_frame_ext), move_src, move_len); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/g711.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/g711.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/g711.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/g711.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/jbuf.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/jbuf.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/jbuf.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/jbuf.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/master_port.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/master_port.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/master_port.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/master_port.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/mem_port.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/mem_port.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/mem_port.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/mem_port.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/null_port.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/null_port.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/null_port.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/null_port.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/plc.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/plc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/plc.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/plc.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/port.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/port.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/port.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/port.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/resample.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/resample.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/resample.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/resample.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/rtcp.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/rtcp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/rtcp.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/rtcp.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/rtcp_xr.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/rtcp_xr.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/rtcp_xr.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/rtcp_xr.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/rtp.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/rtp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/rtp.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/rtp.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/sdp.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/sdp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/sdp.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/sdp.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/sdp_neg.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/sdp_neg.h similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/sdp_neg.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/sdp_neg.h index 74fcb166acafeacf6d79c834c2567dad9e84e62c..72571331bd08d90c12729ca9fc39450fb608860e 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/sdp_neg.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/sdp_neg.h @@ -1,4 +1,4 @@ -/* $Id: sdp_neg.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: sdp_neg.h 4577 2013-08-01 04:18:15Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -52,15 +52,15 @@ * create_w_local_offer() +-------------+ send_local_offer() * ----------------------->| LOCAL_OFFER |<----------------------- * | +-------------+______ | - * | | \______ cancel() | - * | set_remote_answer() | \______ | - * | V \ | + * | | \_____________ | + * | set_remote_answer() | cancel_offer() \ | + * | V v | * +--+---+ +-----------+ negotiate() +-~----+ * | NULL | | WAIT_NEGO |-------------------->| DONE | * +------+ +-----------+ +------+ - * | A | - * | set_local_answer() | | - * | | | + * | A ______________________^ | + * | set_local_answer() | / cancel_offer() | + * | | / | * | +--------------+ set_remote_offer() | * ----------------------->| REMOTE_OFFER |<---------------------- * create_w_remote_offer() +--------------+ @@ -312,6 +312,22 @@ typedef enum pjmedia_sdp_neg_state pjmedia_sdp_neg_state; typedef struct pjmedia_sdp_neg pjmedia_sdp_neg; +/** + * Flags to be given to pjmedia_sdp_neg_modify_local_offer2(). + */ +typedef enum pjmedia_mod_offer_flag +{ + /** + * Allow media type in the SDP to be changed. + * When generating a new offer, in the case that a media line doesn't match + * the active SDP, the new media line will be considered to replace the + * existing media at the same position. + */ + PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE = 1 + +} pjmedia_mod_offer_flag; + + /** * Get the state string description of the specified state. * @@ -400,6 +416,23 @@ PJ_DECL(pj_status_t) pjmedia_sdp_neg_set_prefer_remote_codec_order(pjmedia_sdp_neg *neg, pj_bool_t prefer_remote); +/** + * This specifies the behavior of the SDP negotiator when responding to an + * offer, whether it should answer with multiple formats or not. + * + * By default, the value in PJMEDIA_SDP_NEG_ANSWER_MULTIPLE_CODECS will + * be used. + * + * @param neg The SDP negotiator instance. + * @param answer_multiple + * If non-zero, the negotiator will respond with + * multiple formats. If zero only a single format + * will be returned. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_set_answer_multiple_codecs(pjmedia_sdp_neg *neg, + pj_bool_t answer_multiple); + /** * Get SDP negotiator state. @@ -500,7 +533,8 @@ pjmedia_sdp_neg_get_neg_local( pjmedia_sdp_neg *neg, * After calling this function, application can send the SDP as offer * to remote party, using signaling protocol such as SIP. * The negotiator state will move to PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER, - * where it waits for SDP answer from remote. + * where it waits for SDP answer from remote. See also + * #pjmedia_sdp_neg_modify_local_offer2() * * @param pool Pool to allocate memory. The pool's lifetime needs * to be valid for the duration of the negotiator. @@ -515,6 +549,29 @@ pjmedia_sdp_neg_modify_local_offer( pj_pool_t *pool, pjmedia_sdp_neg *neg, const pjmedia_sdp_session *local); +/** + * Modify local session with a new SDP and treat this as a new offer. + * This function can only be called in state PJMEDIA_SDP_NEG_STATE_DONE. + * After calling this function, application can send the SDP as offer + * to remote party, using signaling protocol such as SIP. + * The negotiator state will move to PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER, + * where it waits for SDP answer from remote. + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param neg The SDP negotiator instance. + * @param flags Bitmask from pjmedia_mod_offer_flag. + * @param local The new local SDP. + * + * @return PJ_SUCCESS on success, or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_modify_local_offer2( pj_pool_t *pool, + pjmedia_sdp_neg *neg, + unsigned flags, + const pjmedia_sdp_session *local); + /** * This function can only be called in PJMEDIA_SDP_NEG_STATE_DONE state. * Application calls this function to retrieve currently active diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/session.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/session.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/session.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/session.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/signatures.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/signatures.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/signatures.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/signatures.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/silencedet.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/silencedet.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/silencedet.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/silencedet.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/sound.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/sound.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/sound.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/sound.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/sound_port.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/sound_port.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/sound_port.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/sound_port.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/splitcomb.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/splitcomb.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/splitcomb.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/splitcomb.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/stereo.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/stereo.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/stereo.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/stereo.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/stream.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/stream.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/stream.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/stream.h index 23df1c4dbf468520a06591346f9f0e63c1a1cb98..3522abcb1df22f218253b8e4bcef886703a9e337 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/stream.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/stream.h @@ -1,4 +1,4 @@ -/* $Id: stream.h 3841 2011-10-24 09:28:13Z ming $ */ +/* $Id: stream.h 4739 2014-02-11 04:46:49Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -341,7 +341,10 @@ PJ_DECL(pj_status_t) pjmedia_stream_resume(pjmedia_stream *stream, * only valid for audio stream. * * @param stream The media stream. - * @param ascii_digit String containing digits to be sent to remote. + * @param ascii_digit String containing digits to be sent to remote as + * described on RFC 2833 section 3.10. Character 'R' is + * used to represent the event type 16 (flash) as stated + * in RFC 4730. * Currently the maximum number of digits are 32. * * @return PJ_SUCCESS on success. diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/stream_common.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/stream_common.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/stream_common.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/stream_common.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/symbian_sound_aps.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/symbian_sound_aps.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/symbian_sound_aps.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/symbian_sound_aps.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/tonegen.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/tonegen.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/tonegen.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/tonegen.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_adapter_sample.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_adapter_sample.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_adapter_sample.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_adapter_sample.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_ice.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_ice.h similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_ice.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_ice.h index 417ee6d32840492250fd6a3a5c0b0424f63ea2ec..c7555cb3136f1e0ca02fd885f56569ae50d267ed 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_ice.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_ice.h @@ -1,4 +1,4 @@ -/* $Id: transport_ice.h 4350 2013-02-15 03:57:31Z nanang $ */ +/* $Id: transport_ice.h 4606 2013-10-01 05:00:57Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -221,6 +221,15 @@ PJ_DECL(pj_status_t) pjmedia_ice_create3(pjmedia_endpt *endpt, void *user_data, pjmedia_transport **p_tp); +/** + * Get the group lock for the ICE media transport. + * + * @param tp The ICE media transport. + * + * @return The group lock. + */ +PJ_DECL(pj_grp_lock_t *) pjmedia_ice_get_grp_lock(pjmedia_transport *tp); + PJ_END_DECL diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_loop.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_loop.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_loop.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_loop.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_srtp.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_srtp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_srtp.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_srtp.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_udp.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_udp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/transport_udp.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/transport_udp.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/types.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/types.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/types.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_codec.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_codec.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_codec.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_codec.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_codec_util.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_codec_util.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_codec_util.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_codec_util.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_port.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_port.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_port.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_port.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_stream.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_stream.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_stream.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_stream.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_tee.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_tee.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/vid_tee.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/vid_tee.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/wav_playlist.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/wav_playlist.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/wav_playlist.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/wav_playlist.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/wav_port.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/wav_port.h similarity index 85% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/wav_port.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/wav_port.h index 365d889d9038df7a02382510cfe3f42fd15b27d4..884a2a9e9511eef4ac1d33d5ebda71646b4db631 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/wav_port.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/wav_port.h @@ -1,4 +1,4 @@ -/* $Id: wav_port.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: wav_port.h 4793 2014-03-14 04:09:50Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -51,6 +51,35 @@ enum pjmedia_file_player_option }; +/** + * Additional information about the WAV player. + */ +typedef struct pjmedia_wav_player_info +{ + /** + * Format ID of the payload. + */ + pjmedia_format_id fmt_id; + + /** + * The number of bits per sample of the file payload. For example, + * the value is 16 for PCM WAV and 8 for Alaw/Ulas WAV files. + */ + unsigned payload_bits_per_sample; + + /** + * The WAV payload size in bytes. + */ + pj_uint32_t size_bytes; + + /** + * The WAV payload size in samples. + */ + pj_uint32_t size_samples; + +} pjmedia_wav_player_info; + + /** * Create a media port to play streams from a WAV file. WAV player port * supports for reading WAV file with uncompressed 16 bit PCM format or @@ -76,14 +105,24 @@ PJ_DECL(pj_status_t) pjmedia_wav_player_port_create( pj_pool_t *pool, pj_ssize_t buff_size, pjmedia_port **p_port ); +/** + * Get additional info about the file player. + * + * @param port The file port. + * @param i The info. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_wav_player_get_info(pjmedia_port *port, + pjmedia_wav_player_info *i); /** * Get the data length, in bytes. * * @param port The file player port. * - * @return The length of the data, in bytes. Upon error it will - * return negative value. + * @return The length of the data, in bytes. On error, the + * error code is given as negative value. */ PJ_DECL(pj_ssize_t) pjmedia_wav_player_get_len(pjmedia_port *port); @@ -102,11 +141,12 @@ PJ_DECL(pj_status_t) pjmedia_wav_player_port_set_pos( pjmedia_port *port, /** - * Get the file play position of WAV player. + * Get the file play position of WAV player, in bytes. * * @param port The file player port. * - * @return PJ_SUCCESS on success. + * @return The current play position, in bytes. On error, the + * error code is given as negative value. */ PJ_DECL(pj_ssize_t) pjmedia_wav_player_port_get_pos( pjmedia_port *port ); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/wave.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/wave.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/wave.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/wave.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/wsola.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/wsola.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia/wsola.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia/wsola.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia_audiodev.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia_audiodev.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia_audiodev.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia_audiodev.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia_videodev.h b/daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia_videodev.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/include/pjmedia_videodev.h rename to daemon/libs/pjproject-2.2.1/pjmedia/include/pjmedia_videodev.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/alsa_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/alsa_dev.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/alsa_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/alsa_dev.c index 31b3b06ff648e22ef1740ca5675c625cb4863669..6eac69c88d6dd929bab1ca41974bee5df6096e9f 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/alsa_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/alsa_dev.c @@ -1,4 +1,4 @@ -/* $Id: alsa_dev.c 4283 2012-10-12 06:19:32Z ming $ */ +/* $Id: alsa_dev.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2007-2009 Keystream AB and Konftel AB, All rights reserved. @@ -171,7 +171,7 @@ static void alsa_error_handler (const char *file, ...) { char err_msg[128]; - int index; + int index, len; va_list arg; #ifndef NDEBUG @@ -180,13 +180,30 @@ static void alsa_error_handler (const char *file, #else index = snprintf (err_msg, sizeof(err_msg), "ALSA lib: "); #endif + if (index < 1 || index >= (int)sizeof(err_msg)) { + index = sizeof(err_msg)-1; + err_msg[index] = '\0'; + goto print_msg; + } + va_start (arg, fmt); - if (index < sizeof(err_msg)-1) - index += vsnprintf (err_msg+index, sizeof(err_msg)-index, fmt, arg); + if (index < sizeof(err_msg)-1) { + len = vsnprintf( err_msg+index, sizeof(err_msg)-index, fmt, arg); + if (len < 1 || len >= (int)sizeof(err_msg)-index) + len = sizeof(err_msg)-index-1; + index += len; + err_msg[index] = '\0'; + } va_end(arg); - if (err && index < sizeof(err_msg)-1) - index += snprintf (err_msg+index, sizeof(err_msg)-index, ": %s", - snd_strerror(err)); + if (err && index < sizeof(err_msg)-1) { + len = snprintf( err_msg+index, sizeof(err_msg)-index, ": %s", + snd_strerror(err)); + if (len < 1 || len >= (int)sizeof(err_msg)-index) + len = sizeof(err_msg)-index-1; + index += len; + err_msg[index] = '\0'; + } +print_msg: PJ_LOG (4,(THIS_FILE, "%s", err_msg)); } diff --git a/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/android_jni_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/android_jni_dev.c new file mode 100644 index 0000000000000000000000000000000000000000..6025c8ccf33646d0009374cc0804b7f20c44d2a5 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/android_jni_dev.c @@ -0,0 +1,1034 @@ +/* $Id: android_jni_dev.c 4435 2013-03-11 06:32:58Z nanang $ */ +/* + * Copyright (C) 2012-2012 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2010-2012 Regis Montoya (aka r3gis - www.r3gis.fr) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +/* This file is the implementation of Android JNI audio device. + * The original code was originally part of CSipSimple + * (http://code.google.com/p/csipsimple/) and was kindly donated + * by Regis Montoya. + */ + +#include <pjmedia-audiodev/audiodev_imp.h> +#include <pj/assert.h> +#include <pj/log.h> +#include <pj/os.h> +#include <pj/string.h> +#include <pjmedia/errno.h> + +#if defined(PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI) && \ + PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI != 0 + +#include <jni.h> +#include <sys/resource.h> +#include <sys/system_properties.h> + +#define THIS_FILE "android_jni_dev.c" +#define DRIVER_NAME "Android JNI" + +struct android_aud_factory +{ + pjmedia_aud_dev_factory base; + pj_pool_factory *pf; + pj_pool_t *pool; +}; + +/* + * Sound stream descriptor. + * This struct may be used for both unidirectional or bidirectional sound + * streams. + */ +struct android_aud_stream +{ + pjmedia_aud_stream base; + pj_pool_t *pool; + pj_str_t name; + pjmedia_dir dir; + pjmedia_aud_param param; + + int bytes_per_sample; + pj_uint32_t samples_per_sec; + unsigned samples_per_frame; + int channel_count; + void *user_data; + pj_bool_t quit_flag; + pj_bool_t running; + + /* Record */ + jobject record; + jclass record_class; + unsigned rec_buf_size; + pjmedia_aud_rec_cb rec_cb; + pj_bool_t rec_thread_exited; + pj_thread_t *rec_thread; + pj_sem_t *rec_sem; + pj_timestamp rec_timestamp; + + /* Track */ + jobject track; + jclass track_class; + unsigned play_buf_size; + pjmedia_aud_play_cb play_cb; + pj_bool_t play_thread_exited; + pj_thread_t *play_thread; + pj_sem_t *play_sem; + pj_timestamp play_timestamp; +}; + +/* Factory prototypes */ +static pj_status_t android_init(pjmedia_aud_dev_factory *f); +static pj_status_t android_destroy(pjmedia_aud_dev_factory *f); +static pj_status_t android_refresh(pjmedia_aud_dev_factory *f); +static unsigned android_get_dev_count(pjmedia_aud_dev_factory *f); +static pj_status_t android_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info); +static pj_status_t android_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param); +static pj_status_t android_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm); + +/* Stream prototypes */ +static pj_status_t strm_get_param(pjmedia_aud_stream *strm, + pjmedia_aud_param *param); +static pj_status_t strm_get_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + void *value); +static pj_status_t strm_set_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + const void *value); +static pj_status_t strm_start(pjmedia_aud_stream *strm); +static pj_status_t strm_stop(pjmedia_aud_stream *strm); +static pj_status_t strm_destroy(pjmedia_aud_stream *strm); + +static pjmedia_aud_dev_factory_op android_op = +{ + &android_init, + &android_destroy, + &android_get_dev_count, + &android_get_dev_info, + &android_default_param, + &android_create_stream, + &android_refresh +}; + +static pjmedia_aud_stream_op android_strm_op = +{ + &strm_get_param, + &strm_get_cap, + &strm_set_cap, + &strm_start, + &strm_stop, + &strm_destroy +}; + +JavaVM *android_jvm; + +JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) +{ + android_jvm = vm; + + return JNI_VERSION_1_4; +} + +static pj_bool_t attach_jvm(JNIEnv **jni_env) +{ + if ((*android_jvm)->GetEnv(android_jvm, (void **)jni_env, + JNI_VERSION_1_4) < 0) + { + if ((*android_jvm)->AttachCurrentThread(android_jvm, jni_env, NULL) < 0) + { + jni_env = NULL; + return PJ_FALSE; + } + return PJ_TRUE; + } + + return PJ_FALSE; +} + +#define detach_jvm(attached) \ + if (attached) \ + (*android_jvm)->DetachCurrentThread(android_jvm); + +/* Thread priority utils */ +/* TODO : port it to pj_thread functions */ +#define THREAD_PRIORITY_AUDIO -16 +#define THREAD_PRIORITY_URGENT_AUDIO -19 + +pj_status_t set_android_thread_priority(int priority) +{ + jclass process_class; + jmethodID set_prio_method; + jthrowable exc; + pj_status_t result = PJ_SUCCESS; + JNIEnv *jni_env = 0; + pj_bool_t attached = attach_jvm(&jni_env); + + PJ_ASSERT_RETURN(jni_env, PJ_FALSE); + + /* Get pointer to the java class */ + process_class = (jclass)(*jni_env)->NewGlobalRef(jni_env, + (*jni_env)->FindClass(jni_env, "android/os/Process")); + if (process_class == 0) { + PJ_LOG(4, (THIS_FILE, "Unable to find os process class")); + result = PJ_EIGNORED; + goto on_return; + } + + /* Get the id of set thread priority function */ + set_prio_method = (*jni_env)->GetStaticMethodID(jni_env, process_class, + "setThreadPriority", + "(I)V"); + if (set_prio_method == 0) { + PJ_LOG(4, (THIS_FILE, "Unable to find setThreadPriority() method")); + result = PJ_EIGNORED; + goto on_return; + } + + /* Set the thread priority */ + (*jni_env)->CallStaticVoidMethod(jni_env, process_class, set_prio_method, + priority); + exc = (*jni_env)->ExceptionOccurred(jni_env); + if (exc) { + (*jni_env)->ExceptionDescribe(jni_env); + (*jni_env)->ExceptionClear(jni_env); + PJ_LOG(4, (THIS_FILE, "Failure in setting thread priority using " + "Java API, fallback to setpriority()")); + setpriority(PRIO_PROCESS, 0, priority); + } else { + PJ_LOG(4, (THIS_FILE, "Setting thread priority successful")); + } + +on_return: + detach_jvm(attached); + return result; +} + + +static int AndroidRecorderCallback(void *userData) +{ + struct android_aud_stream *stream = (struct android_aud_stream *)userData; + jmethodID read_method=0, record_method=0, stop_method=0; + int size = stream->rec_buf_size; + jbyteArray inputBuffer; + jbyte *buf; + JNIEnv *jni_env = 0; + pj_bool_t attached = attach_jvm(&jni_env); + + PJ_ASSERT_RETURN(jni_env, 0); + + if (!stream->record) { + goto on_return; + } + + PJ_LOG(5, (THIS_FILE, "Recorder thread started")); + + /* Get methods ids */ + read_method = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "read", "([BII)I"); + record_method = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "startRecording", "()V"); + stop_method = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "stop", "()V"); + if (read_method==0 || record_method==0 || stop_method==0) { + PJ_LOG(3, (THIS_FILE, "Unable to get recording methods")); + goto on_return; + } + + /* Create a buffer for frames read */ + inputBuffer = (*jni_env)->NewByteArray(jni_env, size); + if (inputBuffer == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to allocate input buffer")); + goto on_return; + } + buf = (*jni_env)->GetByteArrayElements(jni_env, inputBuffer, 0); + + /* Start recording + * setpriority(PRIO_PROCESS, 0, -19); //ANDROID_PRIORITY_AUDIO + * set priority is probably not enough because it does not change the thread + * group in scheduler + * Temporary solution is to call the java api to set the thread priority. + * A cool solution would be to port (if possible) the code from the + * android os regarding set_sched groups + */ + set_android_thread_priority(THREAD_PRIORITY_URGENT_AUDIO); + (*jni_env)->CallVoidMethod(jni_env, stream->record, record_method); + + while (!stream->quit_flag) { + pjmedia_frame frame; + pj_status_t status; + int bytesRead; + + if (!stream->running) { + (*jni_env)->CallVoidMethod(jni_env, stream->record, stop_method); + pj_sem_wait(stream->rec_sem); + if (stream->quit_flag) + break; + (*jni_env)->CallVoidMethod(jni_env, stream->record, record_method); + } + + bytesRead = (*jni_env)->CallIntMethod(jni_env, stream->record, + read_method, inputBuffer, + 0, size); + if (bytesRead <= 0 || bytesRead != size) { + PJ_LOG (4, (THIS_FILE, "Record thread : error %d reading data", + bytesRead)); + continue; + } + + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.size = size; + frame.bit_info = 0; + frame.buf = (void *)buf; + frame.timestamp.u64 = stream->rec_timestamp.u64; + + status = (*stream->rec_cb)(stream->user_data, &frame); + + stream->rec_timestamp.u64 += stream->param.samples_per_frame / + stream->param.channel_count; + } + + (*jni_env)->ReleaseByteArrayElements(jni_env, inputBuffer, buf, 0); + (*jni_env)->DeleteLocalRef(jni_env, inputBuffer); + +on_return: + detach_jvm(attached); + PJ_LOG(5, (THIS_FILE, "Recorder thread stopped")); + stream->rec_thread_exited = 1; + + return 0; +} + + +static int AndroidTrackCallback(void *userData) +{ + struct android_aud_stream *stream = (struct android_aud_stream*) userData; + jmethodID write_method=0, play_method=0, stop_method=0, flush_method=0; + int size = stream->play_buf_size; + jbyteArray outputBuffer; + jbyte *buf; + JNIEnv *jni_env = 0; + pj_bool_t attached = attach_jvm(&jni_env); + + if (!stream->track) { + goto on_return; + } + + PJ_LOG(5, (THIS_FILE, "Playback thread started")); + + /* Get methods ids */ + write_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "write", "([BII)I"); + play_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "play", "()V"); + stop_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "stop", "()V"); + flush_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "flush", "()V"); + if (write_method==0 || play_method==0 || stop_method==0 || + flush_method==0) + { + PJ_LOG(3, (THIS_FILE, "Unable to get audio track methods")); + goto on_return; + } + + outputBuffer = (*jni_env)->NewByteArray(jni_env, size); + if (outputBuffer == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to allocate output buffer")); + goto on_return; + } + buf = (*jni_env)->GetByteArrayElements(jni_env, outputBuffer, 0); + + /* Start playing */ + set_android_thread_priority(THREAD_PRIORITY_URGENT_AUDIO); + (*jni_env)->CallVoidMethod(jni_env, stream->track, play_method); + + while (!stream->quit_flag) { + pjmedia_frame frame; + pj_status_t status; + int bytesWritten; + + if (!stream->running) { + (*jni_env)->CallVoidMethod(jni_env, stream->track, stop_method); + (*jni_env)->CallVoidMethod(jni_env, stream->track, flush_method); + pj_sem_wait(stream->play_sem); + if (stream->quit_flag) + break; + (*jni_env)->CallVoidMethod(jni_env, stream->track, play_method); + } + + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.size = size; + frame.buf = (void *)buf; + frame.timestamp.u64 = stream->play_timestamp.u64; + frame.bit_info = 0; + + status = (*stream->play_cb)(stream->user_data, &frame); + if (status != PJ_SUCCESS) + continue; + + if (frame.type != PJMEDIA_FRAME_TYPE_AUDIO) + pj_bzero(frame.buf, frame.size); + + /* Write to the device output. */ + bytesWritten = (*jni_env)->CallIntMethod(jni_env, stream->track, + write_method, outputBuffer, + 0, size); + if (bytesWritten <= 0 || bytesWritten != size) { + PJ_LOG(4, (THIS_FILE, "Player thread: Error %d writing data", + bytesWritten)); + continue; + } + + stream->play_timestamp.u64 += stream->param.samples_per_frame / + stream->param.channel_count; + }; + + (*jni_env)->ReleaseByteArrayElements(jni_env, outputBuffer, buf, 0); + (*jni_env)->DeleteLocalRef(jni_env, outputBuffer); + +on_return: + detach_jvm(attached); + PJ_LOG(5, (THIS_FILE, "Player thread stopped")); + stream->play_thread_exited = 1; + + return 0; +} + +/* + * Init Android audio driver. + */ +pjmedia_aud_dev_factory* pjmedia_android_factory(pj_pool_factory *pf) +{ + struct android_aud_factory *f; + pj_pool_t *pool; + + pool = pj_pool_create(pf, "androidjni", 256, 256, NULL); + f = PJ_POOL_ZALLOC_T(pool, struct android_aud_factory); + f->pf = pf; + f->pool = pool; + f->base.op = &android_op; + + return &f->base; +} + +/* API: Init factory */ +static pj_status_t android_init(pjmedia_aud_dev_factory *f) +{ + PJ_UNUSED_ARG(f); + + PJ_LOG(4, (THIS_FILE, "Android JNI sound library initialized")); + + return PJ_SUCCESS; +} + + +/* API: refresh the list of devices */ +static pj_status_t android_refresh(pjmedia_aud_dev_factory *f) +{ + PJ_UNUSED_ARG(f); + return PJ_SUCCESS; +} + + +/* API: Destroy factory */ +static pj_status_t android_destroy(pjmedia_aud_dev_factory *f) +{ + struct android_aud_factory *pa = (struct android_aud_factory*)f; + pj_pool_t *pool; + + PJ_LOG(4, (THIS_FILE, "Android JNI sound library shutting down..")); + + pool = pa->pool; + pa->pool = NULL; + pj_pool_release(pool); + + return PJ_SUCCESS; +} + +/* API: Get device count. */ +static unsigned android_get_dev_count(pjmedia_aud_dev_factory *f) +{ + PJ_UNUSED_ARG(f); + return 1; +} + +/* API: Get device info. */ +static pj_status_t android_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info) +{ + PJ_UNUSED_ARG(f); + + pj_bzero(info, sizeof(*info)); + + pj_ansi_strcpy(info->name, "Android JNI"); + info->default_samples_per_sec = 8000; + info->caps = PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING; + info->input_count = 1; + info->output_count = 1; + + return PJ_SUCCESS; +} + +/* API: fill in with default parameter. */ +static pj_status_t android_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param) +{ + pjmedia_aud_dev_info adi; + pj_status_t status; + + status = android_get_dev_info(f, index, &adi); + if (status != PJ_SUCCESS) + return status; + + pj_bzero(param, sizeof(*param)); + if (adi.input_count && adi.output_count) { + param->dir = PJMEDIA_DIR_CAPTURE_PLAYBACK; + param->rec_id = index; + param->play_id = index; + } else if (adi.input_count) { + param->dir = PJMEDIA_DIR_CAPTURE; + param->rec_id = index; + param->play_id = PJMEDIA_AUD_INVALID_DEV; + } else if (adi.output_count) { + param->dir = PJMEDIA_DIR_PLAYBACK; + param->play_id = index; + param->rec_id = PJMEDIA_AUD_INVALID_DEV; + } else { + return PJMEDIA_EAUD_INVDEV; + } + + param->clock_rate = adi.default_samples_per_sec; + param->channel_count = 1; + param->samples_per_frame = adi.default_samples_per_sec * 20 / 1000; + param->bits_per_sample = 16; + param->input_latency_ms = PJMEDIA_SND_DEFAULT_REC_LATENCY; + param->output_latency_ms = PJMEDIA_SND_DEFAULT_PLAY_LATENCY; + + return PJ_SUCCESS; +} + +/* API: create stream */ +static pj_status_t android_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm) +{ + struct android_aud_factory *pa = (struct android_aud_factory*)f; + pj_pool_t *pool; + struct android_aud_stream *stream; + pj_status_t status = PJ_SUCCESS; + int state = 0; + int buffSize, inputBuffSizePlay, inputBuffSizeRec; + int channelInCfg, channelOutCfg, sampleFormat; + jmethodID constructor_method=0, bufsize_method = 0; + jmethodID method_id = 0; + jclass jcl; + JNIEnv *jni_env = 0; + pj_bool_t attached; + + PJ_ASSERT_RETURN(param->channel_count >= 1 && param->channel_count <= 2, + PJ_EINVAL); + PJ_ASSERT_RETURN(param->bits_per_sample==8 || param->bits_per_sample==16, + PJ_EINVAL); + PJ_ASSERT_RETURN(play_cb && rec_cb && p_aud_strm, PJ_EINVAL); + + pool = pj_pool_create(pa->pf, "jnistrm", 1024, 1024, NULL); + if (!pool) + return PJ_ENOMEM; + + PJ_LOG(4, (THIS_FILE, "Creating Android JNI stream")); + + stream = PJ_POOL_ZALLOC_T(pool, struct android_aud_stream); + stream->pool = pool; + pj_strdup2_with_null(pool, &stream->name, "JNI stream"); + stream->dir = PJMEDIA_DIR_CAPTURE_PLAYBACK; + pj_memcpy(&stream->param, param, sizeof(*param)); + stream->user_data = user_data; + stream->rec_cb = rec_cb; + stream->play_cb = play_cb; + buffSize = stream->param.samples_per_frame*stream->param.bits_per_sample/8; + stream->rec_buf_size = stream->play_buf_size = buffSize; + channelInCfg = (param->channel_count == 1)? 16 /*CHANNEL_IN_MONO*/: + 12 /*CHANNEL_IN_STEREO*/; + channelOutCfg = (param->channel_count == 1)? 4 /*CHANNEL_OUT_MONO*/: + 12 /*CHANNEL_OUT_STEREO*/; + sampleFormat = (param->bits_per_sample == 8)? 3 /*ENCODING_PCM_8BIT*/: + 2 /*ENCODING_PCM_16BIT*/; + + attached = attach_jvm(&jni_env); + + if (stream->dir & PJMEDIA_DIR_CAPTURE) { + /* Find audio record class and create global ref */ + jcl = (*jni_env)->FindClass(jni_env, "android/media/AudioRecord"); + if (jcl == NULL) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio record class")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + stream->record_class = (jclass)(*jni_env)->NewGlobalRef(jni_env, jcl); + (*jni_env)->DeleteLocalRef(jni_env, jcl); + if (stream->record_class == 0) { + status = PJ_ENOMEM; + goto on_error; + } + + /* Get the min buffer size function */ + bufsize_method = (*jni_env)->GetStaticMethodID(jni_env, + stream->record_class, + "getMinBufferSize", + "(III)I"); + if (bufsize_method == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio record " + "getMinBufferSize() method")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + + inputBuffSizeRec = (*jni_env)->CallStaticIntMethod(jni_env, + stream->record_class, + bufsize_method, + param->clock_rate, + channelInCfg, + sampleFormat); + if (inputBuffSizeRec <= 0) { + PJ_LOG(3, (THIS_FILE, "Unsupported audio record params")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + } + + if (stream->dir & PJMEDIA_DIR_PLAYBACK) { + /* Find audio track class and create global ref */ + jcl = (*jni_env)->FindClass(jni_env, "android/media/AudioTrack"); + if (jcl == NULL) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio track class")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + stream->track_class = (jclass)(*jni_env)->NewGlobalRef(jni_env, jcl); + (*jni_env)->DeleteLocalRef(jni_env, jcl); + if (stream->track_class == 0) { + status = PJ_ENOMEM; + goto on_error; + } + + /* Get the min buffer size function */ + bufsize_method = (*jni_env)->GetStaticMethodID(jni_env, + stream->track_class, + "getMinBufferSize", + "(III)I"); + if (bufsize_method == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio track " + "getMinBufferSize() method")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + + inputBuffSizePlay = (*jni_env)->CallStaticIntMethod(jni_env, + stream->track_class, + bufsize_method, + param->clock_rate, + channelOutCfg, + sampleFormat); + if (inputBuffSizePlay <= 0) { + PJ_LOG(3, (THIS_FILE, "Unsupported audio track params")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + } + + if (stream->dir & PJMEDIA_DIR_CAPTURE) { + jthrowable exc; + int mic_source = 0; /* DEFAULT: default audio source */ + + /* Get pointer to the constructor */ + constructor_method = (*jni_env)->GetMethodID(jni_env, + stream->record_class, + "<init>", "(IIIII)V"); + if (constructor_method == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio record's constructor")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + + if (mic_source == 0) { + char sdk_version[PROP_VALUE_MAX]; + pj_str_t pj_sdk_version; + int sdk_v; + + __system_property_get("ro.build.version.sdk", sdk_version); + pj_sdk_version = pj_str(sdk_version); + sdk_v = pj_strtoul(&pj_sdk_version); + if (sdk_v > 10) + mic_source = 7; /* VOICE_COMMUNICATION */ + } + PJ_LOG(4, (THIS_FILE, "Using audio input source : %d", mic_source)); + + do { + stream->record = (*jni_env)->NewObject(jni_env, + stream->record_class, + constructor_method, + mic_source, + param->clock_rate, + channelInCfg, + sampleFormat, + inputBuffSizeRec); + if (stream->record == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to create audio record object")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + exc = (*jni_env)->ExceptionOccurred(jni_env); + if (exc) { + (*jni_env)->ExceptionDescribe(jni_env); + (*jni_env)->ExceptionClear(jni_env); + PJ_LOG(3, (THIS_FILE, "Failure in audio record's constructor")); + if (mic_source == 0) { + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + mic_source = 0; + PJ_LOG(4, (THIS_FILE, "Trying the default audio source.")); + continue; + } + + /* Check state */ + method_id = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "getState", "()I"); + if (method_id == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio record getState() " + "method")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + state = (*jni_env)->CallIntMethod(jni_env, stream->record, + method_id); + if (state == 0) { /* STATE_UNINITIALIZED */ + PJ_LOG(3, (THIS_FILE, "Failure in initializing audio record.")); + if (mic_source == 0) { + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + mic_source = 0; + PJ_LOG(4, (THIS_FILE, "Trying the default audio source.")); + } + } while (state == 0); + + stream->record = (*jni_env)->NewGlobalRef(jni_env, stream->record); + if (stream->record == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to create audio record global ref.")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + status = pj_sem_create(stream->pool, NULL, 0, 1, &stream->rec_sem); + if (status != PJ_SUCCESS) + goto on_error; + + status = pj_thread_create(stream->pool, "android_recorder", + AndroidRecorderCallback, stream, 0, 0, + &stream->rec_thread); + if (status != PJ_SUCCESS) + goto on_error; + + PJ_LOG(4, (THIS_FILE, "Audio record initialized successfully.")); + } + + if (stream->dir & PJMEDIA_DIR_PLAYBACK) { + jthrowable exc; + + /* Get pointer to the constructor */ + constructor_method = (*jni_env)->GetMethodID(jni_env, + stream->track_class, + "<init>", "(IIIIII)V"); + if (constructor_method == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio track's constructor.")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + + stream->track = (*jni_env)->NewObject(jni_env, + stream->track_class, + constructor_method, + 0, /* STREAM_VOICE_CALL */ + param->clock_rate, + channelOutCfg, + sampleFormat, + inputBuffSizePlay, + 1 /* MODE_STREAM */); + if (stream->track == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to create audio track object.")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + exc = (*jni_env)->ExceptionOccurred(jni_env); + if (exc) { + (*jni_env)->ExceptionDescribe(jni_env); + (*jni_env)->ExceptionClear(jni_env); + PJ_LOG(3, (THIS_FILE, "Failure in audio track's constructor")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + stream->track = (*jni_env)->NewGlobalRef(jni_env, stream->track); + if (stream->track == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to create audio track's global ref")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + /* Check state */ + method_id = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "getState", "()I"); + if (method_id == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio track getState() " + "method")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + state = (*jni_env)->CallIntMethod(jni_env, stream->track, + method_id); + if (state == 0) { /* STATE_UNINITIALIZED */ + PJ_LOG(3, (THIS_FILE, "Failure in initializing audio track.")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + status = pj_sem_create(stream->pool, NULL, 0, 1, &stream->play_sem); + if (status != PJ_SUCCESS) + goto on_error; + + status = pj_thread_create(stream->pool, "android_track", + AndroidTrackCallback, stream, 0, 0, + &stream->play_thread); + if (status != PJ_SUCCESS) + goto on_error; + + PJ_LOG(4, (THIS_FILE, "Audio track initialized successfully.")); + } + + if (param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING) { + strm_set_cap(&stream->base, PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + ¶m->output_vol); + } + + /* Done */ + stream->base.op = &android_strm_op; + *p_aud_strm = &stream->base; + + detach_jvm(attached); + + return PJ_SUCCESS; + +on_error: + detach_jvm(attached); + strm_destroy(&stream->base); + return status; +} + +/* API: Get stream parameters */ +static pj_status_t strm_get_param(pjmedia_aud_stream *s, + pjmedia_aud_param *pi) +{ + struct android_aud_stream *strm = (struct android_aud_stream*)s; + PJ_ASSERT_RETURN(strm && pi, PJ_EINVAL); + pj_memcpy(pi, &strm->param, sizeof(*pi)); + + if (strm_get_cap(s, PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + &pi->output_vol) == PJ_SUCCESS) + { + pi->flags |= PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING; + } + + return PJ_SUCCESS; +} + +/* API: get capability */ +static pj_status_t strm_get_cap(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + void *pval) +{ + struct android_aud_stream *strm = (struct android_aud_stream*)s; + pj_status_t status = PJMEDIA_EAUD_INVCAP; + + PJ_ASSERT_RETURN(s && pval, PJ_EINVAL); + + if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING && + (strm->param.dir & PJMEDIA_DIR_PLAYBACK)) + { + } + + return status; +} + +/* API: set capability */ +static pj_status_t strm_set_cap(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + const void *value) +{ + struct android_aud_stream *stream = (struct android_aud_stream*)s; + JNIEnv *jni_env = 0; + pj_bool_t attached; + + PJ_ASSERT_RETURN(s && value, PJ_EINVAL); + + if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING && + (stream->param.dir & PJMEDIA_DIR_PLAYBACK)) + { + if (stream->track) { + jmethodID vol_method = 0; + int retval; + float vol = *(int *)value; + + attached = attach_jvm(&jni_env); + + vol_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "setStereoVolume", "(FF)I"); + if (vol_method) { + retval = (*jni_env)->CallIntMethod(jni_env, stream->track, + vol_method, + vol/100, vol/100); + } + + detach_jvm(attached); + + if (vol_method && retval == 0) + return PJ_SUCCESS; + } + } + + return PJMEDIA_EAUD_INVCAP; +} + +/* API: start stream. */ +static pj_status_t strm_start(pjmedia_aud_stream *s) +{ + struct android_aud_stream *stream = (struct android_aud_stream*)s; + + if (!stream->running) { + stream->running = PJ_TRUE; + if (stream->record) + pj_sem_post(stream->rec_sem); + if (stream->track) + pj_sem_post(stream->play_sem); + } + + PJ_LOG(4, (THIS_FILE, "Android JNI stream started")); + + return PJ_SUCCESS; +} + +/* API: stop stream. */ +static pj_status_t strm_stop(pjmedia_aud_stream *s) +{ + struct android_aud_stream *stream = (struct android_aud_stream*)s; + + if (!stream->running) + return PJ_SUCCESS; + + stream->running = PJ_FALSE; + PJ_LOG(4,(THIS_FILE, "Android JNI stream stopped")); + + return PJ_SUCCESS; +} + +/* API: destroy stream. */ +static pj_status_t strm_destroy(pjmedia_aud_stream *s) +{ + struct android_aud_stream *stream = (struct android_aud_stream*)s; + JNIEnv *jni_env = 0; + jmethodID release_method=0; + pj_bool_t attached; + + PJ_LOG(4,(THIS_FILE, "Destroying Android JNI stream...")); + + stream->quit_flag = PJ_TRUE; + + /* Stop the stream */ + strm_stop(s); + + attached = attach_jvm(&jni_env); + + if (stream->record){ + if (stream->rec_thread) { + pj_sem_post(stream->rec_sem); + pj_thread_join(stream->rec_thread); + pj_thread_destroy(stream->rec_thread); + stream->rec_thread = NULL; + } + + if (stream->rec_sem) { + pj_sem_destroy(stream->rec_sem); + stream->rec_sem = NULL; + } + + release_method = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "release", "()V"); + (*jni_env)->CallVoidMethod(jni_env, stream->record, release_method); + + (*jni_env)->DeleteGlobalRef(jni_env, stream->record); + (*jni_env)->DeleteGlobalRef(jni_env, stream->record_class); + stream->record = NULL; + stream->record_class = NULL; + PJ_LOG(4, (THIS_FILE, "Audio record released")); + } + + if (stream->track) { + if (stream->play_thread) { + pj_sem_post(stream->play_sem); + pj_thread_join(stream->play_thread); + pj_thread_destroy(stream->play_thread); + stream->play_thread = NULL; + } + + if (stream->play_sem) { + pj_sem_destroy(stream->play_sem); + stream->play_sem = NULL; + } + + release_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "release", "()V"); + (*jni_env)->CallVoidMethod(jni_env, stream->track, release_method); + + (*jni_env)->DeleteGlobalRef(jni_env, stream->track); + (*jni_env)->DeleteGlobalRef(jni_env, stream->track_class); + stream->track = NULL; + stream->track_class = NULL; + PJ_LOG(3, (THIS_FILE, "Audio track released")); + } + + pj_pool_release(stream->pool); + PJ_LOG(4, (THIS_FILE, "Android JNI stream destroyed")); + + detach_jvm(attached); + return PJ_SUCCESS; +} + +#endif /* PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI */ diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/audiodev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/audiodev.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/audiodev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/audiodev.c index 9a70ab0ab2d40f44d56608e73b6e1942a28ae79e..c5cad7eb8cc086d7ec94672eceff6088787571b7 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/audiodev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/audiodev.c @@ -1,4 +1,4 @@ -/* $Id: audiodev.c 4150 2012-06-01 04:29:56Z ming $ */ +/* $Id: audiodev.c 4435 2013-03-11 06:32:58Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -78,6 +78,14 @@ pjmedia_aud_dev_factory* pjmedia_coreaudio_factory(pj_pool_factory *pf); pjmedia_aud_dev_factory* pjmedia_alsa_factory(pj_pool_factory *pf); #endif +#if PJMEDIA_AUDIO_DEV_HAS_OPENSL +pjmedia_aud_dev_factory* pjmedia_opensl_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI +pjmedia_aud_dev_factory* pjmedia_android_factory(pj_pool_factory *pf); +#endif + #if PJMEDIA_AUDIO_DEV_HAS_BB10 pjmedia_aud_dev_factory* pjmedia_bb10_factory(pj_pool_factory *pf); #endif @@ -86,6 +94,10 @@ pjmedia_aud_dev_factory* pjmedia_bb10_factory(pj_pool_factory *pf); pjmedia_aud_dev_factory* pjmedia_wmme_factory(pj_pool_factory *pf); #endif +#if PJMEDIA_AUDIO_DEV_HAS_BDIMAD +pjmedia_aud_dev_factory* pjmedia_bdimad_factory(pj_pool_factory *pf); +#endif + #if PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS pjmedia_aud_dev_factory* pjmedia_symb_vas_factory(pj_pool_factory *pf); #endif @@ -391,6 +403,12 @@ PJ_DEF(pj_status_t) pjmedia_aud_subsys_init(pj_pool_factory *pf) aud_subsys.dev_cnt = 0; /* Register creation functions */ +#if PJMEDIA_AUDIO_DEV_HAS_OPENSL + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_opensl_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_android_factory; +#endif #if PJMEDIA_AUDIO_DEV_HAS_BB10 aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_bb10_factory; #endif @@ -406,6 +424,9 @@ PJ_DEF(pj_status_t) pjmedia_aud_subsys_init(pj_pool_factory *pf) #if PJMEDIA_AUDIO_DEV_HAS_WMME aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_wmme_factory; #endif +#if PJMEDIA_AUDIO_DEV_HAS_BDIMAD + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_bdimad_factory; +#endif #if PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_symb_vas_factory; #endif diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/audiotest.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/audiotest.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/audiotest.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/audiotest.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/bb10_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/bb10_dev.c similarity index 85% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/bb10_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/bb10_dev.c index f920080c39bbc91332b7955439f826de116dceac..7c371e0c8fda1e8763262af94bb4596e8e5f0c50 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/bb10_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/bb10_dev.c @@ -1,4 +1,4 @@ -/* $Id: bb10_dev.c 4340 2013-02-05 05:15:01Z bennylp $ */ +/* $Id: bb10_dev.c 4782 2014-03-06 05:15:19Z bennylp $ */ /* * Copyright (C) 2008-2012 Teluu Inc. (http://www.teluu.com) * @@ -52,9 +52,7 @@ #define THIS_FILE "bb10_dev.c" #define BB10_DEVICE_NAME "plughw:%d,%d" -/* Double these for 16khz sampling */ -#define PREFERRED_FRAME_SIZE 320 -#define VOIP_SAMPLE_RATE 8000 + /* Set to 1 to enable tracing */ #if 1 @@ -330,7 +328,8 @@ static pj_status_t bb10_factory_get_dev_info(pjmedia_aud_dev_factory *f, pj_memcpy(info, &af->devs[index], sizeof(*info)); info->caps = PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY | - PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY; + PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY | + PJMEDIA_AUD_DEV_CAP_EC; return PJ_SUCCESS; } @@ -432,26 +431,29 @@ static void flush_capture(struct bb10_stream *stream) static int pb_thread_func (void *arg) { struct bb10_stream* stream = (struct bb10_stream *) arg; - /* Handle from bb10_open_playback */ - /* Will be 640 */ int size = stream->pb_buf_size; - /* 160 frames for 20ms */ unsigned long nframes = stream->pb_frames; void *user_data = stream->user_data; char *buf = stream->pb_buf; pj_timestamp tstamp; int result = 0; + int policy; + struct sched_param param; + + TRACE_((THIS_FILE, "pb_thread_func: size = %d ", size)); + + if (pthread_getschedparam(pthread_self(), &policy, ¶m) == 0) { + param.sched_priority = 18; + pthread_setschedparam (pthread_self(), policy, ¶m); + } pj_bzero (buf, size); tstamp.u64 = 0; - TRACE_((THIS_FILE, "pb_thread_func: size = %d ", size)); - /* Do the final initialization now the thread has started. */ if ((result = snd_pcm_plugin_prepare(stream->pb_pcm, SND_PCM_CHANNEL_PLAYBACK)) < 0) { - close_play_pcm(stream); TRACE_((THIS_FILE, "pb_thread_func failed prepare = %d", result)); return PJ_SUCCESS; } @@ -497,7 +499,8 @@ static int pb_thread_func (void *arg) status.status)); if (status.status == SND_PCM_STATUS_READY || status.status == SND_PCM_STATUS_UNDERRUN || - status.status == SND_PCM_STATUS_ERROR ) + status.status == SND_PCM_STATUS_ERROR || + status.status == SND_PCM_STATUS_CHANGE) { if (snd_pcm_plugin_prepare (stream->pb_pcm, SND_PCM_CHANNEL_PLAYBACK) < 0) @@ -512,7 +515,6 @@ static int pb_thread_func (void *arg) } flush_play(stream); - close_play_pcm(stream); TRACE_((THIS_FILE, "pb_thread_func: Stopped")); return PJ_SUCCESS; @@ -530,23 +532,14 @@ static int ca_thread_func (void *arg) char *buf = stream->ca_buf; pj_timestamp tstamp; int result; + int policy; struct sched_param param; - pthread_t *thid; TRACE_((THIS_FILE, "ca_thread_func: size = %d ", size)); - thid = (pthread_t*) pj_thread_get_os_handle (pj_thread_this()); - param.sched_priority = sched_get_priority_max (SCHED_RR); - - result = pthread_setschedparam (*thid, SCHED_RR, ¶m); - if (result) { - if (result == EPERM) { - PJ_LOG (4,(THIS_FILE, "Unable to increase thread priority, " - "root access needed.")); - } else { - PJ_LOG (4,(THIS_FILE, "Unable to increase thread priority, " - "error: %d", result)); - } + if (pthread_getschedparam(pthread_self(), &policy, ¶m) == 0) { + param.sched_priority = 18; + pthread_setschedparam (pthread_self(), policy, ¶m); } pj_bzero (buf, size); @@ -556,7 +549,6 @@ static int ca_thread_func (void *arg) if ((result = snd_pcm_plugin_prepare (stream->ca_pcm, SND_PCM_CHANNEL_CAPTURE)) < 0) { - close_capture_pcm(stream); TRACE_((THIS_FILE, "ca_thread_func failed prepare = %d", result)); return PJ_SUCCESS; } @@ -564,7 +556,7 @@ static int ca_thread_func (void *arg) while (!stream->quit) { pjmedia_frame frame; - pj_bzero (buf, size); + //pj_bzero (buf, size); /* read the input device */ result = snd_pcm_plugin_read(stream->ca_pcm, buf,size); @@ -592,7 +584,8 @@ static int ca_thread_func (void *arg) * after */ if (status.status == SND_PCM_STATUS_READY || status.status == SND_PCM_STATUS_OVERRUN || - status.status == SND_PCM_STATUS_ERROR) + status.status == SND_PCM_STATUS_ERROR || + status.status == SND_PCM_STATUS_CHANGE) { if (snd_pcm_plugin_prepare (stream->ca_pcm, SND_PCM_CHANNEL_CAPTURE) < 0) @@ -622,7 +615,6 @@ static int ca_thread_func (void *arg) } flush_capture(stream); - close_capture_pcm(stream); TRACE_((THIS_FILE, "ca_thread_func: Stopped")); return PJ_SUCCESS; @@ -639,7 +631,7 @@ static pj_status_t bb10_initialize_playback_ctrl(struct bb10_stream *stream, if (stream->pb_ctrl_audio_manager_handle == 0) { /* lazy init an audio manager handle */ - ret = audio_manager_get_handle(AUDIO_TYPE_VIDEO_CHAT, 0, false, + ret = audio_manager_get_handle(AUDIO_TYPE_VOICE, 0, false, &stream->pb_ctrl_audio_manager_handle); if (ret != 0) { TRACE_((THIS_FILE, "audio_manager_get_handle ret = %d",ret)); @@ -657,28 +649,42 @@ static pj_status_t bb10_initialize_playback_ctrl(struct bb10_stream *stream, } else { ret = audio_manager_set_handle_type( stream->pb_ctrl_audio_manager_handle, - AUDIO_TYPE_VIDEO_CHAT, - AUDIO_DEVICE_HANDSET, + AUDIO_TYPE_VOICE, + AUDIO_DEVICE_DEFAULT, AUDIO_DEVICE_DEFAULT); } + /* Make the routing selection stick even when earpeace is plugged in. + * But this doesn't seem to work (tested on Q10 10.2.10 + */ if (ret == 0) { - /* RIM recommend this call */ ret = audio_manager_set_handle_routing_conditions( stream->pb_ctrl_audio_manager_handle, - SETTINGS_RESET_ON_DEVICE_CONNECTION); - if (ret != 0) { - TRACE_((THIS_FILE, - "audio_manager_set_handle_routing_conditions ret = %d", - ret)); - return PJMEDIA_EAUD_SYSERR; - } - } else { - TRACE_((THIS_FILE, "audio_manager_set_handle_type ret = %d", ret)); - return PJMEDIA_EAUD_SYSERR; + SETTINGS_NEVER_RESET); } - return PJ_SUCCESS; + if (ret != 0) { + TRACE_((THIS_FILE, "audio_manager_set_handle_type error ret = %d",ret)); + return PJMEDIA_EAUD_SYSERR; + }else{ + return PJ_SUCCESS; + } +} + +static int32_t get_alsa_pcm_fmt(const pjmedia_aud_param *param) +{ + switch (param->bits_per_sample) { + case 8: + return SND_PCM_SFMT_S8; + case 16: + return SND_PCM_SFMT_S16_LE; + case 24: + return SND_PCM_SFMT_S24_LE; + case 32: + return SND_PCM_SFMT_S32_LE; + default: + PJ_ASSERT_RETURN(!"Unsupported bits_per_frame", SND_PCM_SFMT_S16_LE); + } } static pj_status_t bb10_open_playback (struct bb10_stream *stream, @@ -696,6 +702,8 @@ static pj_status_t bb10_open_playback (struct bb10_stream *stream, return PJMEDIA_EAUD_INVDEV; } + PJ_ASSERT_RETURN(param->bits_per_sample == 16, PJMEDIA_EAUD_SAMPFORMAT); + /* Use the bb10 audio manager API to open as opposed to QNX core audio * Echo cancellation built in */ @@ -710,22 +718,11 @@ static pj_status_t bb10_open_playback (struct bb10_stream *stream, } /* Required call from January 2013 gold OS release */ - if ((ret = snd_pcm_plugin_set_disable(stream->pb_pcm, - PLUGIN_DISABLE_MMAP)) < 0) - { - TRACE_((THIS_FILE, "snd_pcm_plugin_set_disable ret = %d", ret)); - return PJMEDIA_EAUD_SYSERR; - } + snd_pcm_plugin_set_disable(stream->pb_pcm, PLUGIN_DISABLE_MMAP); /* Required call from January 2013 gold OS release */ - if ((ret = snd_pcm_plugin_set_enable(stream->pb_pcm, - PLUGIN_ROUTING)) < 0) - { - TRACE_((THIS_FILE, "snd_pcm_plugin_set_enable ret = %d", ret)); - return PJMEDIA_EAUD_SYSERR; - } + snd_pcm_plugin_set_enable(stream->pb_pcm, PLUGIN_ROUTING); - /* TODO PJ_ZERO */ memset (&pi, 0, sizeof (pi)); pi.channel = SND_PCM_CHANNEL_PLAYBACK; if ((ret = snd_pcm_plugin_info (stream->pb_pcm, &pi)) < 0) { @@ -738,20 +735,16 @@ static pj_status_t bb10_open_playback (struct bb10_stream *stream, /* Request VoIP compatible capabilities */ pp.mode = SND_PCM_MODE_BLOCK; pp.channel = SND_PCM_CHANNEL_PLAYBACK; - pp.start_mode = SND_PCM_START_DATA; + pp.start_mode = SND_PCM_START_FULL; pp.stop_mode = SND_PCM_STOP_ROLLOVER; - /* HARD CODE for the time being PJMEDIA expects 640 for 16khz */ - pp.buf.block.frag_size = PREFERRED_FRAME_SIZE*2; - /* RIM recommends maximum of 3 */ - pp.buf.block.frags_max = 3; + pp.buf.block.frag_size = param->samples_per_frame * param->bits_per_sample / 8; + /* RIM recommends maximum of 5 */ + pp.buf.block.frags_max = 5; pp.buf.block.frags_min = 1; pp.format.interleave = 1; - /* HARD CODE for the time being PJMEDIA expects 16khz */ - PJ_TODO(REMOVE_SAMPLE_RATE_HARD_CODE); - pj_assert(param->clock_rate == VOIP_SAMPLE_RATE * 2); - pp.format.rate = VOIP_SAMPLE_RATE*2; - pp.format.voices = 1; - pp.format.format = SND_PCM_SFMT_S16_LE; + pp.format.rate = param->clock_rate; + pp.format.voices = param->channel_count; + pp.format.format = get_alsa_pcm_fmt(param); /* Make the calls as per the wave sample */ if ((ret = snd_pcm_plugin_params (stream->pb_pcm, &pp)) < 0) { @@ -776,22 +769,22 @@ static pj_status_t bb10_open_playback (struct bb10_stream *stream, rate = param->clock_rate; /* Set the sound device buffer size and latency */ if (param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY) { - tmp_buf_size = (rate / 1000) * param->output_latency_ms; + tmp_buf_size = rate * param->output_latency_ms / 1000; } else { - tmp_buf_size = (rate / 1000) * PJMEDIA_SND_DEFAULT_PLAY_LATENCY; + tmp_buf_size = rate * PJMEDIA_SND_DEFAULT_PLAY_LATENCY / 1000; } /* Set period size to samples_per_frame frames. */ - stream->pb_frames = param->samples_per_frame; - stream->param.output_latency_ms = tmp_buf_size / (rate / 1000); + stream->pb_frames = param->samples_per_frame / param->channel_count; + stream->param.output_latency_ms = tmp_buf_size * 1000 / rate; /* Set our buffer */ stream->pb_buf_size = stream->pb_frames * param->channel_count * - (param->bits_per_sample/8); + param->bits_per_sample / 8; stream->pb_buf = (char *) pj_pool_alloc(stream->pool, stream->pb_buf_size); TRACE_((THIS_FILE, "bb10_open_playback: pb_frames = %d clock = %d", stream->pb_frames, param->clock_rate)); - + return PJ_SUCCESS; } @@ -810,6 +803,8 @@ static pj_status_t bb10_open_capture (struct bb10_stream *stream, if (param->rec_id < 0 || param->rec_id >= stream->af->dev_cnt) return PJMEDIA_EAUD_INVDEV; + PJ_ASSERT_RETURN(param->bits_per_sample == 16, PJMEDIA_EAUD_SAMPFORMAT); + if ((ret=audio_manager_snd_pcm_open_name(AUDIO_TYPE_VIDEO_CHAT, &stream->ca_pcm, &stream->ca_audio_manager_handle, @@ -820,19 +815,10 @@ static pj_status_t bb10_open_capture (struct bb10_stream *stream, return PJMEDIA_EAUD_SYSERR; } /* Required call from January 2013 gold OS release */ - if ((ret = snd_pcm_plugin_set_disable (stream->ca_pcm, - PLUGIN_DISABLE_MMAP)) < 0) - { - TRACE_(("snd_pcm_plugin_set_disable failed: %d",ret)); - return PJMEDIA_EAUD_SYSERR; - } + snd_pcm_plugin_set_disable (stream->ca_pcm, PLUGIN_DISABLE_MMAP); + /* Required call from January 2013 gold OS release */ - if ((ret = snd_pcm_plugin_set_enable(stream->ca_pcm, - PLUGIN_ROUTING)) < 0) - { - TRACE_(("snd_pcm_plugin_set_enable failed: %d",ret)); - return PJMEDIA_EAUD_SYSERR; - } + snd_pcm_plugin_set_enable(stream->ca_pcm, PLUGIN_ROUTING); /* sample reads the capabilities of the capture */ memset (&pi, 0, sizeof (pi)); @@ -849,21 +835,17 @@ static pj_status_t bb10_open_capture (struct bb10_stream *stream, /* Blocking read */ pp.mode = SND_PCM_MODE_BLOCK; pp.channel = SND_PCM_CHANNEL_CAPTURE; - pp.start_mode = SND_PCM_START_DATA; + pp.start_mode = SND_PCM_START_FULL; /* Auto-recover from errors */ pp.stop_mode = SND_PCM_STOP_ROLLOVER; - /* HARD CODE for the time being PJMEDIA expects 640 for 16khz */ - pp.buf.block.frag_size = PREFERRED_FRAME_SIZE*2; + pp.buf.block.frag_size = param->samples_per_frame * param->bits_per_sample / 8; /* From January 2013 gold OS release. RIM recommend these for capture */ - pp.buf.block.frags_max = 1; + pp.buf.block.frags_max = 3; pp.buf.block.frags_min = 1; pp.format.interleave = 1; - /* HARD CODE for the time being PJMEDIA expects 16khz */ - PJ_TODO(REMOVE_SAMPLE_RATE_HARD_CODE); - pj_assert(param->clock_rate == VOIP_SAMPLE_RATE * 2); - pp.format.rate = VOIP_SAMPLE_RATE*2; - pp.format.voices = 1; - pp.format.format = SND_PCM_SFMT_S16_LE; + pp.format.rate = param->clock_rate; + pp.format.voices = param->channel_count; + pp.format.format = get_alsa_pcm_fmt(param); /* make the request */ if ((ret = snd_pcm_plugin_params (stream->ca_pcm, &pp)) < 0) { @@ -888,6 +870,7 @@ static pj_status_t bb10_open_capture (struct bb10_stream *stream, } frame_size = setup.buf.block.frag_size; + PJ_UNUSED_ARG(frame_size); /* Warning about unused var */ /* Set clock rate */ rate = param->clock_rate; @@ -896,16 +879,16 @@ static pj_status_t bb10_open_capture (struct bb10_stream *stream, /* Set the sound device buffer size and latency */ if (param->flags & PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY) { - tmp_buf_size = (rate / 1000) * param->input_latency_ms; + tmp_buf_size = rate * param->input_latency_ms / 1000; } else { - tmp_buf_size = (rate / 1000) * PJMEDIA_SND_DEFAULT_REC_LATENCY; + tmp_buf_size = rate * PJMEDIA_SND_DEFAULT_REC_LATENCY / 1000; } - stream->param.input_latency_ms = tmp_buf_size / (rate / 1000); + stream->param.input_latency_ms = tmp_buf_size * 1000 / rate; /* Set our buffer */ stream->ca_buf_size = stream->ca_frames * param->channel_count * - (param->bits_per_sample/8); + param->bits_per_sample / 8; stream->ca_buf = (char *)pj_pool_alloc (stream->pool, stream->ca_buf_size); TRACE_((THIS_FILE, "bb10_open_capture: ca_frames = %d clock = %d", @@ -964,13 +947,21 @@ static pj_status_t bb10_factory_create_stream(pjmedia_aud_dev_factory *f, } } - /* Part of the play functionality but the RIM/Truphone loopback sample - * initialializes after the play and capture - * "false" is default/earpiece for output - */ - status = bb10_initialize_playback_ctrl(stream,false); - if (status != PJ_SUCCESS) { - return PJMEDIA_EAUD_SYSERR; + /* Set the audio routing ONLY if app explicitly asks one */ + if ((param->dir & PJMEDIA_DIR_PLAYBACK) && + (param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE)) + { + status = bb10_stream_set_cap(&stream->base, + PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, + ¶m->output_route); + if (status != PJ_SUCCESS) { + TRACE_((THIS_FILE, "Error setting output route")); + bb10_stream_destroy(&stream->base); + return status; + } + } else { + /* Legacy behavior: if none specified, set to speaker */ + status = bb10_initialize_playback_ctrl(stream, false); } *p_strm = &stream->base; @@ -978,7 +969,7 @@ static pj_status_t bb10_factory_create_stream(pjmedia_aud_dev_factory *f, } -/* +/* * API: get running parameter * based on ALSA template */ @@ -997,7 +988,7 @@ static pj_status_t bb10_stream_get_param(pjmedia_aud_stream *s, /* * API: get capability - * based on ALSA template + * based on ALSA template */ static pj_status_t bb10_stream_get_cap(pjmedia_aud_stream *s, pjmedia_aud_dev_cap cap, @@ -1021,6 +1012,12 @@ static pj_status_t bb10_stream_get_cap(pjmedia_aud_stream *s, *(unsigned*)pval = stream->param.output_latency_ms; return PJ_SUCCESS; + } else if (cap==PJMEDIA_AUD_DEV_CAP_EC && + (stream->param.dir & PJMEDIA_DIR_CAPTURE)) + { + /* EC is enablied implicitly by opening "voice" device */ + *(pj_bool_t*)pval = PJ_TRUE; + return PJ_SUCCESS; } else { return PJMEDIA_EAUD_INVCAP; } @@ -1035,29 +1032,66 @@ static pj_status_t bb10_stream_set_cap(pjmedia_aud_stream *strm, pjmedia_aud_dev_cap cap, const void *value) { - pj_status_t ret = PJ_SUCCESS; + struct bb10_stream *stream = (struct bb10_stream*)strm; - if (cap != PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE || value == NULL) { - TRACE_((THIS_FILE,"bb10_stream_set_cap() = PJMEDIA_EAUD_INVCAP")); - return PJMEDIA_EAUD_INVCAP; + if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE && + (stream->param.dir & PJMEDIA_DIR_PLAYBACK)) + { + pjmedia_aud_dev_route route; + pj_bool_t need_restart; + pj_status_t ret; + + PJ_ASSERT_RETURN(value, PJ_EINVAL); + + /* OS 10.2.1 requires pausing audio stream */ + /* No longer necessary! + * See https://trac.pjsip.org/repos/ticket/1743 + */ + need_restart = PJ_FALSE; + /* + need_restart = (stream->pb_thread != NULL); + if (need_restart) { + PJ_LOG(4,(THIS_FILE, "pausing audio stream..")); + ret = bb10_stream_stop(strm); + if (ret != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, ret, "Error pausing stream")); + return ret; + } + } + */ + + route = *((pjmedia_aud_dev_route*)value); + PJ_LOG(4,(THIS_FILE, "setting audio route to %d..", route)); - } else { - pjmedia_aud_dev_route route = *((pjmedia_aud_dev_route*)value); /* Use the initialization function which lazy-inits the * handle for routing */ if (route == PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER) { ret = bb10_initialize_playback_ctrl(stream,true); } else { - ret = bb10_initialize_playback_ctrl(stream,false); + ret = bb10_initialize_playback_ctrl(stream,false); } - } - if (ret != PJ_SUCCESS) { - TRACE_((THIS_FILE,"bb10_stream_set_cap() = %d",ret)); + if (need_restart) { + PJ_LOG(4,(THIS_FILE, "resuming audio stream..")); + ret = bb10_stream_start(strm); + if (ret != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, ret, "Error resuming stream")); + } + } + + return ret; + + } else if (cap==PJMEDIA_AUD_DEV_CAP_EC && + (stream->param.dir & PJMEDIA_DIR_CAPTURE)) + { + /* EC is always enabled. Silently ignore the request */ + return PJ_SUCCESS; } - return ret; + + TRACE_((THIS_FILE,"bb10_stream_set_cap() = PJMEDIA_EAUD_INVCAP")); + return PJMEDIA_EAUD_INVCAP; } @@ -1131,6 +1165,9 @@ static pj_status_t bb10_stream_destroy (pjmedia_aud_stream *s) bb10_stream_stop (s); + close_play_pcm(stream); + close_capture_pcm(stream); + pj_pool_release (stream->pool); return PJ_SUCCESS; diff --git a/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/bdimad_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/bdimad_dev.c new file mode 100644 index 0000000000000000000000000000000000000000..697db2e5fa00b5264ad5e0978d11e36569ffcca9 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/bdimad_dev.c @@ -0,0 +1,1233 @@ +/******************************************************* + + bdimad_dev.c + + Author: bdSound Development Team (techsupport@bdsound.com) + + Date: 30/10/2012 + Version 1.0.206 + + Copyright (c) 2012 bdSound s.r.l. (www.bdsound.com) + All Rights Reserved. + + *******************************************************/ + +#include <pjmedia-audiodev/audiodev_imp.h> +#include <pj/assert.h> +#include <pj/log.h> +#include <pj/os.h> +#include <pj/string.h> +#include <pj/unicode.h> +#include <pjmedia/errno.h> + +#if defined(PJMEDIA_AUDIO_DEV_HAS_BDIMAD) && PJMEDIA_AUDIO_DEV_HAS_BDIMAD != 0 + +#include <math.h> +#include <wchar.h> + +/************************** +* bdIMAD +***************************/ +#include "../../third_party/bdsound/include/bdimad.h" + +/* Maximum supported audio devices */ +#define BD_IMAD_MAX_DEV_COUNT 100 +/* Maximum supported device name */ +#define BD_IMAD_MAX_DEV_LENGTH_NAME 256 +/* Only mono mode */ +#define BD_IMAD_MAX_CHANNELS 1 +/* Frequency default value (admitted 8000 Hz, 16000 Hz, 32000 Hz and 48000Hz) */ +#define BD_IMAD_DEFAULT_FREQ 48000 +/* Default milliseconds per buffer */ +#define BD_IMAD_MSECOND_PER_BUFFER 16 +/* Only for supported systems */ +#define BD_IMAD_STARTING_INPUT_VOLUME 50 +/* Only for supported systems */ +#define BD_IMAD_STARTING_OUTPUT_VOLUME 100 +/* Diagnostic Enable/Disable */ +#define BD_IMAD_DIAGNOSTIC BD_IMAD_DIAGNOSTIC_DISABLE + +/* Diagnostic folder path */ +wchar_t * bdImadPjDiagnosticFolderPath = L""; + +#define THIS_FILE "bdimad_dev.c" + +/* BD device info */ +struct bddev_info +{ + pjmedia_aud_dev_info info; + unsigned deviceId; +}; + +/* BD factory */ +struct bd_factory +{ + pjmedia_aud_dev_factory base; + pj_pool_t *base_pool; + pj_pool_t *pool; + pj_pool_factory *pf; + unsigned dev_count; + struct bddev_info *dev_info; +}; + +/* Sound stream. */ +struct bd_stream +{ + /** Base stream. */ + pjmedia_aud_stream base; + /** Settings. */ + pjmedia_aud_param param; + /** Memory pool. */ + pj_pool_t *pool; + + /** Capture callback. */ + pjmedia_aud_rec_cb rec_cb; + /** Playback callback. */ + pjmedia_aud_play_cb play_cb; + /** Application data. */ + void *user_data; + + /** Frame format */ + pjmedia_format_id fmt_id; + /** Silence pattern */ + pj_uint8_t silence_char; + /** Bytes per frame */ + unsigned bytes_per_frame; + /** Samples per frame */ + unsigned samples_per_frame; + /** Channel count */ + int channel_count; + + /** Extended frame buffer */ + pjmedia_frame_ext *xfrm; + /** Total ext frm size */ + unsigned xfrm_size; + + /** Check running variable */ + int go; + + /** Timestamp iterator for capture */ + pj_timestamp timestampCapture; + /** Timestamp iterator for playback */ + pj_timestamp timestampPlayback; + + /** bdIMAD current session instance */ + bdIMADpj bdIMADpjInstance; + /** bdIMAD current session settings */ + bdIMADpj_Setting_t *bdIMADpjSettingsPtr; + /** bdIMAD current session warnings */ + bdIMADpj_Warnings_t *bdIMADpjWarningPtr; + + pj_bool_t quit_flag; + + pj_bool_t rec_thread_exited; + pj_bool_t rec_thread_initialized; + pj_thread_desc rec_thread_desc; + pj_thread_t *rec_thread; + + pj_bool_t play_thread_exited; + pj_bool_t play_thread_initialized; + pj_thread_desc play_thread_desc; + pj_thread_t *play_thread; + + /* Sometime the record callback does not return framesize as configured + * (e.g: in OSS), while this module must guarantee returning framesize + * as configured in the creation settings. In this case, we need a buffer + * for the recorded samples. + */ + pj_int16_t *rec_buf; + unsigned rec_buf_count; + + /* Sometime the player callback does not request framesize as configured + * (e.g: in Linux OSS) while sound device will always get samples from + * the other component as many as configured samples_per_frame. + */ + pj_int16_t *play_buf; + unsigned play_buf_count; +}; + +/* Prototypes */ + +// pjmedia_aud_dev_factory_op +static pj_status_t factory_init(pjmedia_aud_dev_factory *f); +static pj_status_t factory_destroy(pjmedia_aud_dev_factory *f); +static unsigned factory_get_dev_count(pjmedia_aud_dev_factory *f); +static pj_status_t factory_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info); +static pj_status_t factory_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param); +static pj_status_t factory_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm); +static pj_status_t factory_refresh(pjmedia_aud_dev_factory *f); + +// pjmedia_aud_stream_op +static pj_status_t stream_get_param(pjmedia_aud_stream *strm, + pjmedia_aud_param *param); +static pj_status_t stream_get_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + void *value); +static pj_status_t stream_set_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + const void *value); +static pj_status_t stream_start(pjmedia_aud_stream *strm); +static pj_status_t stream_stop(pjmedia_aud_stream *strm); +static pj_status_t stream_destroy(pjmedia_aud_stream *strm); + +/* End Prototypes */ + +/* Operations */ +static pjmedia_aud_dev_factory_op factory_op = +{ + &factory_init, + &factory_destroy, + &factory_get_dev_count, + &factory_get_dev_info, + &factory_default_param, + &factory_create_stream, + &factory_refresh +}; + +static pjmedia_aud_stream_op stream_op = +{ + &stream_get_param, + &stream_get_cap, + &stream_set_cap, + &stream_start, + &stream_stop, + &stream_destroy +}; + +/* End Operations */ + +/* Utility functions */ + +char* BD_IMAD_PJ_WCHARtoCHAR(wchar_t *orig) +{ + size_t origsize = wcslen(orig)+1; + const size_t newsize = origsize*sizeof(wchar_t); + char *nstring = (char*)calloc(newsize, sizeof(char)); + wcstombs(nstring, orig, newsize); + return nstring; +} + +#ifdef __cplusplus +extern "C" { +#endif +void manage_code(const unsigned char * pCode, unsigned char *pMsg1, + unsigned char * pMsg2); +#ifdef __cplusplus +} +#endif + +/* End Utility functions */ + +/**************************************************************************** +* Factory operations +*/ + +/* Init BDIMAD audio driver */ +pjmedia_aud_dev_factory* pjmedia_bdimad_factory(pj_pool_factory *pf) +{ + struct bd_factory *f; + pj_pool_t *pool; + + pool = pj_pool_create(pf, "BDIMAD_DRIVER", 1000, 1000, NULL); + f = PJ_POOL_ZALLOC_T(pool, struct bd_factory); + f->pf = pf; + f->base_pool = pool; + f->base.op = &factory_op; + f->pool = NULL; + f->dev_count = 0; + f->dev_info = NULL; + + return &f->base; +} + +/* API: init factory */ +static pj_status_t factory_init(pjmedia_aud_dev_factory *f) +{ + pj_status_t ret = factory_refresh(f); + if (ret != PJ_SUCCESS) return ret; + + PJ_LOG(4, (THIS_FILE, "BDIMAD initialized")); + + return PJ_SUCCESS; +} + +/* API: refresh the device list */ +static pj_status_t factory_refresh(pjmedia_aud_dev_factory *f) +{ + struct bd_factory *wf = (struct bd_factory*)f; + unsigned int i = 0; + wchar_t *deviceNamep=NULL; + wchar_t captureDevName[BD_IMAD_MAX_DEV_COUNT][BD_IMAD_MAX_DEV_LENGTH_NAME]; + unsigned int captureDeviceCount = 0; + wchar_t playbackDevName[BD_IMAD_MAX_DEV_COUNT][BD_IMAD_MAX_DEV_LENGTH_NAME]; + unsigned int playbackDeviceCount = 0; + + + if(wf->pool != NULL) { + pj_pool_release(wf->pool); + wf->pool = NULL; + } + + // Enumerate capture sound devices + while(bdIMADpj_getDeviceName(BD_IMAD_CAPTURE_DEVICES, &deviceNamep) != + BD_PJ_ERROR_IMAD_DEVICE_LIST_EMPTY) + { + wcscpy(captureDevName[captureDeviceCount], deviceNamep); + captureDeviceCount++; + } + + // Enumerate playback sound devices + while(bdIMADpj_getDeviceName(BD_IMAD_PLAYBACK_DEVICES, &deviceNamep) != + BD_PJ_ERROR_IMAD_DEVICE_LIST_EMPTY) + { + wcscpy(playbackDevName[playbackDeviceCount], deviceNamep); + playbackDeviceCount++; + } + + // Set devices info + wf->dev_count = captureDeviceCount + playbackDeviceCount; + wf->pool = pj_pool_create(wf->pf, "BD_IMAD_DEVICES", 1000, 1000, NULL); + wf->dev_info = (struct bddev_info*)pj_pool_calloc(wf->pool, wf->dev_count, + sizeof(struct bddev_info)); + + // Capture device properties + for(i=0;i<captureDeviceCount;i++) { + wf->dev_info[i].deviceId = i; + wf->dev_info[i].info.caps = PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING | + PJMEDIA_AUD_DEV_CAP_EC; + wf->dev_info[i].info.default_samples_per_sec = BD_IMAD_DEFAULT_FREQ; + strcpy(wf->dev_info[i].info.driver, "BD_IMAD"); + wf->dev_info[i].info.ext_fmt_cnt = 0; + wf->dev_info[i].info.input_count = BD_IMAD_MAX_CHANNELS; + wf->dev_info[i].info.output_count = 0; + strcpy(wf->dev_info[i].info.name, + BD_IMAD_PJ_WCHARtoCHAR(captureDevName[i])); + wf->dev_info[i].info.routes = 0; + } + + // Playback device properties + for(i=0;i<playbackDeviceCount;i++) { + wf->dev_info[captureDeviceCount+i].deviceId = captureDeviceCount+i; + wf->dev_info[captureDeviceCount+i].info.caps = + PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING | PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE; + wf->dev_info[captureDeviceCount+i].info.default_samples_per_sec = + BD_IMAD_DEFAULT_FREQ; + strcpy(wf->dev_info[captureDeviceCount+i].info.driver, "BD_IMAD"); + wf->dev_info[captureDeviceCount+i].info.ext_fmt_cnt = 0; + wf->dev_info[captureDeviceCount+i].info.input_count = 0; + wf->dev_info[captureDeviceCount+i].info.output_count = + BD_IMAD_MAX_CHANNELS; + strcpy(wf->dev_info[captureDeviceCount+i].info.name, + BD_IMAD_PJ_WCHARtoCHAR(playbackDevName[i])); + wf->dev_info[captureDeviceCount+i].info.routes = 0; + } + + PJ_LOG(4, (THIS_FILE, "BDIMAD found %d devices:", wf->dev_count)); + for(i=0; i<wf->dev_count; i++) { + PJ_LOG(4, + (THIS_FILE, " dev_id %d: %s (in=%d, out=%d)", + i, + wf->dev_info[i].info.name, + wf->dev_info[i].info.input_count, + wf->dev_info[i].info.output_count)); + } + return PJ_SUCCESS; +} + +/* API: destroy factory */ +static pj_status_t factory_destroy(pjmedia_aud_dev_factory *f) +{ + struct bd_factory *wf = (struct bd_factory*)f; + pj_pool_t *pool = wf->base_pool; + + pj_pool_release(wf->pool); + wf->base_pool = NULL; + pj_pool_release(pool); + + return PJ_SUCCESS; +} + +/* API: get number of devices */ +static unsigned factory_get_dev_count(pjmedia_aud_dev_factory *f) +{ + struct bd_factory *wf = (struct bd_factory*)f; + return wf->dev_count; +} + +/* API: get device info */ +static pj_status_t factory_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info) +{ + struct bd_factory *wf = (struct bd_factory*)f; + + PJ_ASSERT_RETURN(index < wf->dev_count, PJMEDIA_EAUD_INVDEV); + + pj_memcpy(info, &wf->dev_info[index].info, sizeof(*info)); + + return PJ_SUCCESS; +} + +/* API: create default device parameter */ +static pj_status_t factory_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param) +{ + struct bd_factory *wf = (struct bd_factory*)f; + struct bddev_info *di = &wf->dev_info[index]; + + pj_bzero(param, sizeof(*param)); + if (di->info.input_count && di->info.output_count) { + param->dir = PJMEDIA_DIR_CAPTURE_PLAYBACK; + param->rec_id = index; + param->play_id = index; + param->channel_count = di->info.output_count; + } else if(di->info.input_count) { + param->dir = PJMEDIA_DIR_CAPTURE; + param->rec_id = index; + param->play_id = PJMEDIA_AUD_INVALID_DEV; + param->channel_count = di->info.input_count; + } else if(di->info.output_count) { + param->dir = PJMEDIA_DIR_PLAYBACK; + param->play_id = index; + param->rec_id = PJMEDIA_AUD_INVALID_DEV; + param->channel_count = di->info.output_count; + } else { + return PJMEDIA_EAUD_INVDEV; + } + + param->bits_per_sample = BD_IMAD_BITS_X_SAMPLE; + param->clock_rate = di->info.default_samples_per_sec; + param->flags = di->info.caps; + param->samples_per_frame = di->info.default_samples_per_sec * + param->channel_count * + BD_IMAD_MSECOND_PER_BUFFER / + 1000; + + if(di->info.caps & PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING) { + param->input_vol = BD_IMAD_STARTING_INPUT_VOLUME; + } + + if(di->info.caps & PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING) { + param->output_vol = BD_IMAD_STARTING_OUTPUT_VOLUME; + } + + if(di->info.caps & PJMEDIA_AUD_DEV_CAP_EC) { + param->ec_enabled = PJ_TRUE; + } + + if(di->info.caps & PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE) { + param->output_route = PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER; + } + + return PJ_SUCCESS; +} + +/* callbacks to set data */ +void bdimad_CaptureCallback(void *buffer, int samples, void *user_data) +{ + pj_status_t status = PJ_SUCCESS; + pjmedia_frame frame; + unsigned nsamples; + + struct bd_stream *strm = (struct bd_stream*)user_data; + + if(!strm->go) + goto on_break; + + /* Known cases of callback's thread: + * - The thread may be changed in the middle of a session, e.g: in MacOS + * it happens when plugging/unplugging headphone. + * - The same thread may be reused in consecutive sessions. The first + * session will leave TLS set, but release the TLS data address, + * so the second session must re-register the callback's thread. + */ + if (strm->rec_thread_initialized == 0 || !pj_thread_is_registered()) + { + pj_bzero(strm->rec_thread_desc, sizeof(pj_thread_desc)); + status = pj_thread_register("bd_CaptureCallback", + strm->rec_thread_desc, + &strm->rec_thread); + if (status != PJ_SUCCESS) + goto on_break; + + strm->rec_thread_initialized = 1; + PJ_LOG(5,(THIS_FILE, "Recorder thread started")); + } + + /* Calculate number of samples we've got */ + nsamples = samples * strm->channel_count + strm->rec_buf_count; + + /* + RECORD + */ + if (strm->fmt_id == PJMEDIA_FORMAT_L16) { + if (nsamples >= strm->samples_per_frame) { + /* If buffer is not empty, combine the buffer with the just incoming + * samples, then call put_frame. + */ + if (strm->rec_buf_count) { + unsigned chunk_count = 0; + + chunk_count = strm->samples_per_frame - strm->rec_buf_count; + pjmedia_copy_samples(strm->rec_buf + strm->rec_buf_count, + (pj_int16_t*)buffer, chunk_count); + + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.buf = (void*) strm->rec_buf; + frame.size = strm->bytes_per_frame; + frame.timestamp.u64 = strm->timestampCapture.u64; + frame.bit_info = 0; + + status = (*strm->rec_cb)(strm->user_data, &frame); + + buffer = (pj_int16_t*) buffer + chunk_count; + nsamples -= strm->samples_per_frame; + strm->rec_buf_count = 0; + strm->timestampCapture.u64 += strm->samples_per_frame / + strm->channel_count; + } + + /* Give all frames we have */ + while (nsamples >= strm->samples_per_frame && status == 0) { + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.buf = (void*) buffer; + frame.size = strm->bytes_per_frame; + frame.timestamp.u64 = strm->timestampCapture.u64; + frame.bit_info = 0; + + status = (*strm->rec_cb)(strm->user_data, &frame); + + buffer = (pj_int16_t*) buffer + strm->samples_per_frame; + nsamples -= strm->samples_per_frame; + strm->timestampCapture.u64 += strm->samples_per_frame / + strm->channel_count; + } + + /* Store the remaining samples into the buffer */ + if (nsamples && status == 0) { + strm->rec_buf_count = nsamples; + pjmedia_copy_samples(strm->rec_buf, (pj_int16_t*)buffer, + nsamples); + } + + } else { + /* Not enough samples, let's just store them in the buffer */ + pjmedia_copy_samples(strm->rec_buf + strm->rec_buf_count, + (pj_int16_t*)buffer, + samples * strm->channel_count); + strm->rec_buf_count += samples * strm->channel_count; + } + } else { + pj_assert(!"Frame type not supported"); + } + + strm->timestampCapture.u64 += strm->param.samples_per_frame / + strm->param.channel_count; + + if (status==0) + return; + +on_break: + strm->rec_thread_exited = 1; +} + +/* callbacks to get data */ +int bdimad_PlaybackCallback(void *buffer, int samples, void *user_data) +{ + pj_status_t status = PJ_SUCCESS; + pjmedia_frame frame; + struct bd_stream *strm = (struct bd_stream*)user_data; + unsigned nsamples_req = samples * strm->channel_count; + + if(!strm->go) + goto on_break; + + /* Known cases of callback's thread: + * - The thread may be changed in the middle of a session, e.g: in MacOS + * it happens when plugging/unplugging headphone. + * - The same thread may be reused in consecutive sessions. The first + * session will leave TLS set, but release the TLS data address, + * so the second session must re-register the callback's thread. + */ + if (strm->play_thread_initialized == 0 || !pj_thread_is_registered()) + { + pj_bzero(strm->play_thread_desc, sizeof(pj_thread_desc)); + status = pj_thread_register("bd_PlaybackCallback", + strm->play_thread_desc, + &strm->play_thread); + if (status != PJ_SUCCESS) + goto on_break; + + strm->play_thread_initialized = 1; + PJ_LOG(5,(THIS_FILE, "Player thread started")); + } + + /* + PLAY + */ + if(strm->fmt_id == PJMEDIA_FORMAT_L16) { + /* Check if any buffered samples */ + if (strm->play_buf_count) { + /* samples buffered >= requested by sound device */ + if (strm->play_buf_count >= nsamples_req) { + pjmedia_copy_samples((pj_int16_t*)buffer, strm->play_buf, + nsamples_req); + strm->play_buf_count -= nsamples_req; + pjmedia_move_samples(strm->play_buf, + strm->play_buf + nsamples_req, + strm->play_buf_count); + + return nsamples_req; + } + + /* samples buffered < requested by sound device */ + pjmedia_copy_samples((pj_int16_t*)buffer, strm->play_buf, + strm->play_buf_count); + nsamples_req -= strm->play_buf_count; + buffer = (pj_int16_t*)buffer + strm->play_buf_count; + strm->play_buf_count = 0; + } + + /* Fill output buffer as requested */ + while (nsamples_req && status == 0) { + if (nsamples_req >= strm->samples_per_frame) { + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.buf = buffer; + frame.size = strm->bytes_per_frame; + frame.timestamp.u64 = strm->timestampPlayback.u64; + frame.bit_info = 0; + + status = (*strm->play_cb)(strm->user_data, &frame); + if (status != PJ_SUCCESS) + return 0; + + if (frame.type != PJMEDIA_FRAME_TYPE_AUDIO) + pj_bzero(frame.buf, frame.size); + + nsamples_req -= strm->samples_per_frame; + buffer = (pj_int16_t*)buffer + strm->samples_per_frame; + } else { + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.buf = strm->play_buf; + frame.size = strm->bytes_per_frame; + frame.timestamp.u64 = strm->timestampPlayback.u64; + frame.bit_info = 0; + + status = (*strm->play_cb)(strm->user_data, &frame); + if (status != PJ_SUCCESS) + return 0; + + if (frame.type != PJMEDIA_FRAME_TYPE_AUDIO) + pj_bzero(frame.buf, frame.size); + + pjmedia_copy_samples((pj_int16_t*)buffer, strm->play_buf, + nsamples_req); + strm->play_buf_count = strm->samples_per_frame - + nsamples_req; + pjmedia_move_samples(strm->play_buf, + strm->play_buf+nsamples_req, + strm->play_buf_count); + nsamples_req = 0; + } + + strm->timestampPlayback.u64 += strm->samples_per_frame / + strm->channel_count; + } + } else { + pj_assert(!"Frame type not supported"); + } + + if(status != PJ_SUCCESS) { + return 0; + } + + strm->timestampPlayback.u64 += strm->param.samples_per_frame / + strm->param.channel_count; + + if (status == 0) + return samples; + +on_break: + strm->play_thread_exited = 1; + return 0; +} + +/* Internal: Get format name */ +static const char *get_fmt_name(pj_uint32_t id) +{ + static char name[8]; + + if (id == PJMEDIA_FORMAT_L16) + return "PCM"; + pj_memcpy(name, &id, 4); + name[4] = '\0'; + return name; +} + +/* Internal: create BD device. */ +static pj_status_t init_streams(struct bd_factory *wf, + struct bd_stream *strm, + const pjmedia_aud_param *prm) +{ + unsigned ptime; + enum bdIMADpj_Status errorInitAEC; + wchar_t *deviceNamep=NULL; + wchar_t captureDevName[BD_IMAD_MAX_DEV_COUNT][BD_IMAD_MAX_DEV_LENGTH_NAME]; + int captureDeviceCount = 0; + wchar_t playbackDevName[BD_IMAD_MAX_DEV_COUNT][BD_IMAD_MAX_DEV_LENGTH_NAME]; + int playbackDeviceCount = 0; + + PJ_ASSERT_RETURN(prm->play_id < (int)wf->dev_count, PJ_EINVAL); + PJ_ASSERT_RETURN(prm->rec_id < (int)wf->dev_count, PJ_EINVAL); + + ptime = prm->samples_per_frame * + 1000 / + (prm->clock_rate * prm->channel_count); + strm->bytes_per_frame = (prm->clock_rate * + ((prm->channel_count * prm->bits_per_sample) / 8)) * + ptime / + 1000; + strm->timestampCapture.u64 = 0; + strm->timestampPlayback.u64 = 0; + + //BD_IMAD_PJ + bdIMADpj_CreateStructures(&strm->bdIMADpjSettingsPtr, + &strm->bdIMADpjWarningPtr); + + strm->bdIMADpjSettingsPtr->FrameSize_ms = ptime; + strm->bdIMADpjSettingsPtr->DiagnosticEnable = BD_IMAD_DIAGNOSTIC; + strm->bdIMADpjSettingsPtr->DiagnosticFolderPath = + bdImadPjDiagnosticFolderPath; + strm->bdIMADpjSettingsPtr->validate = (void *)manage_code; + + if(prm->clock_rate != 8000 && prm->clock_rate != 16000 + && prm->clock_rate != 32000 && prm->clock_rate != 48000) { + PJ_LOG(4, (THIS_FILE, + "BDIMAD support 8000 Hz, 16000 Hz, 32000 Hz and 48000 Hz " + "frequency.")); + } + strm->bdIMADpjSettingsPtr->SamplingFrequency = prm->clock_rate; + + if(prm->channel_count > BD_IMAD_MAX_CHANNELS) { + PJ_LOG(4, (THIS_FILE, + "BDIMAD doesn't support a number of channels upper than %d.", + BD_IMAD_MAX_CHANNELS)); + } + + // Enumerate capture sound devices + while(bdIMADpj_getDeviceName(BD_IMAD_CAPTURE_DEVICES, &deviceNamep) != + BD_PJ_ERROR_IMAD_DEVICE_LIST_EMPTY) + { + wcscpy(captureDevName[captureDeviceCount], deviceNamep); + captureDeviceCount++; + } + strm->bdIMADpjSettingsPtr->CaptureDevice = captureDevName[(int)prm->rec_id]; + + // Enumerate playback sound devices + while(bdIMADpj_getDeviceName(BD_IMAD_PLAYBACK_DEVICES, &deviceNamep) != + BD_PJ_ERROR_IMAD_DEVICE_LIST_EMPTY) + { + wcscpy(playbackDevName[playbackDeviceCount], deviceNamep); + playbackDeviceCount++; + } + strm->bdIMADpjSettingsPtr->PlayDevice = + playbackDevName[(int)(prm->play_id-captureDeviceCount)]; + + strm->bdIMADpjSettingsPtr->cb_emptyCaptureBuffer = &bdimad_CaptureCallback; + strm->bdIMADpjSettingsPtr->cb_emptyCaptureBuffer_user_data = (void*)strm; + strm->bdIMADpjSettingsPtr->cb_fillPlayBackBuffer = &bdimad_PlaybackCallback; + strm->bdIMADpjSettingsPtr->cb_fillPlayBackBuffer_user_data = (void*)strm; + + if(strm->bdIMADpjInstance != NULL) + bdIMADpj_FreeAEC(&strm->bdIMADpjInstance); + strm->bdIMADpjInstance = NULL; + + errorInitAEC = bdIMADpj_InitAEC(&strm->bdIMADpjInstance, + &strm->bdIMADpjSettingsPtr, + &strm->bdIMADpjWarningPtr); + + { + int auxInt = (prm->ec_enabled == PJ_TRUE ? 1 : 0); + bdIMADpj_setParameter(strm->bdIMADpjInstance, + BD_PARAM_IMAD_PJ_AEC_ENABLE, + &auxInt); + auxInt = 1; + //Mic control On by default + bdIMADpj_setParameter(strm->bdIMADpjInstance, + BD_PARAM_IMAD_PJ_MIC_CONTROL_ENABLE, + &auxInt); + } + + if(errorInitAEC != BD_PJ_OK && + errorInitAEC != BD_PJ_WARN_BDIMAD_WARNING_ASSERTED) + { + return PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(errorInitAEC); + } + + return PJ_SUCCESS; +} + +/**************************************** + API: create stream +*****************************************/ +static pj_status_t stream_stopBDIMAD(pjmedia_aud_stream *s) +{ + struct bd_stream *strm = (struct bd_stream*)s; + pj_status_t status = PJ_SUCCESS; + int i, err = 0; + + PJ_ASSERT_RETURN(strm != NULL, PJ_EINVAL); + + strm->go = 0; + + for (i=0; !strm->rec_thread_exited && i<100; ++i) + pj_thread_sleep(10); + for (i=0; !strm->play_thread_exited && i<100; ++i) + pj_thread_sleep(10); + + pj_thread_sleep(1); + + PJ_LOG(5,(THIS_FILE, "Stopping stream..")); + + strm->play_thread_initialized = 0; + strm->rec_thread_initialized = 0; + + PJ_LOG(5,(THIS_FILE, "Done, status=%d", err)); + + return status; +} + +static pj_status_t stream_stop(pjmedia_aud_stream *s) +{ + struct bd_stream *strm = (struct bd_stream*)s; + + PJ_ASSERT_RETURN(strm != NULL, PJ_EINVAL); + + if(strm->bdIMADpjInstance != NULL) { + return stream_stopBDIMAD(s); + } else { + return PJMEDIA_EAUD_ERR; + } +} + +static pj_status_t stream_destroyBDIMAD(pjmedia_aud_stream *s) +{ + struct bd_stream *strm = (struct bd_stream*)s; + int i = 0; + + PJ_ASSERT_RETURN(strm != NULL, PJ_EINVAL); + + stream_stopBDIMAD(s); + + // DeInit BDIMAD + bdIMADpj_FreeAEC(&strm->bdIMADpjInstance); + PJ_LOG(4, (THIS_FILE, "Free AEC")); + + bdIMADpj_FreeStructures(&strm->bdIMADpjSettingsPtr, + &strm->bdIMADpjWarningPtr); + PJ_LOG(4, (THIS_FILE, "Free AEC Structure")); + + strm->bdIMADpjInstance = NULL; + strm->bdIMADpjSettingsPtr = NULL; + strm->bdIMADpjWarningPtr = NULL; + + strm->quit_flag = 1; + for (i=0; !strm->rec_thread_exited && i<100; ++i) { + pj_thread_sleep(1); + } + for (i=0; !strm->play_thread_exited && i<100; ++i) { + pj_thread_sleep(1); + } + + PJ_LOG(5,(THIS_FILE, "Destroying stream..")); + + pj_pool_release(strm->pool); + return PJ_SUCCESS; +} + +/* API: Destroy stream. */ +static pj_status_t stream_destroy(pjmedia_aud_stream *s) +{ + struct bd_stream *strm = (struct bd_stream*)s; + + PJ_ASSERT_RETURN(strm != NULL, PJ_EINVAL); + + if(strm->bdIMADpjInstance != NULL) { + return stream_destroyBDIMAD(s); + } else { + return PJMEDIA_EAUD_ERR; + } +} + +/* API: set capability */ +static pj_status_t stream_set_capBDIMAD(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + const void *pval) +{ + struct bd_stream *strm = (struct bd_stream*)s; + bdIMADpj_Status res = BD_PJ_OK; + PJ_ASSERT_RETURN(s && pval, PJ_EINVAL); + + if(cap == PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING) { + /* Output volume setting */ + float vol = (float)*(unsigned*)pval; + + if(vol > 100.0f) vol = 100.0f; + if(vol < 0.0f) vol = 0.0f; + + vol = vol / 100.0f; + res = bdIMADpj_setParameter(strm->bdIMADpjInstance, + BD_PARAM_IMAD_PJ_SPK_VOLUME, &vol); + + + if(res == BD_PJ_OK) { + strm->param.output_vol = *(unsigned*)pval; + return PJ_SUCCESS; + } else { + return PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(res); + } + } + + if(cap == PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING) { + /* Input volume setting */ + float vol = (float)*(unsigned*)pval; + + if(vol > 100.0f) vol = 100.0f; + if(vol < 0.0f) vol = 0.0f; + + vol = vol / 100.0f; + res = bdIMADpj_setParameter(strm->bdIMADpjInstance, + BD_PARAM_IMAD_PJ_MIC_VOLUME, &vol); + if(res == BD_PJ_OK) { + strm->param.input_vol = *(unsigned*)pval; + return PJ_SUCCESS; + } else { + return PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(res); + } + } + + if(cap == PJMEDIA_AUD_DEV_CAP_EC) { + int aecOnOff = (*(pj_bool_t*)pval == PJ_TRUE ? 1 : 0); + + /* AEC setting */ + res = bdIMADpj_setParameter(strm->bdIMADpjInstance, + BD_PARAM_IMAD_PJ_AEC_ENABLE, + &aecOnOff); + if(res == BD_PJ_OK) { + strm->param.ec_enabled = (aecOnOff == 1 ? PJ_TRUE : PJ_FALSE); + return PJ_SUCCESS; + } else { + return PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(res); + } + } + + if(cap == PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE) { + pjmedia_aud_dev_route outputRoute = *(pjmedia_aud_dev_route*)pval; + if(strm->param.output_route!=outputRoute) + res = bdIMADpj_setRouteOutputDevice(strm->bdIMADpjInstance, (bdIMADpj_out_dev_route) outputRoute, &strm->bdIMADpjWarningPtr); + if(res == BD_PJ_OK) { + strm->param.output_route = outputRoute; + return PJ_SUCCESS; + } else { + return PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(res); + } + } + + return PJMEDIA_EAUD_INVCAP; +} + +static pj_status_t factory_create_streamBDIMAD(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm) +{ + struct bd_factory *wf = (struct bd_factory*)f; + pj_pool_t *pool; + struct bd_stream *strm; + pj_uint8_t silence_char; + pj_status_t status; + + switch (param->ext_fmt.id) { + case PJMEDIA_FORMAT_L16: + silence_char = '\0'; + break; + default: + return PJMEDIA_EAUD_BADFORMAT; + } + + /* Create and Initialize stream descriptor */ + pool = pj_pool_create(wf->pf, "BDIMAD_STREAM", 1000, 1000, NULL); + PJ_ASSERT_RETURN(pool != NULL, PJ_ENOMEM); + + strm = PJ_POOL_ZALLOC_T(pool, struct bd_stream); + pj_memcpy(&strm->param, param, sizeof(*param)); + strm->pool = pool; + strm->rec_cb = rec_cb; + strm->play_cb = play_cb; + strm->user_data = user_data; + strm->fmt_id = (pjmedia_format_id)param->ext_fmt.id; + strm->silence_char = silence_char; + strm->channel_count = param->channel_count; + strm->samples_per_frame = param->samples_per_frame; + + if (param->dir & PJMEDIA_DIR_CAPTURE_PLAYBACK) { + status = init_streams(wf, strm, param); + + if (status != PJ_SUCCESS) { + stream_destroyBDIMAD(&strm->base); + return status; + } + } else { + stream_destroyBDIMAD(&strm->base); + return PJMEDIA_EAUD_ERR; + } + + strm->rec_buf = (pj_int16_t*)pj_pool_alloc(pool, + strm->bytes_per_frame); + if (!strm->rec_buf) { + pj_pool_release(pool); + return PJ_ENOMEM; + } + strm->rec_buf_count = 0; + + strm->play_buf = (pj_int16_t*)pj_pool_alloc(pool, + strm->bytes_per_frame); + if (!strm->play_buf) { + pj_pool_release(pool); + return PJ_ENOMEM; + } + strm->play_buf_count = 0; + + /* Apply the remaining settings */ + if(param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING) { + stream_set_capBDIMAD(&strm->base, + PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + ¶m->output_vol); + } + if(param->flags & PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING) { + stream_set_capBDIMAD(&strm->base, + PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING, + ¶m->input_vol); + } + if(param->flags & PJMEDIA_AUD_DEV_CAP_EC) { + stream_set_capBDIMAD(&strm->base, + PJMEDIA_AUD_DEV_CAP_EC, + ¶m->ec_enabled); + } + + if(param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE) { + stream_set_capBDIMAD(&strm->base, + PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, + ¶m->output_route); + } + + strm->base.op = &stream_op; + *p_aud_strm = &strm->base; + + return PJ_SUCCESS; +} + +static pj_status_t factory_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm) +{ + return factory_create_streamBDIMAD(f, param, rec_cb, + play_cb, user_data, p_aud_strm); +} +// ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- + +/* API: Get stream info. */ +static pj_status_t stream_get_param(pjmedia_aud_stream *s, + pjmedia_aud_param *pi) +{ + struct bd_stream *strm = (struct bd_stream*)s; + + PJ_ASSERT_RETURN(strm && pi, PJ_EINVAL); + + pj_memcpy(pi, &strm->param, sizeof(*pi)); + + // Get the output volume setting + if(stream_get_cap(s, PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + &pi->output_vol) == PJ_SUCCESS) + { + pi->flags |= PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING; + } + + // Get the input volume setting + if(stream_get_cap(s, PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING, + &pi->input_vol) == PJ_SUCCESS) + { + pi->flags |= PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING; + } + + // Get the AEC setting + if(stream_get_cap(s, PJMEDIA_AUD_DEV_CAP_EC, &pi->ec_enabled) == PJ_SUCCESS) + { + pi->flags |= PJMEDIA_AUD_DEV_CAP_EC; + } + if(stream_get_cap(s, PJMEDIA_AUD_DEV_CAP_EC, &pi->ec_enabled) == PJ_SUCCESS) + { + pi->flags |= PJMEDIA_AUD_DEV_CAP_EC; + } + + + // Get the Route Output Device setting + if(stream_get_cap(s, PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, &pi->output_route) == PJ_SUCCESS) + { + pi->flags |= PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE; + } + + return PJ_SUCCESS; +} + +static pj_status_t stream_get_capBDIMAD(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + void *pval) +{ + struct bd_stream *strm = (struct bd_stream*)s; + bdIMADpj_Status res = BD_PJ_OK; + + PJ_ASSERT_RETURN(s && pval, PJ_EINVAL); + + if(cap == PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING) + { + /* Input volume setting */ + float vol; + res = bdIMADpj_getParameter(strm->bdIMADpjInstance, + BD_PARAM_IMAD_PJ_MIC_VOLUME, &vol); + if(res == BD_PJ_OK) { + vol = vol * 100; + if(vol > 100.0f) vol = 100.0f; + if(vol < 0.0f) vol = 0.0f; + *(unsigned int *)pval = (unsigned int)vol; + return PJ_SUCCESS; + } else{ + return PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(res); + } + } else if(cap == PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING) { + /* Output volume setting */ + float vol; + res = bdIMADpj_getParameter(strm->bdIMADpjInstance, + BD_PARAM_IMAD_PJ_SPK_VOLUME, &vol); + if(res == BD_PJ_OK) { + vol = vol * 100; + if(vol > 100.0f) vol = 100.0f; + if(vol < 0.0f) vol = 0.0f; + *(unsigned int *)pval = (unsigned int)vol; + return PJ_SUCCESS; + } else { + return PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(res); + } + } + else if(cap == PJMEDIA_AUD_DEV_CAP_EC) { + int aecIsOn; + res = bdIMADpj_getParameter(strm->bdIMADpjInstance, + BD_PARAM_IMAD_PJ_AEC_ENABLE, &aecIsOn); + if(res == BD_PJ_OK) { + *(pj_bool_t*)pval = (aecIsOn == 1 ? PJ_TRUE : PJ_FALSE); + return PJ_SUCCESS; + } else { + return PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(res); + } + } + else if(cap == PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE) { + pjmedia_aud_dev_route routeOutDev; + res = bdIMADpj_getRouteOutputDevice(strm->bdIMADpjInstance,(bdIMADpj_out_dev_route*)&routeOutDev); + if(res == BD_PJ_OK) { + *(pjmedia_aud_dev_route*)pval = routeOutDev; + return PJ_SUCCESS; + } else { + return PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(res); + } + } else { + return PJMEDIA_EAUD_INVCAP; + } +} + +static pj_status_t stream_startBDIMAD(pjmedia_aud_stream *s) +{ + struct bd_stream *strm = (struct bd_stream*)s; + + PJ_ASSERT_RETURN(strm != NULL, PJ_EINVAL); + + strm->go = 1; + + return PJ_SUCCESS; +} + +/* API: get capability */ +static pj_status_t stream_get_cap(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + void *pval) +{ + struct bd_stream *strm = (struct bd_stream*)s; + + PJ_ASSERT_RETURN(strm != NULL, PJ_EINVAL); + + if(strm->bdIMADpjInstance != NULL) { + return stream_get_capBDIMAD(s, cap, pval); + } else { + return PJMEDIA_EAUD_ERR; + } +} + +/* API: set capability */ +static pj_status_t stream_set_cap(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + const void *pval) +{ + struct bd_stream *strm = (struct bd_stream*)s; + + PJ_ASSERT_RETURN(strm != NULL, PJ_EINVAL); + + if(strm->bdIMADpjInstance != NULL) { + return stream_set_capBDIMAD(s, cap, pval); + } else { + return PJMEDIA_EAUD_ERR; + } +} + +/* API: Start stream. */ +static pj_status_t stream_start(pjmedia_aud_stream *s) +{ + struct bd_stream *strm = (struct bd_stream*)s; + + PJ_ASSERT_RETURN(strm != NULL, PJ_EINVAL); + + if(strm->bdIMADpjInstance != NULL) { + return stream_startBDIMAD(s); + } else { + return PJMEDIA_EAUD_ERR; + } +} + +#if defined (_MSC_VER) +#ifdef _DEBUG +#pragma comment ( lib, "bdClientValidationd.lib" ) +#pragma comment ( lib, "bdIMADpjd.lib" ) +#else +#pragma comment ( lib, "bdClientValidation.lib" ) +#pragma comment ( lib, "bdIMADpj.lib" ) +#endif +#endif + + +#endif /* PJMEDIA_AUDIO_DEV_HAS_BDIMAD */ + diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/coreaudio_dev.m similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/coreaudio_dev.m index b0bad039bfaf9eed427dcd84851188df383e6821..c1b177645f250fdee23f1ed0bbd7ecf1b21279ea 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/coreaudio_dev.m @@ -1,4 +1,4 @@ -/* $Id: coreaudio_dev.c 4082 2012-04-24 13:09:14Z bennylp $ */ +/* $Id: coreaudio_dev.m 4751 2014-02-19 04:24:08Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -32,8 +32,10 @@ #include <AudioUnit/AudioUnit.h> #include <AudioToolbox/AudioConverter.h> -#if !COREAUDIO_MAC - #include <AudioToolbox/AudioServices.h> +#if COREAUDIO_MAC + #include <CoreAudio/CoreAudio.h> +#else + #include <AVFoundation/AVAudioSession.h> #define AudioDeviceID unsigned @@ -48,6 +50,8 @@ */ #define USE_AUDIO_ROUTE_CHANGE_PROP_LISTENER 0 + /* Starting iOS SDK 7, Audio Session API is deprecated. */ + #define USE_AUDIO_SESSION_API 0 #endif /* For Mac OS 10.5.x and earlier */ @@ -135,6 +139,10 @@ struct coreaudio_stream void *resample_buf_ptr; unsigned resample_buf_count; unsigned resample_buf_size; + +#if !COREAUDIO_MAC + AVAudioSession *sess; +#endif }; /* Static variable */ @@ -174,7 +182,7 @@ static pj_status_t create_audio_unit(AudioComponent io_comp, pjmedia_dir dir, struct coreaudio_stream *strm, AudioUnit *io_unit); -#if !COREAUDIO_MAC +#if !COREAUDIO_MAC && USE_AUDIO_SESSION_API != 0 static void interruptionListener(void *inClientData, UInt32 inInterruption); static void propListener(void * inClientData, AudioSessionPropertyID inID, @@ -234,7 +242,6 @@ static pj_status_t ca_factory_init(pjmedia_aud_dev_factory *f) pj_status_t status; #if !COREAUDIO_MAC unsigned i; - OSStatus ostatus; #endif pj_list_init(&cf->streams); @@ -284,8 +291,10 @@ static pj_status_t ca_factory_init(pjmedia_aud_dev_factory *f) cdi->info.caps = PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY | PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY | PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING | +#if USE_AUDIO_SESSION_API != 0 PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE | PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE | +#endif PJMEDIA_AUD_DEV_CAP_EC; cdi->info.routes = PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER | PJMEDIA_AUD_DEV_ROUTE_EARPIECE | @@ -299,23 +308,30 @@ static pj_status_t ca_factory_init(pjmedia_aud_dev_factory *f) cdi->info.default_samples_per_sec)); } - /* Initialize the Audio Session */ - ostatus = AudioSessionInitialize(NULL, NULL, interruptionListener, NULL); - if (ostatus != kAudioSessionNoError) { - PJ_LOG(4, (THIS_FILE, - "Warning: cannot initialize audio session services (%i)", - ostatus)); - } - - /* Listen for audio routing change notifications. */ +#if USE_AUDIO_SESSION_API != 0 + { + OSStatus ostatus; + + /* Initialize the Audio Session */ + ostatus = AudioSessionInitialize(NULL, NULL, interruptionListener, + NULL); + if (ostatus != kAudioSessionNoError) { + PJ_LOG(4, (THIS_FILE, + "Warning: cannot initialize audio session services (%i)", + ostatus)); + } + + /* Listen for audio routing change notifications. */ #if USE_AUDIO_ROUTE_CHANGE_PROP_LISTENER != 0 - ostatus = AudioSessionAddPropertyListener( - kAudioSessionProperty_AudioRouteChange, - propListener, cf); - if (ostatus != kAudioSessionNoError) { - PJ_LOG(4, (THIS_FILE, - "Warning: cannot listen for audio route change " - "notifications (%i)", ostatus)); + ostatus = AudioSessionAddPropertyListener( + kAudioSessionProperty_AudioRouteChange, + propListener, cf); + if (ostatus != kAudioSessionNoError) { + PJ_LOG(4, (THIS_FILE, + "Warning: cannot listen for audio route change " + "notifications (%i)", ostatus)); + } +#endif } #endif @@ -338,7 +354,7 @@ static pj_status_t ca_factory_destroy(pjmedia_aud_dev_factory *f) pj_assert(pj_list_empty(&cf->streams)); #if !COREAUDIO_MAC -#if USE_AUDIO_ROUTE_CHANGE_PROP_LISTENER != 0 +#if USE_AUDIO_SESSION_API != 0 && USE_AUDIO_ROUTE_CHANGE_PROP_LISTENER != 0 AudioSessionRemovePropertyListenerWithUserData( kAudioSessionProperty_AudioRouteChange, propListener, cf); #endif @@ -444,7 +460,7 @@ static pj_status_t ca_factory_refresh(pjmedia_aud_dev_factory *f) ostatus = AudioObjectGetPropertyData(kAudioObjectSystemObject, &addr, 0, NULL, &size, (void *)&dev_id); - if (ostatus != noErr && dev_id != dev_ids[idx]) { + if (ostatus == noErr && dev_id != dev_ids[idx]) { AudioDeviceID temp_id = dev_ids[idx]; for (i = idx + 1; i < dev_size; i++) { @@ -461,7 +477,7 @@ static pj_status_t ca_factory_refresh(pjmedia_aud_dev_factory *f) ostatus = AudioObjectGetPropertyData(kAudioObjectSystemObject, &addr, 0, NULL, &size, (void *)&dev_id); - if (ostatus != noErr && dev_id != dev_ids[idx]) { + if (ostatus == noErr && dev_id != dev_ids[idx]) { AudioDeviceID temp_id = dev_ids[idx]; for (i = idx + 1; i < dev_size; i++) { @@ -1056,7 +1072,7 @@ on_break: return -1; } -#if !COREAUDIO_MAC +#if !COREAUDIO_MAC && USE_AUDIO_SESSION_API != 0 static void propListener(void *inClientData, AudioSessionPropertyID inID, UInt32 inDataSize, @@ -1111,7 +1127,7 @@ static void interruptionListener(void *inClientData, UInt32 inInterruption) { struct stream_list *it, *itBegin; pj_status_t status; - pj_thread_desc thread_desc; + static pj_thread_desc thread_desc; pj_thread_t *thread; /* Register the thread with PJLIB, this is must for any external threads @@ -1222,15 +1238,13 @@ static pj_status_t create_audio_unit(AudioComponent io_comp, { OSStatus ostatus; #if !COREAUDIO_MAC - UInt32 audioCategory = kAudioSessionCategory_PlayAndRecord; /* We want to be able to open playback and recording streams */ - ostatus = AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, - sizeof(audioCategory), - &audioCategory); - if (ostatus != kAudioSessionNoError) { + strm->sess = [AVAudioSession sharedInstance]; + if ([strm->sess setCategory:AVAudioSessionCategoryPlayAndRecord + error:nil] != YES) + { PJ_LOG(4, (THIS_FILE, - "Warning: cannot set the audio session category (%i)", - ostatus)); + "Warning: cannot set the audio session category")); } #endif @@ -1698,20 +1712,13 @@ static pj_status_t ca_stream_get_cap(pjmedia_aud_stream *s, } } #else - Float32 latency, latency2; - UInt32 size = sizeof(Float32); - - if ((AudioSessionGetProperty( - kAudioSessionProperty_CurrentHardwareInputLatency, - &size, &latency) == kAudioSessionNoError) && - (AudioSessionGetProperty( - kAudioSessionProperty_CurrentHardwareIOBufferDuration, - &size, &latency2) == kAudioSessionNoError)) - { - strm->param.input_latency_ms = (unsigned) - ((latency + latency2) * 1000); + if ([strm->sess respondsToSelector:@selector(inputLatency)]) { + strm->param.input_latency_ms = + (unsigned)(([strm->sess inputLatency] + + [strm->sess IOBufferDuration]) * 1000); strm->param.input_latency_ms++; - } + } else + return PJMEDIA_EAUD_INVCAP; #endif *(unsigned*)pval = strm->param.input_latency_ms; @@ -1746,32 +1753,25 @@ static pj_status_t ca_stream_get_cap(pjmedia_aud_stream *s, } } #else - Float32 latency, latency2; - UInt32 size = sizeof(Float32); - - if ((AudioSessionGetProperty( - kAudioSessionProperty_CurrentHardwareOutputLatency, - &size, &latency) == kAudioSessionNoError) && - (AudioSessionGetProperty( - kAudioSessionProperty_CurrentHardwareIOBufferDuration, - &size, &latency2) == kAudioSessionNoError)) - { - strm->param.output_latency_ms = (unsigned) - ((latency + latency2) * 1000); + if ([strm->sess respondsToSelector:@selector(outputLatency)]) { + strm->param.output_latency_ms = + (unsigned)(([strm->sess outputLatency] + + [strm->sess IOBufferDuration]) * 1000); strm->param.output_latency_ms++; - } + } else + return PJMEDIA_EAUD_INVCAP; #endif *(unsigned*)pval = (++strm->param.output_latency_ms * 2); return PJ_SUCCESS; } else if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING && (strm->param.dir & PJMEDIA_DIR_PLAYBACK)) { +#if COREAUDIO_MAC OSStatus ostatus; Float32 volume; UInt32 size = sizeof(Float32); /* Output volume setting */ -#if COREAUDIO_MAC ostatus = AudioUnitGetProperty (strm->io_units[1] ? strm->io_units[1] : strm->io_units[0], kAudioDevicePropertyVolumeScalar, @@ -1781,18 +1781,19 @@ static pj_status_t ca_stream_get_cap(pjmedia_aud_stream *s, &size); if (ostatus != noErr) return PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(ostatus); -#else - ostatus = AudioSessionGetProperty( - kAudioSessionProperty_CurrentHardwareOutputVolume, - &size, &volume); - if (ostatus != kAudioSessionNoError) { - return PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(ostatus); - } -#endif *(unsigned*)pval = (unsigned)(volume * 100); return PJ_SUCCESS; +#else + if ([strm->sess respondsToSelector:@selector(outputVolume)]) { + *(unsigned*)pval = (unsigned)([strm->sess outputVolume] * 100); + return PJ_SUCCESS; + } else + return PJMEDIA_EAUD_INVCAP; +#endif + #if !COREAUDIO_MAC +#if USE_AUDIO_SESSION_API != 0 } else if (cap==PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE && (strm->param.dir & PJMEDIA_DIR_CAPTURE)) { @@ -1834,6 +1835,7 @@ static pj_status_t ca_stream_get_cap(pjmedia_aud_stream *s, CFRelease(route); return PJ_SUCCESS; +#endif } else if (cap==PJMEDIA_AUD_DEV_CAP_EC) { AudioComponentDescription desc; OSStatus ostatus; @@ -1885,36 +1887,60 @@ static pj_status_t ca_stream_set_cap(pjmedia_aud_stream *s, } #else - - if ((cap==PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY && + if (cap==PJMEDIA_AUD_DEV_CAP_EC) { + AudioComponentDescription desc; + AudioComponent io_comp; + + desc.componentType = kAudioUnitType_Output; + desc.componentSubType = (*(pj_bool_t*)pval)? + kAudioUnitSubType_VoiceProcessingIO : + kAudioUnitSubType_RemoteIO; + desc.componentManufacturer = kAudioUnitManufacturer_Apple; + desc.componentFlags = 0; + desc.componentFlagsMask = 0; + + io_comp = AudioComponentFindNext(NULL, &desc); + if (io_comp == NULL) + return PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(-1); + strm->cf->io_comp = io_comp; + strm->param.ec_enabled = *(pj_bool_t*)pval; + + PJ_LOG(4, (THIS_FILE, "Using %s audio unit", + (desc.componentSubType == + kAudioUnitSubType_RemoteIO? "RemoteIO": + "VoiceProcessingIO"))); + + return PJ_SUCCESS; + } else if ((cap==PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY && (strm->param.dir & PJMEDIA_DIR_CAPTURE)) || (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY && (strm->param.dir & PJMEDIA_DIR_PLAYBACK))) { - Float32 bufferDuration = *(unsigned *)pval; - OSStatus ostatus; + NSTimeInterval duration = *(unsigned *)pval; unsigned latency; - + /* For low-latency audio streaming, you can set this value to * as low as 5 ms (the default is 23ms). However, lowering the * latency may cause a decrease in audio quality. */ - bufferDuration /= 1000; - ostatus = AudioSessionSetProperty( - kAudioSessionProperty_PreferredHardwareIOBufferDuration, - sizeof(bufferDuration), &bufferDuration); - if (ostatus != kAudioSessionNoError) { + duration /= 1000; + if ([strm->sess setPreferredIOBufferDuration:duration error:nil] + != YES) + { PJ_LOG(4, (THIS_FILE, - "Error: cannot set the preferred buffer duration (%i)", - ostatus)); - return PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(ostatus); + "Error: cannot set the preferred buffer duration")); + return PJMEDIA_EAUD_INVOP; } ca_stream_get_cap(s, PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY, &latency); ca_stream_get_cap(s, PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY, &latency); return PJ_SUCCESS; - } else if (cap==PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE && + } + +#if USE_AUDIO_SESSION_API != 0 + + else if (cap==PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE && (strm->param.dir & PJMEDIA_DIR_CAPTURE)) { UInt32 btooth = *(pjmedia_aud_dev_route*)pval == @@ -1946,31 +1972,8 @@ static pj_status_t ca_stream_set_cap(pjmedia_aud_stream *s, } strm->param.output_route = *(pjmedia_aud_dev_route*)pval; return PJ_SUCCESS; - } else if (cap==PJMEDIA_AUD_DEV_CAP_EC) { - AudioComponentDescription desc; - AudioComponent io_comp; - - desc.componentType = kAudioUnitType_Output; - desc.componentSubType = (*(pj_bool_t*)pval)? - kAudioUnitSubType_VoiceProcessingIO : - kAudioUnitSubType_RemoteIO; - desc.componentManufacturer = kAudioUnitManufacturer_Apple; - desc.componentFlags = 0; - desc.componentFlagsMask = 0; - - io_comp = AudioComponentFindNext(NULL, &desc); - if (io_comp == NULL) - return PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(-1); - strm->cf->io_comp = io_comp; - strm->param.ec_enabled = *(pj_bool_t*)pval; - - PJ_LOG(4, (THIS_FILE, "Using %s audio unit", - (desc.componentSubType == - kAudioUnitSubType_RemoteIO? "RemoteIO": - "VoiceProcessingIO"))); - - return PJ_SUCCESS; } +#endif #endif return PJMEDIA_EAUD_INVCAP; @@ -1999,7 +2002,9 @@ static pj_status_t ca_stream_start(pjmedia_aud_stream *strm) } #if !COREAUDIO_MAC - AudioSessionSetActive(true); + if ([stream->sess setActive:true error:nil] != YES) { + PJ_LOG(4, (THIS_FILE, "Warning: cannot activate audio session")); + } #endif for (i = 0; i < 2; i++) { @@ -2057,8 +2062,11 @@ static pj_status_t ca_stream_stop(pjmedia_aud_stream *strm) pj_mutex_unlock(stream->cf->mutex); #if !COREAUDIO_MAC - if (should_deactivate) - AudioSessionSetActive(false); + if (should_deactivate) { + if ([stream->sess setActive:false error:nil] != YES) { + PJ_LOG(4, (THIS_FILE, "Warning: cannot deactivate audio session")); + } + } #endif stream->quit_flag = 1; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/errno.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/errno.c similarity index 90% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/errno.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/errno.c index 1066386dbaab0c5fd49826981c2a69be0d79b70d..67eed8468e9050b71db2cc5344001409863f3817 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/errno.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/errno.c @@ -1,4 +1,4 @@ -/* $Id: errno.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: errno.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -139,7 +139,7 @@ PJ_DEF(pj_str_t) pjmedia_audiodev_strerror(pj_status_t statcode, pj_unicode_to_ansi(wbuf, len, buf, bufsize); } #else - mr = (*waveGetErrText)(native_err, buf, bufsize); + mr = (*waveGetErrText)(native_err, buf, (UINT)bufsize); #endif if (mr==MMSYSERR_NOERROR) { @@ -155,6 +155,20 @@ PJ_DEF(pj_str_t) pjmedia_audiodev_strerror(pj_status_t statcode, } else #endif +/* See if the error comes from BDIMAD */ +#if PJMEDIA_AUDIO_DEV_HAS_BDIMAD + + if (statcode >= PJMEDIA_AUDIODEV_BDIMAD_ERROR_START && + statcode < PJMEDIA_AUDIODEV_BDIMAD_ERROR_END) + { + pj_status_t native_err; + native_err = statcode - PJMEDIA_AUDIODEV_BDIMAD_ERROR_START; + + pj_ansi_snprintf(buf, bufsize, "BDIMAD native error %d", native_err); + return pj_str(buf); + } else +#endif + /* Audiodev error */ if (statcode >= PJMEDIA_AUDIODEV_ERRNO_START && statcode < PJMEDIA_AUDIODEV_ERRNO_END) @@ -200,7 +214,8 @@ PJ_DEF(pj_str_t) pjmedia_audiodev_strerror(pj_status_t statcode, errstr.slen = pj_ansi_snprintf(buf, bufsize, "Unknown pjmedia-audiodev error %d", statcode); - + if (errstr.slen < 1 || errstr.slen >= (pj_ssize_t)bufsize) + errstr.slen = bufsize - 1; return errstr; } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/legacy_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/legacy_dev.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/legacy_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/legacy_dev.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/null_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/null_dev.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/null_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/null_dev.c diff --git a/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/opensl_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/opensl_dev.c new file mode 100644 index 0000000000000000000000000000000000000000..1fd03d58106e1a8d01106fd00812a5aa19bda8c3 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/opensl_dev.c @@ -0,0 +1,950 @@ +/* $Id: opensl_dev.c 4731 2014-02-05 05:49:13Z bennylp $ */ +/* + * Copyright (C) 2012-2012 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2010-2012 Regis Montoya (aka r3gis - www.r3gis.fr) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +/* This file is the implementation of Android OpenSL ES audio device. + * The original code was originally part of CSipSimple + * (http://code.google.com/p/csipsimple/) and was kindly donated + * by Regis Montoya. + */ + +#include <pjmedia-audiodev/audiodev_imp.h> +#include <pj/assert.h> +#include <pj/log.h> +#include <pj/os.h> +#include <pj/string.h> +#include <pjmedia/errno.h> + +#if defined(PJMEDIA_AUDIO_DEV_HAS_OPENSL) && PJMEDIA_AUDIO_DEV_HAS_OPENSL != 0 + +#include <SLES/OpenSLES.h> + +#ifdef __ANDROID__ + #include <SLES/OpenSLES_Android.h> + #include <SLES/OpenSLES_AndroidConfiguration.h> + #include <sys/system_properties.h> + #include <android/api-level.h> + + #define W_SLBufferQueueItf SLAndroidSimpleBufferQueueItf + #define W_SLBufferQueueState SLAndroidSimpleBufferQueueState + #define W_SL_IID_BUFFERQUEUE SL_IID_ANDROIDSIMPLEBUFFERQUEUE +#else + #define W_SLBufferQueueItf SLBufferQueueItf + #define W_SLBufferQueueState SLBufferQueueState + #define W_SL_IID_BUFFERQUEUE SL_IID_BUFFERQUEUE +#endif + +#define THIS_FILE "opensl_dev.c" +#define DRIVER_NAME "OpenSL" + +#define NUM_BUFFERS 2 + +struct opensl_aud_factory +{ + pjmedia_aud_dev_factory base; + pj_pool_factory *pf; + pj_pool_t *pool; + + SLObjectItf engineObject; + SLEngineItf engineEngine; + SLObjectItf outputMixObject; +}; + +/* + * Sound stream descriptor. + * This struct may be used for both unidirectional or bidirectional sound + * streams. + */ +struct opensl_aud_stream +{ + pjmedia_aud_stream base; + pj_pool_t *pool; + pj_str_t name; + pjmedia_dir dir; + pjmedia_aud_param param; + + void *user_data; + pj_bool_t quit_flag; + pjmedia_aud_rec_cb rec_cb; + pjmedia_aud_play_cb play_cb; + + pj_timestamp play_timestamp; + pj_timestamp rec_timestamp; + + pj_bool_t rec_thread_initialized; + pj_thread_desc rec_thread_desc; + pj_thread_t *rec_thread; + + pj_bool_t play_thread_initialized; + pj_thread_desc play_thread_desc; + pj_thread_t *play_thread; + + /* Player */ + SLObjectItf playerObj; + SLPlayItf playerPlay; + SLVolumeItf playerVol; + unsigned playerBufferSize; + char *playerBuffer[NUM_BUFFERS]; + int playerBufIdx; + + /* Recorder */ + SLObjectItf recordObj; + SLRecordItf recordRecord; + unsigned recordBufferSize; + char *recordBuffer[NUM_BUFFERS]; + int recordBufIdx; + + W_SLBufferQueueItf playerBufQ; + W_SLBufferQueueItf recordBufQ; +}; + +/* Factory prototypes */ +static pj_status_t opensl_init(pjmedia_aud_dev_factory *f); +static pj_status_t opensl_destroy(pjmedia_aud_dev_factory *f); +static pj_status_t opensl_refresh(pjmedia_aud_dev_factory *f); +static unsigned opensl_get_dev_count(pjmedia_aud_dev_factory *f); +static pj_status_t opensl_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info); +static pj_status_t opensl_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param); +static pj_status_t opensl_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm); + +/* Stream prototypes */ +static pj_status_t strm_get_param(pjmedia_aud_stream *strm, + pjmedia_aud_param *param); +static pj_status_t strm_get_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + void *value); +static pj_status_t strm_set_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + const void *value); +static pj_status_t strm_start(pjmedia_aud_stream *strm); +static pj_status_t strm_stop(pjmedia_aud_stream *strm); +static pj_status_t strm_destroy(pjmedia_aud_stream *strm); + +static pjmedia_aud_dev_factory_op opensl_op = +{ + &opensl_init, + &opensl_destroy, + &opensl_get_dev_count, + &opensl_get_dev_info, + &opensl_default_param, + &opensl_create_stream, + &opensl_refresh +}; + +static pjmedia_aud_stream_op opensl_strm_op = +{ + &strm_get_param, + &strm_get_cap, + &strm_set_cap, + &strm_start, + &strm_stop, + &strm_destroy +}; + +/* This callback is called every time a buffer finishes playing. */ +void bqPlayerCallback(W_SLBufferQueueItf bq, void *context) +{ + struct opensl_aud_stream *stream = (struct opensl_aud_stream*) context; + SLresult result; + int status; + + pj_assert(context != NULL); + pj_assert(bq == stream->playerBufQ); + + if (stream->play_thread_initialized == 0 || !pj_thread_is_registered()) + { + pj_bzero(stream->play_thread_desc, sizeof(pj_thread_desc)); + status = pj_thread_register("opensl_play", stream->play_thread_desc, + &stream->play_thread); + stream->play_thread_initialized = 1; + PJ_LOG(5, (THIS_FILE, "Player thread started")); + } + + if (!stream->quit_flag) { + pjmedia_frame frame; + char * buf; + + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.buf = buf = stream->playerBuffer[stream->playerBufIdx++]; + frame.size = stream->playerBufferSize; + frame.timestamp.u64 = stream->play_timestamp.u64; + frame.bit_info = 0; + + status = (*stream->play_cb)(stream->user_data, &frame); + if (status != PJ_SUCCESS || frame.type != PJMEDIA_FRAME_TYPE_AUDIO) + pj_bzero(buf, stream->playerBufferSize); + + stream->play_timestamp.u64 += stream->param.samples_per_frame / + stream->param.channel_count; + + result = (*bq)->Enqueue(bq, buf, stream->playerBufferSize); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Unable to enqueue next player buffer !!! %d", + result)); + } + + stream->playerBufIdx %= NUM_BUFFERS; + } +} + +/* This callback handler is called every time a buffer finishes recording */ +void bqRecorderCallback(W_SLBufferQueueItf bq, void *context) +{ + struct opensl_aud_stream *stream = (struct opensl_aud_stream*) context; + SLresult result; + int status; + + pj_assert(context != NULL); + pj_assert(bq == stream->recordBufQ); + + if (stream->rec_thread_initialized == 0 || !pj_thread_is_registered()) + { + pj_bzero(stream->rec_thread_desc, sizeof(pj_thread_desc)); + status = pj_thread_register("opensl_rec", stream->rec_thread_desc, + &stream->rec_thread); + PJ_UNUSED_ARG(status); /* Unused for now.. */ + stream->rec_thread_initialized = 1; + PJ_LOG(5, (THIS_FILE, "Recorder thread started")); + } + + if (!stream->quit_flag) { + pjmedia_frame frame; + char *buf; + + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.buf = buf = stream->recordBuffer[stream->recordBufIdx++]; + frame.size = stream->recordBufferSize; + frame.timestamp.u64 = stream->rec_timestamp.u64; + frame.bit_info = 0; + + status = (*stream->rec_cb)(stream->user_data, &frame); + + stream->rec_timestamp.u64 += stream->param.samples_per_frame / + stream->param.channel_count; + + /* And now enqueue next buffer */ + result = (*bq)->Enqueue(bq, buf, stream->recordBufferSize); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Unable to enqueue next record buffer !!! %d", + result)); + } + + stream->recordBufIdx %= NUM_BUFFERS; + } +} + +pj_status_t opensl_to_pj_error(SLresult code) +{ + switch(code) { + case SL_RESULT_SUCCESS: + return PJ_SUCCESS; + case SL_RESULT_PRECONDITIONS_VIOLATED: + case SL_RESULT_PARAMETER_INVALID: + case SL_RESULT_CONTENT_CORRUPTED: + case SL_RESULT_FEATURE_UNSUPPORTED: + return PJMEDIA_EAUD_INVOP; + case SL_RESULT_MEMORY_FAILURE: + case SL_RESULT_BUFFER_INSUFFICIENT: + return PJ_ENOMEM; + case SL_RESULT_RESOURCE_ERROR: + case SL_RESULT_RESOURCE_LOST: + case SL_RESULT_CONTROL_LOST: + return PJMEDIA_EAUD_NOTREADY; + case SL_RESULT_CONTENT_UNSUPPORTED: + return PJ_ENOTSUP; + default: + return PJMEDIA_EAUD_ERR; + } +} + +/* Init Android audio driver. */ +pjmedia_aud_dev_factory* pjmedia_opensl_factory(pj_pool_factory *pf) +{ + struct opensl_aud_factory *f; + pj_pool_t *pool; + + pool = pj_pool_create(pf, "opensles", 256, 256, NULL); + f = PJ_POOL_ZALLOC_T(pool, struct opensl_aud_factory); + f->pf = pf; + f->pool = pool; + f->base.op = &opensl_op; + + return &f->base; +} + +/* API: Init factory */ +static pj_status_t opensl_init(pjmedia_aud_dev_factory *f) +{ + struct opensl_aud_factory *pa = (struct opensl_aud_factory*)f; + SLresult result; + + /* Create engine */ + result = slCreateEngine(&pa->engineObject, 0, NULL, 0, NULL, NULL); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot create engine %d ", result)); + return opensl_to_pj_error(result); + } + + /* Realize the engine */ + result = (*pa->engineObject)->Realize(pa->engineObject, SL_BOOLEAN_FALSE); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot realize engine")); + opensl_destroy(f); + return opensl_to_pj_error(result); + } + + /* Get the engine interface, which is needed in order to create + * other objects. + */ + result = (*pa->engineObject)->GetInterface(pa->engineObject, + SL_IID_ENGINE, + &pa->engineEngine); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot get engine interface")); + opensl_destroy(f); + return opensl_to_pj_error(result); + } + + /* Create output mix */ + result = (*pa->engineEngine)->CreateOutputMix(pa->engineEngine, + &pa->outputMixObject, + 0, NULL, NULL); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot create output mix")); + opensl_destroy(f); + return opensl_to_pj_error(result); + } + + /* Realize the output mix */ + result = (*pa->outputMixObject)->Realize(pa->outputMixObject, + SL_BOOLEAN_FALSE); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot realize output mix")); + opensl_destroy(f); + return opensl_to_pj_error(result); + } + + PJ_LOG(4,(THIS_FILE, "OpenSL sound library initialized")); + return PJ_SUCCESS; +} + +/* API: Destroy factory */ +static pj_status_t opensl_destroy(pjmedia_aud_dev_factory *f) +{ + struct opensl_aud_factory *pa = (struct opensl_aud_factory*)f; + pj_pool_t *pool; + + PJ_LOG(4,(THIS_FILE, "OpenSL sound library shutting down..")); + + /* Destroy Output Mix object */ + if (pa->outputMixObject) { + (*pa->outputMixObject)->Destroy(pa->outputMixObject); + pa->outputMixObject = NULL; + } + + /* Destroy engine object, and invalidate all associated interfaces */ + if (pa->engineObject) { + (*pa->engineObject)->Destroy(pa->engineObject); + pa->engineObject = NULL; + pa->engineEngine = NULL; + } + + pool = pa->pool; + pa->pool = NULL; + pj_pool_release(pool); + + return PJ_SUCCESS; +} + +/* API: refresh the list of devices */ +static pj_status_t opensl_refresh(pjmedia_aud_dev_factory *f) +{ + PJ_UNUSED_ARG(f); + return PJ_SUCCESS; +} + +/* API: Get device count. */ +static unsigned opensl_get_dev_count(pjmedia_aud_dev_factory *f) +{ + PJ_UNUSED_ARG(f); + return 1; +} + +/* API: Get device info. */ +static pj_status_t opensl_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info) +{ + PJ_UNUSED_ARG(f); + + pj_bzero(info, sizeof(*info)); + + pj_ansi_strcpy(info->name, "OpenSL ES Audio"); + info->default_samples_per_sec = 8000; + info->caps = PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING; + info->input_count = 1; + info->output_count = 1; + + return PJ_SUCCESS; +} + +/* API: fill in with default parameter. */ +static pj_status_t opensl_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param) +{ + + pjmedia_aud_dev_info adi; + pj_status_t status; + + status = opensl_get_dev_info(f, index, &adi); + if (status != PJ_SUCCESS) + return status; + + pj_bzero(param, sizeof(*param)); + if (adi.input_count && adi.output_count) { + param->dir = PJMEDIA_DIR_CAPTURE_PLAYBACK; + param->rec_id = index; + param->play_id = index; + } else if (adi.input_count) { + param->dir = PJMEDIA_DIR_CAPTURE; + param->rec_id = index; + param->play_id = PJMEDIA_AUD_INVALID_DEV; + } else if (adi.output_count) { + param->dir = PJMEDIA_DIR_PLAYBACK; + param->play_id = index; + param->rec_id = PJMEDIA_AUD_INVALID_DEV; + } else { + return PJMEDIA_EAUD_INVDEV; + } + + param->clock_rate = adi.default_samples_per_sec; + param->channel_count = 1; + param->samples_per_frame = adi.default_samples_per_sec * 20 / 1000; + param->bits_per_sample = 16; + param->input_latency_ms = PJMEDIA_SND_DEFAULT_REC_LATENCY; + param->output_latency_ms = PJMEDIA_SND_DEFAULT_PLAY_LATENCY; + + return PJ_SUCCESS; +} + +/* API: create stream */ +static pj_status_t opensl_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm) +{ + /* Audio sink for recorder and audio source for player */ +#ifdef __ANDROID__ + SLDataLocator_AndroidSimpleBufferQueue loc_bq = + { SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, NUM_BUFFERS }; +#else + SLDataLocator_BufferQueue loc_bq = + { SL_DATALOCATOR_BUFFERQUEUE, NUM_BUFFERS }; +#endif + struct opensl_aud_factory *pa = (struct opensl_aud_factory*)f; + pj_pool_t *pool; + struct opensl_aud_stream *stream; + pj_status_t status = PJ_SUCCESS; + int i, bufferSize; + SLresult result; + SLDataFormat_PCM format_pcm; + + /* Only supports for mono channel for now */ + PJ_ASSERT_RETURN(param->channel_count == 1, PJ_EINVAL); + PJ_ASSERT_RETURN(play_cb && rec_cb && p_aud_strm, PJ_EINVAL); + + PJ_LOG(4,(THIS_FILE, "Creating OpenSL stream")); + + pool = pj_pool_create(pa->pf, "openslstrm", 1024, 1024, NULL); + if (!pool) + return PJ_ENOMEM; + + stream = PJ_POOL_ZALLOC_T(pool, struct opensl_aud_stream); + stream->pool = pool; + pj_strdup2_with_null(pool, &stream->name, "OpenSL"); + stream->dir = PJMEDIA_DIR_CAPTURE_PLAYBACK; + pj_memcpy(&stream->param, param, sizeof(*param)); + stream->user_data = user_data; + stream->rec_cb = rec_cb; + stream->play_cb = play_cb; + bufferSize = param->samples_per_frame * param->bits_per_sample / 8; + + /* Configure audio PCM format */ + format_pcm.formatType = SL_DATAFORMAT_PCM; + format_pcm.numChannels = param->channel_count; + /* Here samples per sec should be supported else we will get an error */ + format_pcm.samplesPerSec = (SLuint32) param->clock_rate * 1000; + format_pcm.bitsPerSample = (SLuint16) param->bits_per_sample; + format_pcm.containerSize = (SLuint16) param->bits_per_sample; + format_pcm.channelMask = SL_SPEAKER_FRONT_CENTER; + format_pcm.endianness = SL_BYTEORDER_LITTLEENDIAN; + + if (stream->dir & PJMEDIA_DIR_PLAYBACK) { + /* Audio source */ + SLDataSource audioSrc = {&loc_bq, &format_pcm}; + /* Audio sink */ + SLDataLocator_OutputMix loc_outmix = {SL_DATALOCATOR_OUTPUTMIX, + pa->outputMixObject}; + SLDataSink audioSnk = {&loc_outmix, NULL}; + /* Audio interface */ +#ifdef __ANDROID__ + int numIface = 3; + const SLInterfaceID ids[3] = {SL_IID_BUFFERQUEUE, + SL_IID_VOLUME, + SL_IID_ANDROIDCONFIGURATION}; + const SLboolean req[3] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE, + SL_BOOLEAN_TRUE}; + SLAndroidConfigurationItf playerConfig; + SLint32 streamType = SL_ANDROID_STREAM_VOICE; +#else + int numIface = 2; + const SLInterfaceID ids[2] = {SL_IID_BUFFERQUEUE, + SL_IID_VOLUME}; + const SLboolean req[2] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE}; +#endif + + /* Create audio player */ + result = (*pa->engineEngine)->CreateAudioPlayer(pa->engineEngine, + &stream->playerObj, + &audioSrc, &audioSnk, + numIface, ids, req); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot create audio player: %d", result)); + goto on_error; + } + +#ifdef __ANDROID__ + /* Set Android configuration */ + result = (*stream->playerObj)->GetInterface(stream->playerObj, + SL_IID_ANDROIDCONFIGURATION, + &playerConfig); + if (result == SL_RESULT_SUCCESS && playerConfig) { + result = (*playerConfig)->SetConfiguration( + playerConfig, SL_ANDROID_KEY_STREAM_TYPE, + &streamType, sizeof(SLint32)); + } + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(4, (THIS_FILE, "Warning: Unable to set android " + "player configuration")); + } +#endif + + /* Realize the player */ + result = (*stream->playerObj)->Realize(stream->playerObj, + SL_BOOLEAN_FALSE); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot realize player : %d", result)); + goto on_error; + } + + /* Get the play interface */ + result = (*stream->playerObj)->GetInterface(stream->playerObj, + SL_IID_PLAY, + &stream->playerPlay); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot get play interface")); + goto on_error; + } + + /* Get the buffer queue interface */ + result = (*stream->playerObj)->GetInterface(stream->playerObj, + SL_IID_BUFFERQUEUE, + &stream->playerBufQ); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot get buffer queue interface")); + goto on_error; + } + + /* Get the volume interface */ + result = (*stream->playerObj)->GetInterface(stream->playerObj, + SL_IID_VOLUME, + &stream->playerVol); + + /* Register callback on the buffer queue */ + result = (*stream->playerBufQ)->RegisterCallback(stream->playerBufQ, + bqPlayerCallback, + (void *)stream); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot register player callback")); + goto on_error; + } + + stream->playerBufferSize = bufferSize; + for (i = 0; i < NUM_BUFFERS; i++) { + stream->playerBuffer[i] = (char *) + pj_pool_alloc(stream->pool, + stream->playerBufferSize); + } + } + + if (stream->dir & PJMEDIA_DIR_CAPTURE) { + /* Audio source */ + SLDataLocator_IODevice loc_dev = {SL_DATALOCATOR_IODEVICE, + SL_IODEVICE_AUDIOINPUT, + SL_DEFAULTDEVICEID_AUDIOINPUT, + NULL}; + SLDataSource audioSrc = {&loc_dev, NULL}; + /* Audio sink */ + SLDataSink audioSnk = {&loc_bq, &format_pcm}; + /* Audio interface */ +#ifdef __ANDROID__ + int numIface = 2; + const SLInterfaceID ids[2] = {W_SL_IID_BUFFERQUEUE, + SL_IID_ANDROIDCONFIGURATION}; + const SLboolean req[2] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE}; + SLAndroidConfigurationItf recorderConfig; +#else + int numIface = 1; + const SLInterfaceID ids[1] = {W_SL_IID_BUFFERQUEUE}; + const SLboolean req[1] = {SL_BOOLEAN_TRUE}; +#endif + + /* Create audio recorder + * (requires the RECORD_AUDIO permission) + */ + result = (*pa->engineEngine)->CreateAudioRecorder(pa->engineEngine, + &stream->recordObj, + &audioSrc, &audioSnk, + numIface, ids, req); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot create recorder: %d", result)); + goto on_error; + } + +#ifdef __ANDROID__ + /* Set Android configuration */ + result = (*stream->recordObj)->GetInterface(stream->recordObj, + SL_IID_ANDROIDCONFIGURATION, + &recorderConfig); + if (result == SL_RESULT_SUCCESS) { + SLint32 streamType = SL_ANDROID_RECORDING_PRESET_GENERIC; +#if __ANDROID_API__ >= 14 + char sdk_version[PROP_VALUE_MAX]; + pj_str_t pj_sdk_version; + int sdk_v; + + __system_property_get("ro.build.version.sdk", sdk_version); + pj_sdk_version = pj_str(sdk_version); + sdk_v = pj_strtoul(&pj_sdk_version); + if (sdk_v >= 14) + streamType = SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION; + PJ_LOG(4, (THIS_FILE, "Recording stream type %d, SDK : %d", + streamType, sdk_v)); +#endif + result = (*recorderConfig)->SetConfiguration( + recorderConfig, SL_ANDROID_KEY_RECORDING_PRESET, + &streamType, sizeof(SLint32)); + } + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(4, (THIS_FILE, "Warning: Unable to set android " + "recorder configuration")); + } +#endif + + /* Realize the recorder */ + result = (*stream->recordObj)->Realize(stream->recordObj, + SL_BOOLEAN_FALSE); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot realize recorder : %d", result)); + goto on_error; + } + + /* Get the record interface */ + result = (*stream->recordObj)->GetInterface(stream->recordObj, + SL_IID_RECORD, + &stream->recordRecord); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot get record interface")); + goto on_error; + } + + /* Get the buffer queue interface */ + result = (*stream->recordObj)->GetInterface( + stream->recordObj, W_SL_IID_BUFFERQUEUE, + &stream->recordBufQ); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot get recorder buffer queue iface")); + goto on_error; + } + + /* Register callback on the buffer queue */ + result = (*stream->recordBufQ)->RegisterCallback(stream->recordBufQ, + bqRecorderCallback, + (void *) stream); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot register recorder callback")); + goto on_error; + } + + stream->recordBufferSize = bufferSize; + for (i = 0; i < NUM_BUFFERS; i++) { + stream->recordBuffer[i] = (char *) + pj_pool_alloc(stream->pool, + stream->recordBufferSize); + } + + } + + if (param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING) { + strm_set_cap(&stream->base, PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + ¶m->output_vol); + } + + /* Done */ + stream->base.op = &opensl_strm_op; + *p_aud_strm = &stream->base; + return PJ_SUCCESS; + +on_error: + strm_destroy(&stream->base); + return status; +} + +/* API: Get stream parameters */ +static pj_status_t strm_get_param(pjmedia_aud_stream *s, + pjmedia_aud_param *pi) +{ + struct opensl_aud_stream *strm = (struct opensl_aud_stream*)s; + PJ_ASSERT_RETURN(strm && pi, PJ_EINVAL); + pj_memcpy(pi, &strm->param, sizeof(*pi)); + + if (strm_get_cap(s, PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + &pi->output_vol) == PJ_SUCCESS) + { + pi->flags |= PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING; + } + + return PJ_SUCCESS; +} + +/* API: get capability */ +static pj_status_t strm_get_cap(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + void *pval) +{ + struct opensl_aud_stream *strm = (struct opensl_aud_stream*)s; + pj_status_t status = PJMEDIA_EAUD_INVCAP; + + PJ_ASSERT_RETURN(s && pval, PJ_EINVAL); + + if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING && + (strm->param.dir & PJMEDIA_DIR_PLAYBACK)) + { + if (strm->playerVol) { + SLresult res; + SLmillibel vol, mvol; + + res = (*strm->playerVol)->GetMaxVolumeLevel(strm->playerVol, + &mvol); + if (res == SL_RESULT_SUCCESS) { + res = (*strm->playerVol)->GetVolumeLevel(strm->playerVol, + &vol); + if (res == SL_RESULT_SUCCESS) { + *(int *)pval = ((int)vol - SL_MILLIBEL_MIN) * 100 / + ((int)mvol - SL_MILLIBEL_MIN); + return PJ_SUCCESS; + } + } + } + } + + return status; +} + +/* API: set capability */ +static pj_status_t strm_set_cap(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + const void *value) +{ + struct opensl_aud_stream *strm = (struct opensl_aud_stream*)s; + + PJ_ASSERT_RETURN(s && value, PJ_EINVAL); + + if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING && + (strm->param.dir & PJMEDIA_DIR_PLAYBACK)) + { + if (strm->playerVol) { + SLresult res; + SLmillibel vol, mvol; + + res = (*strm->playerVol)->GetMaxVolumeLevel(strm->playerVol, + &mvol); + if (res == SL_RESULT_SUCCESS) { + vol = (SLmillibel)(*(int *)value * + ((int)mvol - SL_MILLIBEL_MIN) / 100 + SL_MILLIBEL_MIN); + res = (*strm->playerVol)->SetVolumeLevel(strm->playerVol, + vol); + if (res == SL_RESULT_SUCCESS) + return PJ_SUCCESS; + } + } + } + + return PJMEDIA_EAUD_INVCAP; +} + +/* API: start stream. */ +static pj_status_t strm_start(pjmedia_aud_stream *s) +{ + struct opensl_aud_stream *stream = (struct opensl_aud_stream*)s; + int i; + SLresult result = SL_RESULT_SUCCESS; + + PJ_LOG(4, (THIS_FILE, "Starting %s stream..", stream->name.ptr)); + stream->quit_flag = 0; + + if (stream->recordBufQ && stream->recordRecord) { + /* Enqueue an empty buffer to be filled by the recorder + * (for streaming recording, we need to enqueue at least 2 empty + * buffers to start things off) + */ + for (i = 0; i < NUM_BUFFERS; i++) { + result = (*stream->recordBufQ)->Enqueue(stream->recordBufQ, + stream->recordBuffer[i], + stream->recordBufferSize); + /* The most likely other result is SL_RESULT_BUFFER_INSUFFICIENT, + * which for this code would indicate a programming error + */ + pj_assert(result == SL_RESULT_SUCCESS); + } + + result = (*stream->recordRecord)->SetRecordState( + stream->recordRecord, SL_RECORDSTATE_RECORDING); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot start recorder")); + goto on_error; + } + } + + if (stream->playerPlay && stream->playerBufQ) { + /* Set the player's state to playing */ + result = (*stream->playerPlay)->SetPlayState(stream->playerPlay, + SL_PLAYSTATE_PLAYING); + if (result != SL_RESULT_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Cannot start player")); + goto on_error; + } + + for (i = 0; i < NUM_BUFFERS; i++) { + pj_bzero(stream->playerBuffer[i], stream->playerBufferSize/100); + result = (*stream->playerBufQ)->Enqueue(stream->playerBufQ, + stream->playerBuffer[i], + stream->playerBufferSize/100); + pj_assert(result == SL_RESULT_SUCCESS); + } + } + + PJ_LOG(4, (THIS_FILE, "%s stream started", stream->name.ptr)); + return PJ_SUCCESS; + +on_error: + if (result != SL_RESULT_SUCCESS) + strm_stop(&stream->base); + return opensl_to_pj_error(result); +} + +/* API: stop stream. */ +static pj_status_t strm_stop(pjmedia_aud_stream *s) +{ + struct opensl_aud_stream *stream = (struct opensl_aud_stream*)s; + + if (stream->quit_flag) + return PJ_SUCCESS; + + PJ_LOG(4, (THIS_FILE, "Stopping stream")); + + stream->quit_flag = 1; + + if (stream->recordBufQ && stream->recordRecord) { + /* Stop recording and clear buffer queue */ + (*stream->recordRecord)->SetRecordState(stream->recordRecord, + SL_RECORDSTATE_STOPPED); + (*stream->recordBufQ)->Clear(stream->recordBufQ); + } + + if (stream->playerBufQ && stream->playerPlay) { + /* Wait until the PCM data is done playing, the buffer queue callback + * will continue to queue buffers until the entire PCM data has been + * played. This is indicated by waiting for the count member of the + * SLBufferQueueState to go to zero. + */ +/* + SLresult result; + W_SLBufferQueueState state; + + result = (*stream->playerBufQ)->GetState(stream->playerBufQ, &state); + while (state.count) { + (*stream->playerBufQ)->GetState(stream->playerBufQ, &state); + } */ + /* Stop player */ + (*stream->playerPlay)->SetPlayState(stream->playerPlay, + SL_PLAYSTATE_STOPPED); + } + + PJ_LOG(4,(THIS_FILE, "OpenSL stream stopped")); + + return PJ_SUCCESS; + +} + +/* API: destroy stream. */ +static pj_status_t strm_destroy(pjmedia_aud_stream *s) +{ + struct opensl_aud_stream *stream = (struct opensl_aud_stream*)s; + + /* Stop the stream */ + strm_stop(s); + + if (stream->playerObj) { + /* Destroy the player */ + (*stream->playerObj)->Destroy(stream->playerObj); + /* Invalidate all associated interfaces */ + stream->playerObj = NULL; + stream->playerPlay = NULL; + stream->playerBufQ = NULL; + stream->playerVol = NULL; + } + + if (stream->recordObj) { + /* Destroy the recorder */ + (*stream->recordObj)->Destroy(stream->recordObj); + /* Invalidate all associated interfaces */ + stream->recordObj = NULL; + stream->recordRecord = NULL; + stream->recordBufQ = NULL; + } + + pj_pool_release(stream->pool); + PJ_LOG(4, (THIS_FILE, "OpenSL stream destroyed")); + + return PJ_SUCCESS; +} + +#endif /* PJMEDIA_AUDIO_DEV_HAS_OPENSL */ diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/pa_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/pa_dev.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/pa_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/pa_dev.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/s60_g729_bitstream.h b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/s60_g729_bitstream.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/s60_g729_bitstream.h rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/s60_g729_bitstream.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/symb_mda_dev.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/symb_vas_dev.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/wmme_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/wmme_dev.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/wmme_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/wmme_dev.c index 3f9dff78fa710e4bc0bee968f67e5771ea20b8cb..ff90141387781fd6f4fedda27da2e6a526fb8246 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-audiodev/wmme_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-audiodev/wmme_dev.c @@ -1,4 +1,4 @@ -/* $Id: wmme_dev.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: wmme_dev.c 4760 2014-02-24 08:49:40Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -742,7 +742,7 @@ static pj_status_t init_player_stream( struct wmme_factory *wf, */ mr = waveOutOpen(&wmme_strm->hWave.Out, wf->dev_info[prm->play_id].deviceId, - &wfx, (DWORD)wmme_strm->hEvent, 0, flag); + &wfx, (DWORD_PTR)wmme_strm->hEvent, 0, flag); if (mr != MMSYSERR_NOERROR) { return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(mr); } @@ -833,7 +833,7 @@ static pj_status_t init_capture_stream( struct wmme_factory *wf, */ mr = waveInOpen(&wmme_strm->hWave.In, wf->dev_info[prm->rec_id].deviceId, - &wfx, (DWORD)wmme_strm->hEvent, 0, flag); + &wfx, (DWORD_PTR)wmme_strm->hEvent, 0, flag); if (mr != MMSYSERR_NOERROR) { return PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_IN(mr); } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/amr_sdp_match.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/amr_sdp_match.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/amr_sdp_match.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/amr_sdp_match.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/audio_codecs.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/audio_codecs.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/audio_codecs.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/audio_codecs.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c index a71a2cc57910810a030373e8bb447c8ffa686f79..a0abef87dad3dbbbc4b61f496d3740c87724265b 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/ffmpeg_vid_codecs.c @@ -1,4 +1,4 @@ -/* $Id: ffmpeg_vid_codecs.c 4311 2012-12-20 06:45:09Z nanang $ */ +/* $Id: ffmpeg_vid_codecs.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) * @@ -454,7 +454,7 @@ static pj_status_t h264_preopen(ffmpeg_private *ff) * extradata of ffmpeg codec context. */ if (data->fmtp.sprop_param_sets_len) { - ctx->extradata_size = data->fmtp.sprop_param_sets_len; + ctx->extradata_size = (int)data->fmtp.sprop_param_sets_len; ctx->extradata = data->fmtp.sprop_param_sets; } } @@ -1288,10 +1288,10 @@ static pj_status_t ffmpeg_codec_open( pjmedia_vid_codec *codec, /* Alloc buffers if needed */ ff->whole = (ff->param.packing == PJMEDIA_VID_PACKING_WHOLE); if (!ff->whole) { - ff->enc_buf_size = ff->enc_vafp.framebytes; + ff->enc_buf_size = (unsigned)ff->enc_vafp.framebytes; ff->enc_buf = pj_pool_alloc(ff->pool, ff->enc_buf_size); - ff->dec_buf_size = ff->dec_vafp.framebytes; + ff->dec_buf_size = (unsigned)ff->dec_vafp.framebytes; ff->dec_buf = pj_pool_alloc(ff->pool, ff->dec_buf_size); } @@ -1420,7 +1420,7 @@ static pj_status_t ffmpeg_codec_encode_whole(pjmedia_vid_codec *codec, */ PJ_ALIGN_DATA(pj_uint32_t i[4], 16); - if ((long)i & 0xF) { + if ((long)(pj_ssize_t)i & 0xF) { PJ_LOG(2,(THIS_FILE, "Stack alignment fails")); } @@ -1502,7 +1502,8 @@ static pj_status_t ffmpeg_codec_encode_begin(pjmedia_vid_codec *codec, whole_frm.buf = ff->enc_buf; whole_frm.size = ff->enc_buf_size; status = ffmpeg_codec_encode_whole(codec, opt, input, - whole_frm.size, &whole_frm); + (unsigned)whole_frm.size, + &whole_frm); if (status != PJ_SUCCESS) return status; @@ -1618,7 +1619,7 @@ static pj_status_t check_decode_result(pjmedia_vid_codec *codec, PJ_LOG(5,(THIS_FILE, "Reallocating decoding buffer %u --> %u", (unsigned)ff->dec_buf_size, (unsigned)ff->dec_vafp.framebytes)); - ff->dec_buf_size = ff->dec_vafp.framebytes; + ff->dec_buf_size = (unsigned)ff->dec_vafp.framebytes; ff->dec_buf = pj_pool_alloc(ff->pool, ff->dec_buf_size); } @@ -1681,7 +1682,7 @@ static pj_status_t ffmpeg_codec_decode_whole(pjmedia_vid_codec *codec, /* Init packet, the container of the encoded data */ av_init_packet(&avpacket); avpacket.data = (pj_uint8_t*)input->buf; - avpacket.size = input->size; + avpacket.size = (int)input->size; /* ffmpeg warns: * - input buffer padding, at least FF_INPUT_BUFFER_PADDING_SIZE diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722/g722_dec.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722/g722_dec.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722/g722_dec.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722/g722_dec.c index c6edc368de24feff3a7ccb2b4bc26563b0158a60..9b256e0f9bb1774690af5c51b0c9a1cdc7f045d6 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722/g722_dec.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722/g722_dec.c @@ -1,4 +1,4 @@ -/* $Id: g722_dec.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: g722_dec.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -450,7 +450,7 @@ static int block5h (int dh, int sh) return (rh) ; } -void rx_qmf(g722_dec_t *dec, int rl, int rh, int *xout1, int *xout2) +static void rx_qmf(g722_dec_t *dec, int rl, int rh, int *xout1, int *xout2) { int i; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722/g722_dec.h b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722/g722_dec.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722/g722_dec.h rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722/g722_dec.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722/g722_enc.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722/g722_enc.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722/g722_enc.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722/g722_enc.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722/g722_enc.h b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722/g722_enc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g722/g722_enc.h rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g722/g722_enc.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g7221.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g7221.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g7221.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g7221.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g7221_sdp_match.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g7221_sdp_match.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/g7221_sdp_match.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/g7221_sdp_match.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/gsm.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/gsm.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/gsm.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/gsm.c index c84f2413144de539a3127747f146c6b71a1c933f..c4508d0f8957eafc866815b475ccded0240dc028 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/gsm.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/gsm.c @@ -1,4 +1,4 @@ -/* $Id: gsm.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: gsm.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -530,7 +530,7 @@ static pj_status_t gsm_codec_encode( pjmedia_codec *codec, { struct gsm_data *gsm_data = (struct gsm_data*) codec->codec_data; pj_int16_t *pcm_in; - unsigned in_size; + pj_size_t in_size; pj_assert(gsm_data && input && output); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/h263_packetizer.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/h263_packetizer.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/h263_packetizer.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/h263_packetizer.c index a95324298a6fd5ff8d9ffc4ffd9e82220bd8bc5b..045583ac79f81f09ad44724f56025b3f325db108 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/h263_packetizer.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/h263_packetizer.c @@ -1,4 +1,4 @@ -/* $Id: h263_packetizer.c 4006 2012-04-02 08:40:54Z nanang $ */ +/* $Id: h263_packetizer.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -155,7 +155,7 @@ PJ_DEF(pj_status_t) pjmedia_h263_packetize(pjmedia_h263_packetizer *pktz, *payload = p; *payload_len = end-p; - *pos = end - bits; + *pos = (unsigned)(end - bits); return PJ_SUCCESS; } @@ -273,7 +273,7 @@ PJ_DEF(pj_status_t) pjmedia_h263_unpacketize (pjmedia_h263_packetizer *pktz, /* Write two zero octets when payload flagged with sync point */ if (P) { - pktz->unpack_last_sync_pos = q - bits; + pktz->unpack_last_sync_pos = (unsigned)(q - bits); *q++ = 0; *q++ = 0; } @@ -283,7 +283,7 @@ PJ_DEF(pj_status_t) pjmedia_h263_unpacketize (pjmedia_h263_packetizer *pktz, q += payload_len; /* Update the bitstream writing offset */ - *pos = q - bits; + *pos = (unsigned)(q - bits); pktz->unpack_prev_lost = PJ_FALSE; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/h264_packetizer.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/h264_packetizer.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/h264_packetizer.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/h264_packetizer.c index 59ca418d47291fb4fbecf9c58f882c770e3dd78a..9b22334eb89a5bed6a9717117d0432414ef009ec 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/h264_packetizer.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/h264_packetizer.c @@ -1,4 +1,4 @@ -/* $Id: h264_packetizer.c 4006 2012-04-02 08:40:54Z nanang $ */ +/* $Id: h264_packetizer.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2011 Teluu Inc. (http://www.teluu.com) * @@ -214,7 +214,7 @@ PJ_DEF(pj_status_t) pjmedia_h264_packetize(pjmedia_h264_packetizer *pktz, *payload_len = pktz->cfg.mtu; else *payload_len = nal_end - nal_start + HEADER_SIZE_FU_A; - *pos = *payload + *payload_len - buf; + *pos = (unsigned)(*payload + *payload_len - buf); #if DBG_PACKETIZE PJ_LOG(3, ("h264pack", "Packetized fragmented H264 NAL unit " @@ -242,7 +242,7 @@ PJ_DEF(pj_status_t) pjmedia_h264_packetize(pjmedia_h264_packetizer *pktz, /* Init the first NAL unit in the packet */ nal[0] = nal_start; nal_size[0] = nal_end - nal_start; - total_size = nal_size[0] + HEADER_SIZE_STAP_A; + total_size = (int)nal_size[0] + HEADER_SIZE_STAP_A; NRI = (*nal_octet & 0x60) >> 5; /* Populate next NAL units */ @@ -266,7 +266,7 @@ PJ_DEF(pj_status_t) pjmedia_h264_packetize(pjmedia_h264_packetizer *pktz, } /* Update total payload size (2 octet NAL size + NAL) */ - total_size += (2 + nal_size[nal_cnt]); + total_size += (2 + (int)nal_size[nal_cnt]); if (total_size <= pktz->cfg.mtu) { pj_uint8_t tmp_nri; @@ -306,7 +306,7 @@ PJ_DEF(pj_status_t) pjmedia_h264_packetize(pjmedia_h264_packetizer *pktz, *payload = nal[0] - HEADER_SIZE_STAP_A; pj_assert(*payload >= buf+*pos); *payload_len = p - *payload; - *pos = nal[nal_cnt-1] + nal_size[nal_cnt-1] - buf; + *pos = (unsigned)(nal[nal_cnt-1] + nal_size[nal_cnt-1] - buf); #if DBG_PACKETIZE PJ_LOG(3, ("h264pack", "Packetized aggregation of " @@ -321,7 +321,7 @@ PJ_DEF(pj_status_t) pjmedia_h264_packetize(pjmedia_h264_packetizer *pktz, /* Single NAL unit packet */ *payload = nal_start; *payload_len = nal_end - nal_start; - *pos = nal_end - buf; + *pos = (unsigned)(nal_end - buf); #if DBG_PACKETIZE PJ_LOG(3, ("h264pack", "Packetized single H264 NAL unit " @@ -399,7 +399,7 @@ PJ_DEF(pj_status_t) pjmedia_h264_unpacketize(pjmedia_h264_packetizer *pktz, p += payload_len; /* Update the bitstream writing offset */ - *bits_pos = p - bits; + *bits_pos = (unsigned)(p - bits); pktz->unpack_last_sync_pos = *bits_pos; #if DBG_UNPACKETIZE @@ -450,7 +450,7 @@ PJ_DEF(pj_status_t) pjmedia_h264_unpacketize(pjmedia_h264_packetizer *pktz, ++cnt; /* Update the bitstream writing offset */ - *bits_pos = p - bits; + *bits_pos = (unsigned)(p - bits); pktz->unpack_last_sync_pos = *bits_pos; } @@ -509,7 +509,7 @@ PJ_DEF(pj_status_t) pjmedia_h264_unpacketize(pjmedia_h264_packetizer *pktz, p += (payload_len - 2); /* Update the bitstream writing offset */ - *bits_pos = p - bits; + *bits_pos = (unsigned)(p - bits); if (E) { /* Update the sync pos only if the end bit flag is set */ pktz->unpack_last_sync_pos = *bits_pos; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/ilbc.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/ilbc.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/ilbc.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/ilbc.c index bbebdfe8cf5d5686e09a2de531a137d9a8f2abb1..82fbb47b2672f86a6f83a93368827d4a9f34581b 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/ilbc.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/ilbc.c @@ -1,4 +1,4 @@ -/* $Id: ilbc.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: ilbc.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -668,7 +668,7 @@ static pj_status_t ilbc_codec_encode(pjmedia_codec *codec, { struct ilbc_codec *ilbc_codec = (struct ilbc_codec*)codec; pj_int16_t *pcm_in; - unsigned nsamples; + pj_size_t nsamples; #if defined(PJMEDIA_ILBC_CODEC_USE_COREAUDIO)&& PJMEDIA_ILBC_CODEC_USE_COREAUDIO UInt32 npackets; OSStatus err; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/ipp_codecs.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/ipp_codecs.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/ipp_codecs.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/ipp_codecs.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/l16.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/l16.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/l16.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/l16.c index 063abc98cf60f133bc2496974a88047ee26c7daa..99c036e85e087eec5e3bb894df77bc68d296d10e 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/l16.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/l16.c @@ -1,4 +1,4 @@ -/* $Id: l16.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: l16.c 4621 2013-10-17 02:43:59Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -684,7 +684,7 @@ static pj_status_t l16_decode(pjmedia_codec *codec, /* Decode */ #if defined(PJ_IS_LITTLE_ENDIAN) && PJ_IS_LITTLE_ENDIAN!=0 while (samp!=samp_end) - *samp_out++ = pj_htons(*samp++); + *samp_out++ = pj_ntohs(*samp++); #else pjmedia_copy_samples(samp_out, samp, input->size >> 1); #endif diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/opencore_amr.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/opencore_amr.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/opencore_amr.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/opencore_amr.c index ccfcc2e8f7305da94879985d5ae2439bbc31e475..82b6c0f220abcd7e1cf4cc2cdc419991ccac87d7 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/opencore_amr.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/opencore_amr.c @@ -1,4 +1,4 @@ -/* $Id: opencore_amr.c 4348 2013-02-14 02:00:13Z ming $ */ +/* $Id: opencore_amr.c 4487 2013-04-23 05:37:41Z bennylp $ */ /* * Copyright (C) 2011-2013 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2011 Dan Arrhenius <dan@keystream.se> @@ -420,7 +420,7 @@ static pj_status_t amr_default_attr( pjmedia_codec_factory *factory, attr->info.frm_ptime = 20; attr->info.pt = (pj_uint8_t)id->pt; - attr->setting.frm_per_pkt = 2; + attr->setting.frm_per_pkt = 1; attr->setting.vad = 1; attr->setting.plc = 1; @@ -808,7 +808,6 @@ static pj_status_t amr_codec_encode( pjmedia_codec *codec, pj_size_t payload_len; unsigned dtx_cnt, sid_cnt; pj_status_t status; - int size; pj_assert(amr_data != NULL); PJ_ASSERT_RETURN(input && output, PJ_EINVAL); @@ -826,16 +825,21 @@ static pj_status_t amr_codec_encode( pjmedia_codec *codec, speech = (pj_int16_t*)input->buf; bitstream = (unsigned char*)output->buf; while (nsamples >= samples_per_frame) { + int size; if (amr_data->enc_setting.amr_nb) { #ifdef USE_AMRNB size = Encoder_Interface_Encode (amr_data->encoder, amr_data->enc_mode, speech, bitstream, 0); +#else + size = 0; #endif } else { #ifdef USE_AMRWB size = E_IF_encode (amr_data->encoder, amr_data->enc_mode, speech, bitstream, 0); +#else + size = 0; #endif } if (size == 0) { diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/passthrough.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/passthrough.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/passthrough.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/passthrough.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/silk.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/silk.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/silk.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/silk.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/speex_codec.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/speex_codec.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/speex_codec.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/speex_codec.c index 4623ef5e6b729c9b2334e8fc564e46224c345084..6faa1da280d2dc98bb8c0cfe416029129f320bc0 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-codec/speex_codec.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-codec/speex_codec.c @@ -1,4 +1,4 @@ -/* $Id: speex_codec.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: speex_codec.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -725,7 +725,7 @@ static pj_status_t spx_codec_modify(pjmedia_codec *codec, /* This function will iterate frames & submodes in the Speex bits. * Returns 0 if a frame found, otherwise returns -1. */ -int speex_get_next_frame(SpeexBits *bits) +static int speex_get_next_frame(SpeexBits *bits) { static const int inband_skip_table[NB_SUBMODES] = {1, 1, 4, 4, 4, 4, 4, 4, 8, 8, 16, 16, 32, 32, 64, 64 }; @@ -840,7 +840,7 @@ static pj_status_t spx_codec_parse( pjmedia_codec *codec, samples_per_frame=spx_factory.speex_param[spx->param_id].samples_per_frame; /* Copy the data into the speex bit-stream */ - speex_bits_read_from(&spx->dec_bits, (char*)pkt, pkt_size); + speex_bits_read_from(&spx->dec_bits, (char*)pkt, (int)pkt_size); while (speex_get_next_frame(&spx->dec_bits) == 0 && spx->dec_bits.charPtr != char_ptr) @@ -877,7 +877,7 @@ static pj_status_t spx_codec_encode( pjmedia_codec *codec, unsigned samples_per_frame; int tx = 0; spx_int16_t *pcm_in = (spx_int16_t*)input->buf; - unsigned nsamples; + pj_size_t nsamples; spx = (struct spx_private*) codec->codec_data; @@ -952,7 +952,7 @@ static pj_status_t spx_codec_decode( pjmedia_codec *codec, } /* Copy the data into the bit-stream struct */ - speex_bits_read_from(&spx->dec_bits, (char*)input->buf, input->size); + speex_bits_read_from(&spx->dec_bits, (char*)input->buf, (int)input->size); /* Set Speex dec_bits pointer to the start bit of the frame */ speex_bits_advance(&spx->dec_bits, input->bit_info); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/avi_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/avi_dev.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/avi_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/avi_dev.c index 298fb5324d410167c60b5152962192058fa61762..e31e703970d1071a02df5b0b514bbc345bb95feb 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/avi_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/avi_dev.c @@ -1,4 +1,4 @@ -/* $Id: avi_dev.c 4086 2012-04-26 02:44:41Z ming $ */ +/* $Id: avi_dev.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -628,7 +628,7 @@ static pj_status_t avi_dev_strm_get_frame(pjmedia_vid_dev_stream *strm, return status; return pjmedia_vid_codec_decode(stream->adi->codec, 1, &enc_frame, - frame->size, frame); + (unsigned)frame->size, frame); } else { return pjmedia_port_get_frame(stream->adi->vid, frame); } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/colorbar_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/colorbar_dev.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/colorbar_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/colorbar_dev.c index a3bb4ebf919363e611aa720562238a4cacc5c071..7c7cb75c3f6939c090e9a99dcbe26b5373f52e13 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/colorbar_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/colorbar_dev.c @@ -1,4 +1,4 @@ -/* $Id: colorbar_dev.c 4158 2012-06-06 09:56:14Z nanang $ */ +/* $Id: colorbar_dev.c 4722 2014-01-29 10:40:40Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -23,8 +23,10 @@ #include <pj/rand.h> -#if defined(PJMEDIA_VIDEO_DEV_HAS_CBAR_SRC) && \ +#if defined(PJMEDIA_HAS_VIDEO) && PJMEDIA_HAS_VIDEO != 0 && \ + defined(PJMEDIA_VIDEO_DEV_HAS_CBAR_SRC) && \ PJMEDIA_VIDEO_DEV_HAS_CBAR_SRC != 0 + #define THIS_FILE "colorbar_dev.c" diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/dshow_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/dshow_dev.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/dshow_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/dshow_dev.c index f05d94ae07b3e964d3d945ec319695d9d2a05ae2..e9bc8e6d5a9a800876b8c14fc6aee36177cadeab 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/dshow_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/dshow_dev.c @@ -1,4 +1,4 @@ -/* $Id: dshow_dev.c 4253 2012-09-13 08:35:24Z ming $ */ +/* $Id: dshow_dev.c 4722 2014-01-29 10:40:40Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -23,7 +23,8 @@ #include <pj/unicode.h> -#if defined(PJMEDIA_VIDEO_DEV_HAS_DSHOW) && PJMEDIA_VIDEO_DEV_HAS_DSHOW != 0 +#if defined(PJMEDIA_HAS_VIDEO) && PJMEDIA_HAS_VIDEO != 0 && \ + defined(PJMEDIA_VIDEO_DEV_HAS_DSHOW) && PJMEDIA_VIDEO_DEV_HAS_DSHOW != 0 #ifdef _MSC_VER @@ -633,7 +634,7 @@ static pj_status_t dshow_stream_put_frame(pjmedia_vid_dev_stream *strm, } hr = SourceFilter_Deliver(stream->dgraph.csource_filter, - frame->buf, frame->size); + frame->buf, (long)frame->size); if (FAILED(hr)) return hr; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/dshowclasses.cpp b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/dshowclasses.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/dshowclasses.cpp rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/dshowclasses.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/errno.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/errno.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/errno.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/errno.c index ffcccf720aa6602e01055c8f88912606d904d2f0..a17710e57b1b551cd398eba0c69ff182e6741749 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/errno.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/errno.c @@ -1,4 +1,4 @@ -/* $Id: errno.c 3715 2011-08-19 09:35:25Z nanang $ */ +/* $Id: errno.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -111,7 +111,8 @@ PJ_DEF(pj_str_t) pjmedia_videodev_strerror(pj_status_t statcode, errstr.slen = pj_ansi_snprintf(buf, bufsize, "Unknown pjmedia-videodev error %d", statcode); - + if (errstr.slen < 1 || errstr.slen >= (pj_ssize_t)bufsize) + errstr.slen = bufsize - 1; return errstr; } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/ffmpeg_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/ffmpeg_dev.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/ffmpeg_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/ffmpeg_dev.c index fe8078b39a38da2377a69dd2ec9b3ba126a49065..849b7606e632715b87e68e3c50a606e63faa117b 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/ffmpeg_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/ffmpeg_dev.c @@ -1,4 +1,4 @@ -/* $Id: ffmpeg_dev.c 3893 2011-12-01 10:49:07Z ming $ */ +/* $Id: ffmpeg_dev.c 4722 2014-01-29 10:40:40Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -38,7 +38,8 @@ #include <pj/unicode.h> -#if defined(PJMEDIA_VIDEO_DEV_HAS_FFMPEG) && PJMEDIA_VIDEO_DEV_HAS_FFMPEG != 0 +#if defined(PJMEDIA_HAS_VIDEO) && PJMEDIA_HAS_VIDEO != 0 && \ + defined(PJMEDIA_VIDEO_DEV_HAS_FFMPEG) && PJMEDIA_VIDEO_DEV_HAS_FFMPEG != 0 #define THIS_FILE "ffmpeg.c" @@ -278,7 +279,8 @@ static pj_status_t ffmpeg_factory_refresh(pjmedia_vid_dev_factory *f) info->host_api = p; -#if defined(PJ_WIN32) && PJ_WIN32!=0 +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) info->def_devname = "0"; #elif defined(PJ_LINUX) && PJ_LINUX!=0 info->def_devname = "/dev/video0"; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/ios_dev.m b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/ios_dev.m similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/ios_dev.m rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/ios_dev.m index c842af98448b9e6687d1d772b5deb760bb648dfa..784244d6256c4815f8c2c7fab585737558c8383d 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/ios_dev.m +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/ios_dev.m @@ -1,4 +1,4 @@ -/* $Id: ios_dev.m 3979 2012-03-20 08:55:33Z ming $ */ +/* $Id: ios_dev.m 4722 2014-01-29 10:40:40Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -21,7 +21,9 @@ #include <pj/log.h> #include <pj/os.h> -#if PJMEDIA_VIDEO_DEV_HAS_IOS +#if defined(PJMEDIA_HAS_VIDEO) && PJMEDIA_HAS_VIDEO != 0 && \ + defined(PJMEDIA_VIDEO_DEV_HAS_IOS) && PJMEDIA_VIDEO_DEV_HAS_IOS != 0 + #include "Availability.h" #ifdef __IPHONE_4_0 diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/qt_dev.m b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/qt_dev.m similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/qt_dev.m rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/qt_dev.m index 10dfe2e83706ba758a0552f01bb209a950ee4ee5..40d27528b6735a42576b38f6edd2d459b58a8a8b 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/qt_dev.m +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/qt_dev.m @@ -1,4 +1,4 @@ -/* $Id: qt_dev.m 3979 2012-03-20 08:55:33Z ming $ */ +/* $Id: qt_dev.m 4722 2014-01-29 10:40:40Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -21,7 +21,8 @@ #include <pj/log.h> #include <pj/os.h> -#if PJMEDIA_VIDEO_DEV_HAS_QT +#if defined(PJMEDIA_HAS_VIDEO) && PJMEDIA_HAS_VIDEO != 0 && \ + defined(PJMEDIA_VIDEO_DEV_HAS_QT) && PJMEDIA_VIDEO_DEV_HAS_QT != 0 #include <Foundation/NSAutoreleasePool.h> #include <QTKit/QTKit.h> diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/sdl_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/sdl_dev.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/sdl_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/sdl_dev.c index 9c0944b7bb9c45d7fd322f1cb2e86345b2424191..207c9f656cde4b0bf5bc4d44e088e290ab0e6c42 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/sdl_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/sdl_dev.c @@ -1,4 +1,4 @@ -/* $Id: sdl_dev.c 4414 2013-03-05 08:21:02Z riza $ */ +/* $Id: sdl_dev.c 4722 2014-01-29 10:40:40Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -21,7 +21,8 @@ #include <pj/log.h> #include <pj/os.h> -#if defined(PJMEDIA_VIDEO_DEV_HAS_SDL) && PJMEDIA_VIDEO_DEV_HAS_SDL != 0 +#if defined(PJMEDIA_HAS_VIDEO) && PJMEDIA_HAS_VIDEO != 0 && \ + defined(PJMEDIA_VIDEO_DEV_HAS_SDL) && PJMEDIA_VIDEO_DEV_HAS_SDL != 0 #include <SDL.h> #include <SDL_syswm.h> @@ -261,6 +262,13 @@ static pjmedia_vid_dev_stream_op stream_op = &sdl_stream_destroy }; +/* + * Util + */ +static void sdl_log_err(const char *op) +{ + PJ_LOG(1,(THIS_FILE, "%s error: %s", op, SDL_GetError())); +} /**************************************************************************** * Factory operations @@ -287,7 +295,7 @@ static pj_status_t sdl_init(void * data) PJ_UNUSED_ARG(data); if (SDL_Init(SDL_INIT_VIDEO)) { - PJ_LOG(3, (THIS_FILE, "Failed initializing SDL")); + sdl_log_err("SDL_Init()"); return PJMEDIA_EVID_INIT; } @@ -441,6 +449,8 @@ static pj_status_t sdl_factory_init(pjmedia_vid_dev_factory *f) pj_status_t status; SDL_version version; + pj_list_init(&sf->streams); + status = job_queue_create(sf->pool, &sf->jq); if (status != PJ_SUCCESS) return PJMEDIA_EVID_INIT; @@ -449,7 +459,6 @@ static pj_status_t sdl_factory_init(pjmedia_vid_dev_factory *f) if (status != PJ_SUCCESS) return status; - pj_list_init(&sf->streams); status = pj_mutex_create_recursive(sf->pool, "sdl_factory", &sf->mutex); if (status != PJ_SUCCESS) @@ -733,6 +742,10 @@ static pj_status_t sdl_create_rend(struct sdl_stream * strm, /* Use the window supplied by the application. */ strm->window = SDL_CreateWindowFrom( strm->param.window.info.window); + if (!strm->window) { + sdl_log_err("SDL_CreateWindowFrom()"); + return PJMEDIA_EVID_SYSERR; + } } else { int x, y; @@ -748,9 +761,11 @@ static pj_status_t sdl_create_rend(struct sdl_stream * strm, strm->param.disp_size.w, strm->param.disp_size.h, flags); + if (!strm->window) { + sdl_log_err("SDL_CreateWindow()"); + return PJMEDIA_EVID_SYSERR; + } } - if (!strm->window) - return PJMEDIA_EVID_SYSERR; } /** @@ -758,14 +773,18 @@ static pj_status_t sdl_create_rend(struct sdl_stream * strm, * affect this window. */ strm->renderer = SDL_CreateRenderer(strm->window, -1, 0); - if (!strm->renderer) + if (!strm->renderer) { + sdl_log_err("SDL_CreateRenderer()"); return PJMEDIA_EVID_SYSERR; + } #if PJMEDIA_VIDEO_DEV_SDL_HAS_OPENGL if (strm->param.rend_id == OPENGL_DEV_IDX) { strm->gl_context = SDL_GL_CreateContext(strm->window); - if (!strm->gl_context) + if (!strm->gl_context) { + sdl_log_err("SDL_GL_CreateContext()"); return PJMEDIA_EVID_SYSERR; + } SDL_GL_MakeCurrent(strm->window, strm->gl_context); /* Init some OpenGL settings */ @@ -796,8 +815,10 @@ static pj_status_t sdl_create_rend(struct sdl_stream * strm, strm->scr_tex = SDL_CreateTexture(strm->renderer, sdl_info->sdl_format, SDL_TEXTUREACCESS_STREAMING, strm->rect.w, strm->rect.h); - if (strm->scr_tex == NULL) + if (strm->scr_tex == NULL) { + sdl_log_err("SDL_CreateTexture()"); return PJMEDIA_EVID_SYSERR; + } strm->pitch = strm->rect.w * SDL_BYTESPERPIXEL(sdl_info->sdl_format); } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/sdl_dev_m.m b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/sdl_dev_m.m similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/sdl_dev_m.m rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/sdl_dev_m.m diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/v4l2_dev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/v4l2_dev.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/v4l2_dev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/v4l2_dev.c index 5b9c5e0da06894bb0c6421322f9f77fbbf8492c1..59aeea8d182d74dc68727fc4fa36dc9027983d52 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/v4l2_dev.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/v4l2_dev.c @@ -1,4 +1,4 @@ -/* $Id: v4l2_dev.c 4310 2012-12-19 05:38:28Z nanang $ */ +/* $Id: v4l2_dev.c 4736 2014-02-06 11:06:42Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -25,7 +25,8 @@ #include <pj/os.h> #include <pj/rand.h> -#if PJMEDIA_VIDEO_DEV_HAS_V4L2 +#if defined(PJMEDIA_HAS_VIDEO) && PJMEDIA_HAS_VIDEO != 0 && \ + defined(PJMEDIA_VIDEO_DEV_HAS_V4L2) && PJMEDIA_VIDEO_DEV_HAS_V4L2 != 0 #include <linux/videodev2.h> #include <libv4l2.h> @@ -556,6 +557,7 @@ static pj_status_t vid4lin_factory_create_stream(pjmedia_vid_dev_factory *f, vdi = &cf->dev_info[param->cap_id]; vfd = pjmedia_format_get_video_format_detail(¶m->fmt, PJ_TRUE); + PJ_UNUSED_ARG(vfd); /* Unused for now */ /* Create and Initialize stream descriptor */ pool = pj_pool_create(cf->pf, vdi->info.name, 512, 512, NULL); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/videodev.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/videodev.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia-videodev/videodev.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia-videodev/videodev.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/alaw_ulaw.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/alaw_ulaw.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/alaw_ulaw.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/alaw_ulaw.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/alaw_ulaw_table.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/alaw_ulaw_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/alaw_ulaw_table.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/alaw_ulaw_table.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/avi_player.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/avi_player.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/avi_player.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/avi_player.c index 6cd4059f20aa1d1cbca06612994a8bd754bfad25..5f403d802c1d084a84b6fa6257bce25382706097 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/avi_player.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/avi_player.c @@ -1,4 +1,4 @@ -/* $Id: avi_player.c 4057 2012-04-17 06:54:50Z bennylp $ */ +/* $Id: avi_player.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -158,7 +158,7 @@ static struct avi_reader_port *create_avi_port(pj_pool_t *pool) pjmedia_port_info_init(&port->base.info, &name, SIGNATURE, 8000, 1, 16, 80); - port->fd = (pj_oshandle_t)-1; + port->fd = (pj_oshandle_t)(pj_ssize_t)-1; port->base.get_frame = &avi_get_frame; port->base.on_destroy = &avi_on_destroy; @@ -785,7 +785,7 @@ static pj_status_t avi_on_destroy(pjmedia_port *this_port) pj_assert(this_port->info.signature == SIGNATURE); - if (fport->fd != (pj_oshandle_t) -1) + if (fport->fd != (pj_oshandle_t) (pj_ssize_t)-1) pj_file_close(fport->fd); return PJ_SUCCESS; } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/bidirectional.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/bidirectional.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/bidirectional.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/bidirectional.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/clock_thread.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/clock_thread.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/clock_thread.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/clock_thread.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/codec.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/codec.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/codec.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/codec.c index 5107c8c8cc06b9cf1d72604d9cc6e1e8bf8a4da7..c44944d1b668399e8f411d25a05893a33ca7eb7a 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/codec.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/codec.c @@ -1,4 +1,4 @@ -/* $Id: codec.c 4254 2012-09-14 04:06:29Z nanang $ */ +/* $Id: codec.c 4616 2013-10-08 11:15:22Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -636,8 +636,10 @@ PJ_DEF(pj_status_t) pjmedia_codec_mgr_set_default_param( /* Update codec param */ p->param = pjmedia_codec_param_clone(pool, param); - if (!p->param) + if (!p->param) { + pj_mutex_unlock(mgr->mutex); return PJ_EINVAL; + } pj_mutex_unlock(mgr->mutex); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/conf_switch.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/conf_switch.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/conf_switch.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/conf_switch.c index 9814f6c96a6a227a64e73406ef0149cc93d7218d..4fe4a898c7d58411906d4987016847cbb38c3b38 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/conf_switch.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/conf_switch.c @@ -1,4 +1,4 @@ -/* $Id: conf_switch.c 4122 2012-05-14 11:04:46Z bennylp $ */ +/* $Id: conf_switch.c 4443 2013-03-20 06:56:19Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -50,7 +50,7 @@ #define NORMAL_LEVEL 128 #define SLOT_TYPE unsigned #define INVALID_SLOT ((SLOT_TYPE)-1) -#define BUFFER_SIZE PJMEDIA_MAX_MTU +#define BUFFER_SIZE PJMEDIA_CONF_SWITCH_BOARD_BUF_SIZE #define MAX_LEVEL (32767) #define MIN_LEVEL (-32768) @@ -144,6 +144,15 @@ static pj_status_t create_conf_port( pj_pool_t *pool, PJ_ASSERT_RETURN(pool && conf && port && name && p_conf_port, PJ_EINVAL); + /* Check port's buffer size */ + if (port->info.fmt.id == PJMEDIA_FORMAT_PCM && + PJMEDIA_PIA_SPF(&port->info)*2 > BUFFER_SIZE - sizeof(pjmedia_frame)) + { + pj_assert(!"Too small buffer size for audio switchboard. " + "Try increase PJMEDIA_CONF_SWITCH_BOARD_BUF_SIZE"); + return PJ_ETOOSMALL; + } + /* Create port. */ conf_port = PJ_POOL_ZALLOC_T(pool, struct conf_port); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/conference.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/conference.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/conference.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/conference.c index 391e4e313d2aced970d176ab99045ece8e3c684a..2bcde37366ef036217b7aa2b1b531e014db8b106 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/conference.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/conference.c @@ -1,4 +1,4 @@ -/* $Id: conference.c 4198 2012-07-05 10:25:46Z nanang $ */ +/* $Id: conference.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -709,7 +709,7 @@ PJ_DEF(pjmedia_port*) pjmedia_conf_get_master_port(pjmedia_conf *conf) PJ_DEF(pj_status_t) pjmedia_conf_set_port0_name(pjmedia_conf *conf, const pj_str_t *name) { - unsigned len; + pj_size_t len; /* Sanity check. */ PJ_ASSERT_RETURN(conf != NULL && name != NULL, PJ_EINVAL); @@ -1524,8 +1524,8 @@ static pj_status_t read_port( pjmedia_conf *conf, } else { - pjmedia_copy_samples(frame, cport->rx_buf, count); - cport->rx_buf_count -= count; + pjmedia_copy_samples(frame, cport->rx_buf, (unsigned)count); + cport->rx_buf_count -= (unsigned)count; if (cport->rx_buf_count) { pjmedia_move_samples(cport->rx_buf, cport->rx_buf+count, cport->rx_buf_count); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/converter.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/converter.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/converter.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/converter.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/converter_libswscale.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/converter_libswscale.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/converter_libswscale.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/converter_libswscale.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/delaybuf.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/delaybuf.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/delaybuf.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/delaybuf.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/dummy.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/dummy.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/dummy.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/dummy.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_common.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_common.c similarity index 81% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_common.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_common.c index 4e202c06fe86da8fe9dab42246d42ba643d2e58e..59c2f5aed17410c8c8b9028042da20fa71261771 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_common.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_common.c @@ -1,4 +1,4 @@ -/* $Id: echo_common.c 3841 2011-10-24 09:28:13Z ming $ */ +/* $Id: echo_common.c 4622 2013-10-21 03:11:14Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -74,6 +74,11 @@ struct ec_operations const pj_int16_t *play_frm, unsigned options, void *reserved ); + pj_status_t (*ec_playback)(void *state, + pj_int16_t *play_frm ); + pj_status_t (*ec_capture)(void *state, + pj_int16_t *rec_frm, + unsigned options ); }; @@ -98,7 +103,9 @@ static struct ec_operations speex_aec_op = &speex_aec_create, &speex_aec_destroy, &speex_aec_reset, - &speex_aec_cancel_echo + &speex_aec_cancel_echo, + &speex_aec_playback, + &speex_aec_capture }; #endif @@ -182,6 +189,11 @@ PJ_DEF(pj_status_t) pjmedia_echo_create2(pj_pool_t *pool, ec->op = &echo_supp_op; } + /* Completeness check for EC operation playback and capture, they must + * be implemented both or none. + */ + pj_assert(!ec->op->ec_capture == !ec->op->ec_playback); + PJ_LOG(5,(ec->obj_name, "Creating %s", ec->op->name)); /* Instantiate EC object */ @@ -193,35 +205,42 @@ PJ_DEF(pj_status_t) pjmedia_echo_create2(pj_pool_t *pool, return status; } - /* Create latency buffers */ - ptime = samples_per_frame * 1000 / clock_rate; - if (latency_ms > ptime) { - /* Normalize latency with delaybuf/WSOLA latency */ - latency_ms -= PJ_MIN(ptime, PJMEDIA_WSOLA_DELAY_MSEC); - } - if (latency_ms < ptime) { - /* Give at least one frame delay to simplify programming */ - latency_ms = ptime; - } - lat_cnt = latency_ms / ptime; - while (lat_cnt--) { - struct frame *frm; + /* If EC algo does not have playback and capture callbakcs, + * create latency buffer and delay buffer to handle drift. + */ + if (ec->op->ec_playback && ec->op->ec_capture) { + latency_ms = 0; + } else { + /* Create latency buffers */ + ptime = samples_per_frame * 1000 / clock_rate; + if (latency_ms > ptime) { + /* Normalize latency with delaybuf/WSOLA latency */ + latency_ms -= PJ_MIN(ptime, PJMEDIA_WSOLA_DELAY_MSEC); + } + if (latency_ms < ptime) { + /* Give at least one frame delay to simplify programming */ + latency_ms = ptime; + } + lat_cnt = latency_ms / ptime; + while (lat_cnt--) { + struct frame *frm; - frm = (struct frame*) pj_pool_alloc(pool, (samples_per_frame<<1) + - sizeof(struct frame)); - pj_list_push_back(&ec->lat_free, frm); - } + frm = (struct frame*) pj_pool_alloc(pool, (samples_per_frame<<1) + + sizeof(struct frame)); + pj_list_push_back(&ec->lat_free, frm); + } - /* Create delay buffer to compensate drifts */ - if (options & PJMEDIA_ECHO_USE_SIMPLE_FIFO) - delay_buf_opt |= PJMEDIA_DELAY_BUF_SIMPLE_FIFO; - status = pjmedia_delay_buf_create(ec->pool, ec->obj_name, clock_rate, - samples_per_frame, channel_count, - (PJMEDIA_SOUND_BUFFER_COUNT+1) * ptime, - delay_buf_opt, &ec->delay_buf); - if (status != PJ_SUCCESS) { - pj_pool_release(pool); - return status; + /* Create delay buffer to compensate drifts */ + if (options & PJMEDIA_ECHO_USE_SIMPLE_FIFO) + delay_buf_opt |= PJMEDIA_DELAY_BUF_SIMPLE_FIFO; + status = pjmedia_delay_buf_create(ec->pool, ec->obj_name, clock_rate, + samples_per_frame, channel_count, + (PJMEDIA_SOUND_BUFFER_COUNT+1) * ptime, + delay_buf_opt, &ec->delay_buf); + if (status != PJ_SUCCESS) { + pj_pool_release(pool); + return status; + } } PJ_LOG(4,(ec->obj_name, @@ -267,7 +286,8 @@ PJ_DEF(pj_status_t) pjmedia_echo_reset(pjmedia_echo_state *echo ) pj_list_push_back(&echo->lat_free, frm); } echo->lat_ready = PJ_FALSE; - pjmedia_delay_buf_reset(echo->delay_buf); + if (echo->delay_buf) + pjmedia_delay_buf_reset(echo->delay_buf); echo->op->ec_reset(echo->state); return PJ_SUCCESS; } @@ -279,6 +299,11 @@ PJ_DEF(pj_status_t) pjmedia_echo_reset(pjmedia_echo_state *echo ) PJ_DEF(pj_status_t) pjmedia_echo_playback( pjmedia_echo_state *echo, pj_int16_t *play_frm ) { + /* If EC algo has playback handler, just pass the frame. */ + if (echo->op->ec_playback) { + return (*echo->op->ec_playback)(echo->state, play_frm); + } + /* Playing frame should be stored, as it will be used by echo_capture() * as reference frame, delay buffer is used for storing the playing frames * as in case there was clock drift between mic & speaker. @@ -332,6 +357,11 @@ PJ_DEF(pj_status_t) pjmedia_echo_capture( pjmedia_echo_state *echo, struct frame *oldest_frm; pj_status_t status, rc; + /* If EC algo has capture handler, just pass the frame. */ + if (echo->op->ec_capture) { + return (*echo->op->ec_capture)(echo->state, rec_frm, options); + } + if (!echo->lat_ready) { /* Prefetching to fill in the desired latency */ PJ_LOG(5,(echo->obj_name, "Prefetching..")); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_internal.h b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_internal.h similarity index 90% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_internal.h rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_internal.h index 0e6599c3109389dbd4a893f7e20fd61bd98400fb..46f4b740d234ca41a39e284ced95bf5e2a6e2b18 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_internal.h +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_internal.h @@ -1,4 +1,4 @@ -/* $Id: echo_internal.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: echo_internal.h 4622 2013-10-21 03:11:14Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -56,6 +56,11 @@ PJ_DECL(pj_status_t) speex_aec_cancel_echo(void *state, const pj_int16_t *play_frm, unsigned options, void *reserved ); +PJ_DECL(pj_status_t) speex_aec_playback(void *state, + pj_int16_t *play_frm ); +PJ_DECL(pj_status_t) speex_aec_capture(void *state, + pj_int16_t *rec_frm, + unsigned options ); PJ_DECL(pj_status_t) ipp_aec_create(pj_pool_t *pool, unsigned clock_rate, diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_port.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_port.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_port.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_port.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_speex.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_speex.c similarity index 80% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_speex.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_speex.c index 515cec991898305cc9a41cff7e38c9c921efabbf..d1de154805b6b610cfbeeac071217746f541ea8d 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_speex.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_speex.c @@ -1,4 +1,4 @@ -/* $Id: echo_speex.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: echo_speex.c 4622 2013-10-21 03:11:14Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -109,6 +109,13 @@ PJ_DEF(pj_status_t) speex_aec_create(pj_pool_t *pool, &enabled); #endif + /* Enable AGC */ + { + spx_int32_t enabled = 1; + speex_preprocess_ctl(echo->preprocess, SPEEX_PREPROCESS_SET_AGC, + &enabled); + } + /* Control echo cancellation in the preprocessor */ speex_preprocess_ctl(echo->preprocess, SPEEX_PREPROCESS_SET_ECHO_STATE, echo->state); @@ -189,4 +196,48 @@ PJ_DEF(pj_status_t) speex_aec_cancel_echo( void *state, } +/* + * Let AEC know that a frame was queued to be played. + */ +PJ_DEF(pj_status_t) speex_aec_playback( void *state, + pj_int16_t *play_frm ) +{ + speex_ec *echo = (speex_ec*) state; + + /* Sanity checks */ + PJ_ASSERT_RETURN(echo && play_frm, PJ_EINVAL); + + speex_echo_playback(echo->state, (spx_int16_t*)play_frm); + + return PJ_SUCCESS; + +} + +/* + * Perform echo cancellation to captured frame. + */ +PJ_DEF(pj_status_t) speex_aec_capture( void *state, + pj_int16_t *rec_frm, + unsigned options ) +{ + speex_ec *echo = (speex_ec*) state; + + /* Sanity checks */ + PJ_ASSERT_RETURN(echo && rec_frm, PJ_EINVAL); + + PJ_UNUSED_ARG(options); + + /* Cancel echo */ + pjmedia_copy_samples(echo->tmp_frame, rec_frm, echo->samples_per_frame); + speex_echo_capture(echo->state, + (spx_int16_t*)echo->tmp_frame, + (spx_int16_t*)rec_frm); + + /* Apply preprocessing */ + speex_preprocess_run(echo->preprocess, (spx_int16_t*)rec_frm); + + return PJ_SUCCESS; +} + + #endif diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_suppress.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_suppress.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_suppress.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_suppress.c index 1563fb0ebcfbddfd6935df070dea9c089eced1fd..20773495e5d2f98183f2c5ac7cb2d7429dbf2ce6 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/echo_suppress.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/echo_suppress.c @@ -1,5 +1,5 @@ -/* $Id: echo_suppress.c 3664 2011-07-19 03:42:28Z nanang $ */ -/* +/* $Id: echo_suppress.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <pjmedia/types.h> #include <pjmedia/alaw_ulaw.h> @@ -77,6 +77,16 @@ #if 0 # define TRACE_(expr) PJ_LOG(5,expr) + +static const char *state_names[] = +{ + "Null", + "local talking", + "remote silent", + "doubletalk", + "remote talking" +}; + #else # define TRACE_(expr) #endif @@ -125,23 +135,14 @@ typedef enum talk_state ST_REM_TALK } talk_state_t; -const char *state_names[] = -{ - "Null", - "local talking", - "remote silent", - "doubletalk", - "remote talking" -}; - /* Description: The echo suppressor tries to find the position of echoed signal by looking - at the correlation between signal played to the speaker (played signal) + at the correlation between signal played to the speaker (played signal) and the signal captured from the microphone (recorded signal). - To do this, it first divides the frames (from mic and speaker) into + To do this, it first divides the frames (from mic and speaker) into segments, calculate the audio level of the segment, and save the level information in the playback and record history (play_hist and rec_hist respectively). @@ -150,7 +151,7 @@ const char *state_names[] = is put in the last position of the array. The record history size is as large as the template size (tmpl_cnt), since - we will use the record history as the template to find the best matching + we will use the record history as the template to find the best matching position in the playback history. Here is the record history buffer: @@ -187,7 +188,7 @@ const char *state_names[] = to the mic signal. The lower the correlation value the better (i.e. more similar) the signal is. The correlation value is done over the template duration. - - the gain scaling factor, that is the ratio between mic signal and + - the gain scaling factor, that is the ratio between mic signal and speaker signal. The ES calculates both the minimum and average ratios. The ES calculates both the values above for every tail position in the @@ -209,7 +210,7 @@ const char *state_names[] = Processing: - Once learning is done, the ES will change the level of the mic signal + Once learning is done, the ES will change the level of the mic signal depending on the state of the conversation and according to the ratio that has been found in the learning phase above. @@ -263,7 +264,7 @@ typedef struct echo_supp /* - * Create. + * Create. */ PJ_DEF(pj_status_t) echo_supp_create( pj_pool_t *pool, unsigned clock_rate, @@ -292,32 +293,32 @@ PJ_DEF(pj_status_t) echo_supp_create( pj_pool_t *pool, ec->tail_cnt = (pj_uint16_t)(tail_ms / SEGMENT_PTIME); ec->play_hist_cnt = (pj_uint16_t)(ec->tail_cnt+ec->templ_cnt); - ec->max_calc = (pj_uint16_t)(MAX_CALC_DURATION_SEC * clock_rate / + ec->max_calc = (pj_uint16_t)(MAX_CALC_DURATION_SEC * clock_rate / ec->samples_per_segment); - ec->rec_hist = (pj_uint16_t*) + ec->rec_hist = (pj_uint16_t*) pj_pool_alloc(pool, ec->templ_cnt * sizeof(ec->rec_hist[0])); /* Note: play history has twice number of elements */ - ec->play_hist = (pj_uint16_t*) + ec->play_hist = (pj_uint16_t*) pj_pool_alloc(pool, ec->play_hist_cnt * sizeof(ec->play_hist[0])); ec->corr_sum = (float*) - pj_pool_alloc(pool, ec->tail_cnt * + pj_pool_alloc(pool, ec->tail_cnt * sizeof(ec->corr_sum[0])); ec->tmp_corr = (float*) - pj_pool_alloc(pool, ec->tail_cnt * + pj_pool_alloc(pool, ec->tail_cnt * sizeof(ec->tmp_corr[0])); ec->min_factor = (float*) - pj_pool_alloc(pool, ec->tail_cnt * + pj_pool_alloc(pool, ec->tail_cnt * sizeof(ec->min_factor[0])); ec->avg_factor = (float*) - pj_pool_alloc(pool, ec->tail_cnt * + pj_pool_alloc(pool, ec->tail_cnt * sizeof(ec->avg_factor[0])); ec->tmp_factor = (float*) - pj_pool_alloc(pool, ec->tail_cnt * + pj_pool_alloc(pool, ec->tail_cnt * sizeof(ec->tmp_factor[0])); echo_supp_reset(ec); @@ -327,7 +328,7 @@ PJ_DEF(pj_status_t) echo_supp_create( pj_pool_t *pool, /* - * Destroy. + * Destroy. */ PJ_DEF(pj_status_t) echo_supp_destroy(void *state) { @@ -393,14 +394,14 @@ PJ_DEF(void) echo_supp_soft_reset(void *state) /* Set state */ -static void echo_supp_set_state(echo_supp *ec, talk_state_t state, +static void echo_supp_set_state(echo_supp *ec, talk_state_t state, unsigned level) { PJ_UNUSED_ARG(level); if (state != ec->talk_state) { - TRACE_((THIS_FILE, "[%03d.%03d] %s --> %s, level=%u", - (ec->update_cnt * SEGMENT_PTIME / 1000), + TRACE_((THIS_FILE, "[%03d.%03d] %s --> %s, level=%u", + (ec->update_cnt * SEGMENT_PTIME / 1000), ((ec->update_cnt * SEGMENT_PTIME) % 1000), state_names[ec->talk_state], state_names[state], level)); @@ -469,9 +470,9 @@ static void echo_supp_update(echo_supp *ec, pj_int16_t *rec_frm, ec->sum_rec_level += ec->rec_hist[i]; } else { /* Update from previous calculation */ - ec->sum_rec_level = ec->sum_rec_level - old_rec_frm_level + + ec->sum_rec_level = ec->sum_rec_level - old_rec_frm_level + ec->rec_hist[ec->templ_cnt-1]; - ec->rec_corr = ec->rec_corr - ((float)ec->rec_hist[0] / + ec->rec_corr = ec->rec_corr - ((float)ec->rec_hist[0] / old_rec_frm_level) + ((float)ec->rec_hist[ec->templ_cnt-1] / ec->rec_hist[ec->templ_cnt-2]); @@ -482,8 +483,8 @@ static void echo_supp_update(echo_supp *ec, pj_int16_t *rec_frm, * array since we may bail out early if the conversation state is not good * to detect echo. */ - /* - * First phase: do full calculation for the first position + /* + * First phase: do full calculation for the first position */ if (ec->sum_play_level0 == 0) { /* Buffer has just been filled up, do full calculation */ @@ -500,9 +501,9 @@ static void echo_supp_update(echo_supp *ec, pj_int16_t *rec_frm, ec->play_corr0 = play_corr; } else { /* Update from previous calculation */ - ec->sum_play_level0 = ec->sum_play_level0 - old_play_frm_level + + ec->sum_play_level0 = ec->sum_play_level0 - old_play_frm_level + ec->play_hist[ec->templ_cnt-1]; - ec->play_corr0 = ec->play_corr0 - ((float)ec->play_hist[0] / + ec->play_corr0 = ec->play_corr0 - ((float)ec->play_hist[0] / old_play_frm_level) + ((float)ec->play_hist[ec->templ_cnt-1] / ec->play_hist[ec->templ_cnt-2]); @@ -584,7 +585,7 @@ static void echo_supp_update(echo_supp *ec, pj_int16_t *rec_frm, /* Update the min and avg gain factor for this tail position */ if (ec->tmp_factor[i] < ec->min_factor[i]) ec->min_factor[i] = ec->tmp_factor[i]; - ec->avg_factor[i] = ((ec->avg_factor[i] * ec->tail_cnt) + + ec->avg_factor[i] = ((ec->avg_factor[i] * ec->tail_cnt) + ec->tmp_factor[i]) / (ec->tail_cnt + 1); @@ -609,7 +610,7 @@ static void echo_supp_update(echo_supp *ec, pj_int16_t *rec_frm, imin = (int)(ec->min_factor[ec->tail_index] * 1000); iavg = (int)(ec->avg_factor[ec->tail_index] * 1000); - PJ_LOG(4,(THIS_FILE, + PJ_LOG(4,(THIS_FILE, "Echo suppressor updated at t=%03d.%03ds, echo tail=%d msec" ", factor min/avg=%d.%03d/%d.%03d", (duration/1000), (duration%1000), @@ -633,7 +634,7 @@ static void echo_supp_update(echo_supp *ec, pj_int16_t *rec_frm, imin = (int)(ec->min_factor[ec->tail_index] * 1000); iavg = (int)(ec->avg_factor[ec->tail_index] * 1000); - PJ_LOG(4,(THIS_FILE, + PJ_LOG(4,(THIS_FILE, "Echo suppressor learning done at t=%03d.%03ds, tail=%d ms" ", factor min/avg=%d.%03d/%d.%03d", (duration/1000), (duration%1000), @@ -646,7 +647,7 @@ static void echo_supp_update(echo_supp *ec, pj_int16_t *rec_frm, /* Amplify frame */ -static void amplify_frame(pj_int16_t *frm, unsigned length, +static void amplify_frame(pj_int16_t *frm, unsigned length, pj_ufloat_t factor) { unsigned i; @@ -656,7 +657,7 @@ static void amplify_frame(pj_int16_t *frm, unsigned length, } } -/* +/* * Perform echo cancellation. */ PJ_DEF(pj_status_t) echo_supp_cancel_echo( void *state, @@ -709,8 +710,8 @@ PJ_DEF(pj_status_t) echo_supp_cancel_echo( void *state, /* Lookup in playback history to get max speaker level, to see * if remote user is currently talking */ - for (i=ec->play_hist_cnt -lookup_cnt -tail_cnt; - i<ec->play_hist_cnt-tail_cnt; ++i) + for (i=ec->play_hist_cnt -lookup_cnt -tail_cnt; + i<ec->play_hist_cnt-tail_cnt; ++i) { if (ec->play_hist[i] > play_level) play_level = ec->play_hist[i]; @@ -732,7 +733,7 @@ PJ_DEF(pj_status_t) echo_supp_cancel_echo( void *state, echo_supp_set_state(ec, ST_DOUBLETALK, rec_level); } else { /* Speaker is active, but we've picked up large signal in - * the microphone. Assume that this is an echo, so bring + * the microphone. Assume that this is an echo, so bring * the level down to minimum too. */ factor = ec->min_factor[ec->tail_index] / 2; @@ -762,7 +763,7 @@ PJ_DEF(pj_status_t) echo_supp_cancel_echo( void *state, factor = (factor + ec->last_factor*19) / 20; /* Amplify frame */ - amplify_frame(rec_frm, ec->samples_per_frame, + amplify_frame(rec_frm, ec->samples_per_frame, pj_ufloat_from_float(factor)); ec->last_factor = factor; @@ -774,7 +775,7 @@ PJ_DEF(pj_status_t) echo_supp_cancel_echo( void *state, level = pjmedia_linear2ulaw(level) ^ 0xFF; /* Accumulate average echo residue to see the ES effectiveness */ - ec->residue = ((ec->residue * ec->running_cnt) + level) / + ec->residue = ((ec->residue * ec->running_cnt) + level) / (ec->running_cnt + 1); ++ec->running_cnt; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/endpoint.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/endpoint.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/endpoint.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/endpoint.c index b61152e49ebfe96e3715259d8195e1cbeaf1c633..493a10ac50dc01f7f0b46d82dfdd22d3f4cadddb 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/endpoint.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/endpoint.c @@ -1,4 +1,4 @@ -/* $Id: endpoint.c 4240 2012-08-31 09:03:36Z ming $ */ +/* $Id: endpoint.c 4739 2014-02-11 04:46:49Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -209,20 +209,8 @@ PJ_DEF(pjmedia_codec_mgr*) pjmedia_endpt_get_codec_mgr(pjmedia_endpt *endpt) PJ_DEF(pj_status_t) pjmedia_endpt_destroy (pjmedia_endpt *endpt) { exit_cb *ecb; - unsigned i; - PJ_ASSERT_RETURN(endpt, PJ_EINVAL); - - endpt->quit_flag = 1; - - /* Destroy threads */ - for (i=0; i<endpt->thread_cnt; ++i) { - if (endpt->thread[i]) { - pj_thread_join(endpt->thread[i]); - pj_thread_destroy(endpt->thread[i]); - endpt->thread[i] = NULL; - } - } + pjmedia_endpt_stop_threads(endpt); /* Destroy internal ioqueue */ if (endpt->ioqueue && endpt->own_ioqueue) { @@ -313,6 +301,29 @@ PJ_DEF(pj_thread_t*) pjmedia_endpt_get_thread(pjmedia_endpt *endpt, return endpt->thread[index]; } +/** + * Stop and destroy the worker threads of the media endpoint + */ +PJ_DEF(pj_status_t) pjmedia_endpt_stop_threads(pjmedia_endpt *endpt) +{ + unsigned i; + + PJ_ASSERT_RETURN(endpt, PJ_EINVAL); + + endpt->quit_flag = 1; + + /* Destroy threads */ + for (i=0; i<endpt->thread_cnt; ++i) { + if (endpt->thread[i]) { + pj_thread_join(endpt->thread[i]); + pj_thread_destroy(endpt->thread[i]); + endpt->thread[i] = NULL; + } + } + + return PJ_SUCCESS; +} + /** * Worker thread proc. */ @@ -479,17 +490,17 @@ PJ_DEF(pj_status_t) pjmedia_endpt_create_audio_sdp(pjmedia_endpt *endpt, pjmedia_codec_fmtp *dec_fmtp = &codec_param.setting.dec_fmtp; /* Print codec PT */ - buf_len += pj_ansi_snprintf(buf, - MAX_FMTP_STR_LEN - buf_len, - "%d", + buf_len += pj_ansi_snprintf(buf, + MAX_FMTP_STR_LEN - buf_len, + "%d", codec_info->pt); for (i = 0; i < dec_fmtp->cnt; ++i) { - unsigned test_len = 2; + pj_size_t test_len = 2; /* Check if buf still available */ test_len = dec_fmtp->param[i].val.slen + - dec_fmtp->param[i].name.slen; + dec_fmtp->param[i].name.slen + 2; if (test_len + buf_len >= MAX_FMTP_STR_LEN) return PJ_ETOOBIG; @@ -547,7 +558,7 @@ PJ_DEF(pj_status_t) pjmedia_endpt_create_audio_sdp(pjmedia_endpt *endpt, /* Add fmtp */ attr = PJ_POOL_ZALLOC_T(pool, pjmedia_sdp_attr); attr->name = pj_str("fmtp"); - attr->value = pj_str(PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR " 0-15"); + attr->value = pj_str(PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR " 0-16"); m->attr[m->attr_count++] = attr; } #endif @@ -671,11 +682,11 @@ PJ_DEF(pj_status_t) pjmedia_endpt_create_video_sdp(pjmedia_endpt *endpt, codec_info[i].pt); for (j = 0; j < dec_fmtp->cnt; ++j) { - unsigned test_len = 2; + pj_size_t test_len = 2; /* Check if buf still available */ test_len = dec_fmtp->param[j].val.slen + - dec_fmtp->param[j].name.slen; + dec_fmtp->param[j].name.slen + 2; if (test_len + buf_len >= MAX_FMTP_STR_LEN) return PJ_ETOOBIG; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/errno.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/errno.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/errno.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/errno.c index 6441463af562462b6341e200ed930cda0bdb6dfa..0fefa4227a1c25edf8f2aa98c740ff669ca49533 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/errno.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/errno.c @@ -1,4 +1,4 @@ -/* $Id: errno.c 3945 2012-01-27 09:12:59Z nanang $ */ +/* $Id: errno.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -266,7 +266,8 @@ PJ_DEF(pj_str_t) pjmedia_strerror( pj_status_t statcode, errstr.slen = pj_ansi_snprintf(buf, bufsize, "Unknown pjmedia error %d", statcode); - + if (errstr.slen < 1 || errstr.slen >= (pj_ssize_t)bufsize) + errstr.slen = bufsize - 1; return errstr; } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/event.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/event.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/event.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/event.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/ffmpeg_util.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/ffmpeg_util.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/ffmpeg_util.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/ffmpeg_util.c index 97e07198bcd6f0bca87126d6c6da7e1b9b1c8a31..cd442f255155434a9324f287ba901c369dc99574 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/ffmpeg_util.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/ffmpeg_util.c @@ -1,4 +1,4 @@ -/* $Id: ffmpeg_util.c 4158 2012-06-06 09:56:14Z nanang $ */ +/* $Id: ffmpeg_util.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) * @@ -103,7 +103,7 @@ static void ffmpeg_log_cb(void* ptr, int level, const char* fmt, va_list vl) const char *LOG_SENDER = "ffmpeg"; enum { LOG_LEVEL = 5 }; char buf[100]; - int bufsize = sizeof(buf), len; + pj_size_t bufsize = sizeof(buf), len; pj_str_t fmt_st; /* Custom callback needs to filter log level by itself */ @@ -114,6 +114,8 @@ static void ffmpeg_log_cb(void* ptr, int level, const char* fmt, va_list vl) if (ptr) { AVClass* avc = *(AVClass**)ptr; len = pj_ansi_snprintf(buf, bufsize, "%s: ", avc->item_name(ptr)); + if (len < 1 || len >= bufsize) + len = bufsize - 1; bufsize -= len; } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/ffmpeg_util.h b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/ffmpeg_util.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/ffmpeg_util.h rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/ffmpeg_util.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/format.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/format.c similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/format.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/format.c index 5e1d253f4eb66e87907615a1db6be43af9808ae6..0b1eedb3557dcbb836e2e2ce6284345a66e6fa18 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/format.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/format.c @@ -1,4 +1,4 @@ -/* $Id: format.c 4158 2012-06-06 09:56:14Z nanang $ */ +/* $Id: format.c 4785 2014-03-10 09:01:18Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -24,28 +24,6 @@ #include <pj/string.h> -PJ_DEF(void) pjmedia_format_init_audio( pjmedia_format *fmt, - pj_uint32_t fmt_id, - unsigned clock_rate, - unsigned channel_count, - unsigned bits_per_sample, - unsigned frame_time_usec, - pj_uint32_t avg_bps, - pj_uint32_t max_bps) -{ - fmt->id = fmt_id; - fmt->type = PJMEDIA_TYPE_AUDIO; - fmt->detail_type = PJMEDIA_FORMAT_DETAIL_AUDIO; - - fmt->det.aud.clock_rate = clock_rate; - fmt->det.aud.channel_count = channel_count; - fmt->det.aud.bits_per_sample = bits_per_sample; - fmt->det.aud.frame_time_usec = frame_time_usec; - fmt->det.aud.avg_bps = avg_bps; - fmt->det.aud.max_bps = max_bps; -} - - PJ_DEF(pjmedia_audio_format_detail*) pjmedia_format_get_audio_format_detail(const pjmedia_format *fmt, pj_bool_t assert_valid) @@ -140,7 +118,7 @@ PJ_DEF(void) pjmedia_format_init_video( pjmedia_format *fmt, vafp.size = fmt->det.vid.size; vfi->apply_fmt(vfi, &vafp); - bps = vafp.framebytes * fps_num * (pj_size_t)8 / fps_denum; + bps = (pj_uint32_t)vafp.framebytes * fps_num * (pj_size_t)8 / fps_denum; fmt->det.vid.avg_bps = fmt->det.vid.max_bps = bps; } } @@ -172,7 +150,7 @@ static pj_status_t apply_packed_fmt(const pjmedia_video_format_info *fi, /* Packed formats only use 1 plane */ aparam->planes[0] = aparam->buffer; - aparam->strides[0] = stride; + aparam->strides[0] = (int)stride; aparam->plane_bytes[0] = aparam->framebytes; /* Zero unused planes */ @@ -321,7 +299,6 @@ pjmedia_get_video_format_info(pjmedia_video_format_mgr *mgr, pj_uint32_t id) { pjmedia_video_format_info **first; - int comp; unsigned n; if (!mgr) @@ -330,7 +307,6 @@ pjmedia_get_video_format_info(pjmedia_video_format_mgr *mgr, PJ_ASSERT_RETURN(mgr != NULL, NULL); /* Binary search for the appropriate format id */ - comp = -1; first = &mgr->infos[0]; n = mgr->info_cnt; for (; n > 0; ) { diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/g711.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/g711.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/g711.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/g711.c index 2e3ec7b59e729d56f1e6c6bc2a2ff67e8179ea3f..da89e6b4ce419d4a61f9f3192b6ce4068a7e893b 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/g711.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/g711.c @@ -1,4 +1,4 @@ -/* $Id: g711.c 4266 2012-09-26 05:55:18Z nanang $ */ +/* $Id: g711.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -523,7 +523,7 @@ static pj_status_t g711_encode(pjmedia_codec *codec, unsigned i, n; pj_uint8_t *dst = (pj_uint8_t*) output->buf; - n = (input->size >> 1); + n = ((unsigned)input->size >> 1); for (i=0; i!=n; ++i, ++dst) { *dst = pjmedia_linear2alaw(samples[i]); } @@ -531,7 +531,7 @@ static pj_status_t g711_encode(pjmedia_codec *codec, unsigned i, n; pj_uint8_t *dst = (pj_uint8_t*) output->buf; - n = (input->size >> 1); + n = ((unsigned)input->size >> 1); for (i=0; i!=n; ++i, ++dst) { *dst = pjmedia_linear2ulaw(samples[i]); } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/jbuf.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/jbuf.c similarity index 90% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/jbuf.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/jbuf.c index 8c540743ba6fb9b9552ffe42ce8504d71625ad93..3ed90fcc216cf5122bb061701ee20ef3b43f5f36 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/jbuf.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/jbuf.c @@ -1,5 +1,5 @@ -/* $Id: jbuf.c 4369 2013-02-21 21:55:54Z bennylp $ */ -/* +/* $Id: jbuf.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * Based on implementation kindly contributed by Switchlab, Ltd. @@ -35,7 +35,7 @@ /* Invalid sequence number, used as the initial value. */ #define INVALID_OFFSET -9999 -/* Maximum burst length, whenever an operation is bursting longer than +/* Maximum burst length, whenever an operation is bursting longer than * this value, JB will assume that the opposite operation was idle. */ #define MAX_BURST_MSEC 1000 @@ -46,8 +46,8 @@ #define INIT_CYCLE 10 -/* Minimal difference between JB size and 2*burst-level to perform - * JB shrinking in static discard algorithm. +/* Minimal difference between JB size and 2*burst-level to perform + * JB shrinking in static discard algorithm. */ #define STA_DISC_SAFE_SHRINKING_DIFF 1 @@ -67,13 +67,13 @@ typedef struct jb_framelist_t pj_size_t *content_len; /**< frame length array */ pj_uint32_t *bit_info; /**< frame bit info array */ pj_uint32_t *ts; /**< timestamp array */ - + /* States */ unsigned head; /**< index of head, pointed frame will be returned by next GET */ - unsigned size; /**< current size of framelist, + unsigned size; /**< current size of framelist, including discarded frames. */ - unsigned discarded_num; /**< current number of discarded + unsigned discarded_num; /**< current number of discarded frames. */ int origin; /**< original index of flist_head */ @@ -91,14 +91,14 @@ struct pjmedia_jbuf pj_str_t jb_name; /**< jitter buffer name */ pj_size_t jb_frame_size; /**< frame size */ unsigned jb_frame_ptime; /**< frame duration. */ - pj_size_t jb_max_count; /**< capacity of jitter buffer, + pj_size_t jb_max_count; /**< capacity of jitter buffer, in frames */ int jb_init_prefetch; /**< Initial prefetch */ int jb_min_prefetch; /**< Minimum allowable prefetch */ int jb_max_prefetch; /**< Maximum allowable prefetch */ int jb_max_burst; /**< maximum possible burst, whenever - burst exceeds this value, it - won't be included in level + burst exceeds this value, it + won't be included in level calculation */ int jb_min_shrink_gap; /**< How often can we shrink */ discard_algo jb_discard_algo; /**< Discard algorithm */ @@ -107,27 +107,27 @@ struct pjmedia_jbuf jb_framelist_t jb_framelist; /**< the buffer */ /* States */ - int jb_level; /**< delay between source & - destination (calculated according - of the number of burst get/put + int jb_level; /**< delay between source & + destination (calculated according + of the number of burst get/put operations) */ - int jb_max_hist_level; /**< max level during the last level + int jb_max_hist_level; /**< max level during the last level calculations */ - int jb_stable_hist; /**< num of times the delay has been + int jb_stable_hist; /**< num of times the delay has been lower then the prefetch num */ - int jb_last_op; /**< last operation executed + int jb_last_op; /**< last operation executed (put/get) */ int jb_eff_level; /**< effective burst level */ - int jb_prefetch; /**< no. of frame to insert before - removing some (at the beginning - of the framelist->content + int jb_prefetch; /**< no. of frame to insert before + removing some (at the beginning + of the framelist->content operation), the value may be continuously updated based on current frame burst level. */ pj_bool_t jb_prefetching; /**< flag if jbuf is prefetching. */ - int jb_status; /**< status is 'init' until the first + int jb_status; /**< status is 'init' until the first 'put' operation */ - int jb_init_cycle_cnt; /**< status is 'init' until the first + int jb_init_cycle_cnt; /**< status is 'init' until the first 'put' operation */ int jb_discard_ref; /**< Seq # of last frame deleted or @@ -136,7 +136,7 @@ struct pjmedia_jbuf to perform discard (in frm) */ /* Statistics */ - pj_math_stat jb_delay; /**< Delay statistics of jitter buffer + pj_math_stat jb_delay; /**< Delay statistics of jitter buffer (in ms) */ pj_math_stat jb_burst; /**< Burst statistics (in frames) */ unsigned jb_lost; /**< Number of lost frames. */ @@ -164,7 +164,7 @@ struct pjmedia_jbuf -/* Enabling this would log the jitter buffer state about once per +/* Enabling this would log the jitter buffer state about once per * second. */ #if 0 @@ -180,7 +180,7 @@ static unsigned jb_framelist_remove_head(jb_framelist_t *framelist, static pj_status_t jb_framelist_init( pj_pool_t *pool, jb_framelist_t *framelist, unsigned frame_size, - unsigned max_count) + unsigned max_count) { PJ_ASSERT_RETURN(pool && framelist, PJ_EINVAL); @@ -188,24 +188,24 @@ static pj_status_t jb_framelist_init( pj_pool_t *pool, framelist->frame_size = frame_size; framelist->max_count = max_count; - framelist->content = (char*) + framelist->content = (char*) pj_pool_alloc(pool, - framelist->frame_size* + framelist->frame_size* framelist->max_count); framelist->frame_type = (int*) - pj_pool_alloc(pool, + pj_pool_alloc(pool, sizeof(framelist->frame_type[0])* framelist->max_count); framelist->content_len = (pj_size_t*) - pj_pool_alloc(pool, + pj_pool_alloc(pool, sizeof(framelist->content_len[0])* framelist->max_count); framelist->bit_info = (pj_uint32_t*) - pj_pool_alloc(pool, + pj_pool_alloc(pool, sizeof(framelist->bit_info[0])* framelist->max_count); framelist->ts = (pj_uint32_t*) - pj_pool_alloc(pool, + pj_pool_alloc(pool, sizeof(framelist->ts[0])* framelist->max_count); @@ -213,13 +213,13 @@ static pj_status_t jb_framelist_init( pj_pool_t *pool, } -static pj_status_t jb_framelist_destroy(jb_framelist_t *framelist) +static pj_status_t jb_framelist_destroy(jb_framelist_t *framelist) { PJ_UNUSED_ARG(framelist); return PJ_SUCCESS; } -static pj_status_t jb_framelist_reset(jb_framelist_t *framelist) +static pj_status_t jb_framelist_reset(jb_framelist_t *framelist) { framelist->head = 0; framelist->origin = INVALID_OFFSET; @@ -227,39 +227,39 @@ static pj_status_t jb_framelist_reset(jb_framelist_t *framelist) framelist->discarded_num = 0; - //pj_bzero(framelist->content, - // framelist->frame_size * + //pj_bzero(framelist->content, + // framelist->frame_size * // framelist->max_count); pj_memset(framelist->frame_type, PJMEDIA_JB_MISSING_FRAME, - sizeof(framelist->frame_type[0]) * + sizeof(framelist->frame_type[0]) * framelist->max_count); - pj_bzero(framelist->content_len, - sizeof(framelist->content_len[0]) * + pj_bzero(framelist->content_len, + sizeof(framelist->content_len[0]) * framelist->max_count); //pj_bzero(framelist->bit_info, - // sizeof(framelist->bit_info[0]) * + // sizeof(framelist->bit_info[0]) * // framelist->max_count); return PJ_SUCCESS; } -static unsigned jb_framelist_size(const jb_framelist_t *framelist) +static unsigned jb_framelist_size(const jb_framelist_t *framelist) { return framelist->size; } -static unsigned jb_framelist_eff_size(const jb_framelist_t *framelist) +static unsigned jb_framelist_eff_size(const jb_framelist_t *framelist) { return (framelist->size - framelist->discarded_num); } -static int jb_framelist_origin(const jb_framelist_t *framelist) +static int jb_framelist_origin(const jb_framelist_t *framelist) { return framelist->origin; } @@ -270,7 +270,7 @@ static pj_bool_t jb_framelist_get(jb_framelist_t *framelist, pjmedia_jb_frame_type *p_type, pj_uint32_t *bit_info, pj_uint32_t *ts, - int *seq) + int *seq) { if (framelist->size) { pj_bool_t prev_discarded = PJ_FALSE; @@ -295,11 +295,11 @@ static pj_bool_t jb_framelist_get(jb_framelist_t *framelist, if (bit_info) *bit_info = 0; } else { - pj_memcpy(frame, - framelist->content + + pj_memcpy(frame, + framelist->content + framelist->head * framelist->frame_size, framelist->frame_size); - *p_type = (pjmedia_jb_frame_type) + *p_type = (pjmedia_jb_frame_type) framelist->frame_type[framelist->head]; if (size) *size = framelist->content_len[framelist->head]; @@ -311,7 +311,7 @@ static pj_bool_t jb_framelist_get(jb_framelist_t *framelist, if (seq) *seq = framelist->origin; - //pj_bzero(framelist->content + + //pj_bzero(framelist->content + // framelist->head * framelist->frame_size, // framelist->frame_size); framelist->frame_type[framelist->head] = PJMEDIA_JB_MISSING_FRAME; @@ -322,7 +322,7 @@ static pj_bool_t jb_framelist_get(jb_framelist_t *framelist, framelist->origin++; framelist->head = (framelist->head + 1) % framelist->max_count; framelist->size--; - + return PJ_TRUE; } } @@ -341,7 +341,7 @@ static pj_bool_t jb_framelist_peek(jb_framelist_t *framelist, pjmedia_jb_frame_type *type, pj_uint32_t *bit_info, pj_uint32_t *ts, - int *seq) + int *seq) { unsigned pos, idx; @@ -366,7 +366,7 @@ static pj_bool_t jb_framelist_peek(jb_framelist_t *framelist, if (frame) *frame = framelist->content + pos*framelist->frame_size; if (type) - *type = (pjmedia_jb_frame_type) + *type = (pjmedia_jb_frame_type) framelist->frame_type[pos]; if (size) *size = framelist->content_len[pos]; @@ -383,9 +383,9 @@ static pj_bool_t jb_framelist_peek(jb_framelist_t *framelist, /* Remove oldest frames as many as param 'count' */ static unsigned jb_framelist_remove_head(jb_framelist_t *framelist, - unsigned count) + unsigned count) { - if (count > framelist->size) + if (count > framelist->size) count = framelist->size; if (count) { @@ -409,7 +409,7 @@ static unsigned jb_framelist_remove_head(jb_framelist_t *framelist, } } - //pj_bzero(framelist->content + + //pj_bzero(framelist->content + // framelist->head * framelist->frame_size, // step1*framelist->frame_size); pj_memset(framelist->frame_type+framelist->head, @@ -439,7 +439,7 @@ static unsigned jb_framelist_remove_head(jb_framelist_t *framelist, framelist->head = (framelist->head + count) % framelist->max_count; framelist->size -= count; } - + return count; } @@ -548,9 +548,9 @@ enum pjmedia_jb_op }; -PJ_DEF(pj_status_t) pjmedia_jbuf_create(pj_pool_t *pool, +PJ_DEF(pj_status_t) pjmedia_jbuf_create(pj_pool_t *pool, const pj_str_t *name, - unsigned frame_size, + unsigned frame_size, unsigned ptime, unsigned max_count, pjmedia_jbuf **p_jb) @@ -596,7 +596,7 @@ PJ_DEF(pj_status_t) pjmedia_jbuf_set_fixed( pjmedia_jbuf *jb, PJ_ASSERT_RETURN(jb, PJ_EINVAL); PJ_ASSERT_RETURN(prefetch <= jb->jb_max_count, PJ_EINVAL); - jb->jb_min_prefetch = jb->jb_max_prefetch = + jb->jb_min_prefetch = jb->jb_max_prefetch = jb->jb_prefetch = jb->jb_init_prefetch = prefetch; pjmedia_jbuf_set_discard(jb, PJMEDIA_JB_DISCARD_NONE); @@ -675,12 +675,12 @@ PJ_DEF(pj_status_t) pjmedia_jbuf_destroy(pjmedia_jbuf *jb) " delay (min/max/avg/dev)=%d/%d/%d/%d ms\n" " burst (min/max/avg/dev)=%d/%d/%d/%d frames\n" " lost=%d discard=%d empty=%d", - jb_framelist_size(&jb->jb_framelist), - jb_framelist_eff_size(&jb->jb_framelist), + jb_framelist_size(&jb->jb_framelist), + jb_framelist_eff_size(&jb->jb_framelist), jb->jb_prefetch, jb->jb_eff_level, - jb->jb_delay.min, jb->jb_delay.max, jb->jb_delay.mean, + jb->jb_delay.min, jb->jb_delay.max, jb->jb_delay.mean, pj_math_stat_get_stddev(&jb->jb_delay), - jb->jb_burst.min, jb->jb_burst.max, jb->jb_burst.mean, + jb->jb_burst.min, jb->jb_burst.max, jb->jb_burst.mean, pj_math_stat_get_stddev(&jb->jb_burst), jb->jb_lost, jb->jb_discard, jb->jb_empty)); @@ -704,14 +704,14 @@ static void jbuf_calculate_jitter(pjmedia_jbuf *jb) if (jb->jb_level < jb->jb_eff_level) { enum { STABLE_HISTORY_LIMIT = 20 }; - + jb->jb_stable_hist++; - - /* Only update the effective level (and prefetch) if 'stable' + + /* Only update the effective level (and prefetch) if 'stable' * condition is reached (not just short time impulse) */ if (jb->jb_stable_hist > STABLE_HISTORY_LIMIT) { - + diff = (jb->jb_eff_level - jb->jb_max_hist_level) / 3; if (diff < 1) @@ -723,7 +723,7 @@ static void jbuf_calculate_jitter(pjmedia_jbuf *jb) /* Update prefetch based on level */ if (jb->jb_init_prefetch) { jb->jb_prefetch = jb->jb_eff_level; - if (jb->jb_prefetch < jb->jb_min_prefetch) + if (jb->jb_prefetch < jb->jb_min_prefetch) jb->jb_prefetch = jb->jb_min_prefetch; if (jb->jb_prefetch > jb->jb_max_prefetch) jb->jb_prefetch = jb->jb_max_prefetch; @@ -735,6 +735,7 @@ static void jbuf_calculate_jitter(pjmedia_jbuf *jb) TRACE__((jb->jb_name.ptr,"jb updated(1), lvl=%d pre=%d, size=%d", jb->jb_eff_level, jb->jb_prefetch, cur_size)); + PJ_UNUSED_ARG(cur_size); /* Warning about unused var */ } } @@ -758,7 +759,7 @@ static void jbuf_calculate_jitter(pjmedia_jbuf *jb) /* Do not reset max_hist_level. */ //jb->jb_max_hist_level = 0; - TRACE__((jb->jb_name.ptr,"jb updated(2), lvl=%d pre=%d, size=%d", + TRACE__((jb->jb_name.ptr,"jb updated(2), lvl=%d pre=%d, size=%d", jb->jb_eff_level, jb->jb_prefetch, cur_size)); } @@ -777,11 +778,11 @@ static void jbuf_discard_static(pjmedia_jbuf *jb) * its size is twice of current burst level, there can be drift. * * Moreover, normally drift level is quite low, so JB shouldn't need - * to shrink aggresively, it will shrink maximum one frame per - * PJMEDIA_JBUF_DISC_MIN_GAP ms. Theoritically, JB may handle drift level + * to shrink aggresively, it will shrink maximum one frame per + * PJMEDIA_JBUF_DISC_MIN_GAP ms. Theoritically, JB may handle drift level * as much as = FRAME_PTIME/PJMEDIA_JBUF_DISC_MIN_GAP * 100% * - * Whenever there is drift, where PUT > GET, this method will keep + * Whenever there is drift, where PUT > GET, this method will keep * the latency (JB size) as much as twice of burst level. */ @@ -796,8 +797,8 @@ static void jbuf_discard_static(pjmedia_jbuf *jb) if (diff >= STA_DISC_SAFE_SHRINKING_DIFF) { int seq_origin; - /* Check and adjust jb_discard_ref, in case there was - * seq restart + /* Check and adjust jb_discard_ref, in case there was + * seq restart */ seq_origin = jb_framelist_origin(&jb->jb_framelist); if (seq_origin < jb->jb_discard_ref) @@ -813,7 +814,7 @@ static void jbuf_discard_static(pjmedia_jbuf *jb) jb->jb_discard_ref = jb_framelist_origin(&jb->jb_framelist); jb->jb_discard += diff; - TRACE__((jb->jb_name.ptr, + TRACE__((jb->jb_name.ptr, "JB shrinking %d frame(s), cur size=%d", diff, jb_framelist_eff_size(&jb->jb_framelist))); } @@ -845,7 +846,7 @@ static void jbuf_discard_progressive(pjmedia_jbuf *jb) else if (burst_level >= PJMEDIA_JBUF_PRO_DISC_MAX_BURST) T = PJMEDIA_JBUF_PRO_DISC_T2; else - T = PJMEDIA_JBUF_PRO_DISC_T1 + + T = PJMEDIA_JBUF_PRO_DISC_T1 + (PJMEDIA_JBUF_PRO_DISC_T2 - PJMEDIA_JBUF_PRO_DISC_T1) * (burst_level - PJMEDIA_JBUF_PRO_DISC_MIN_BURST) / (PJMEDIA_JBUF_PRO_DISC_MAX_BURST-PJMEDIA_JBUF_PRO_DISC_MIN_BURST); @@ -873,14 +874,14 @@ static void jbuf_discard_progressive(pjmedia_jbuf *jb) /* Check if we need to discard now */ if (last_seq >= (jb->jb_discard_ref + (int)jb->jb_discard_dist)) { int discard_seq; - + discard_seq = jb->jb_discard_ref + jb->jb_discard_dist; if (discard_seq < jb_framelist_origin(&jb->jb_framelist)) discard_seq = jb_framelist_origin(&jb->jb_framelist); jb_framelist_discard(&jb->jb_framelist, discard_seq); - TRACE__((jb->jb_name.ptr, + TRACE__((jb->jb_name.ptr, "Discard #%d: ref=#%d dist=%d orig=%d size=%d/%d " "burst=%d/%d", discard_seq, @@ -896,7 +897,7 @@ static void jbuf_discard_progressive(pjmedia_jbuf *jb) jb->jb_discard_ref = discard_seq; } } - + PJ_INLINE(void) jbuf_update(pjmedia_jbuf *jb, int oper) { @@ -904,8 +905,8 @@ PJ_INLINE(void) jbuf_update(pjmedia_jbuf *jb, int oper) jb->jb_last_op = oper; if (jb->jb_status == JB_STATUS_INITIALIZING) { - /* Switch status 'initializing' -> 'processing' after some OP - * switch cycles and current OP is GET (burst level is calculated + /* Switch status 'initializing' -> 'processing' after some OP + * switch cycles and current OP is GET (burst level is calculated * based on PUT burst), so burst calculation is guaranted to be * performed right after the status switching. */ @@ -921,10 +922,10 @@ PJ_INLINE(void) jbuf_update(pjmedia_jbuf *jb, int oper) } } - /* Perform jitter calculation based on PUT burst-level only, since + /* Perform jitter calculation based on PUT burst-level only, since * GET burst-level may not be accurate, e.g: when VAD is active. * Note that when burst-level is too big, i.e: exceeds jb_max_burst, - * the GET op may be idle, in this case, we better skip the jitter + * the GET op may be idle, in this case, we better skip the jitter * calculation. */ if (oper == JB_OP_GET && jb->jb_level <= jb->jb_max_burst) @@ -939,28 +940,28 @@ PJ_INLINE(void) jbuf_update(pjmedia_jbuf *jb, int oper) } } -PJ_DEF(void) pjmedia_jbuf_put_frame( pjmedia_jbuf *jb, - const void *frame, - pj_size_t frame_size, +PJ_DEF(void) pjmedia_jbuf_put_frame( pjmedia_jbuf *jb, + const void *frame, + pj_size_t frame_size, int frame_seq) { pjmedia_jbuf_put_frame3(jb, frame, frame_size, 0, frame_seq, 0, NULL); } -PJ_DEF(void) pjmedia_jbuf_put_frame2(pjmedia_jbuf *jb, - const void *frame, - pj_size_t frame_size, +PJ_DEF(void) pjmedia_jbuf_put_frame2(pjmedia_jbuf *jb, + const void *frame, + pj_size_t frame_size, pj_uint32_t bit_info, int frame_seq, pj_bool_t *discarded) { - pjmedia_jbuf_put_frame3(jb, frame, frame_size, bit_info, frame_seq, 0, + pjmedia_jbuf_put_frame3(jb, frame, frame_size, bit_info, frame_seq, 0, discarded); } -PJ_DEF(void) pjmedia_jbuf_put_frame3(pjmedia_jbuf *jb, - const void *frame, - pj_size_t frame_size, +PJ_DEF(void) pjmedia_jbuf_put_frame3(pjmedia_jbuf *jb, + const void *frame, + pj_size_t frame_size, pj_uint32_t bit_info, int frame_seq, pj_uint32_t ts, @@ -975,9 +976,9 @@ PJ_DEF(void) pjmedia_jbuf_put_frame3(pjmedia_jbuf *jb, /* Attempt to store the frame */ min_frame_size = PJ_MIN(frame_size, jb->jb_frame_size); status = jb_framelist_put_at(&jb->jb_framelist, frame_seq, frame, - min_frame_size, bit_info, ts, + (unsigned)min_frame_size, bit_info, ts, PJMEDIA_JB_NORMAL_FRAME); - + /* Jitter buffer is full, remove some older frames */ while (status == PJ_ETOOMANY) { int distance; @@ -989,12 +990,12 @@ PJ_DEF(void) pjmedia_jbuf_put_frame3(pjmedia_jbuf *jb, * So we're confident about 'distance' value here. */ distance = (frame_seq - jb_framelist_origin(&jb->jb_framelist)) - - jb->jb_max_count + 1; + (int)jb->jb_max_count + 1; pj_assert(distance > 0); removed = jb_framelist_remove_head(&jb->jb_framelist, distance); status = jb_framelist_put_at(&jb->jb_framelist, frame_seq, frame, - min_frame_size, bit_info, ts, + (unsigned)min_frame_size, bit_info, ts, PJMEDIA_JB_NORMAL_FRAME); jb->jb_discard += removed; @@ -1009,7 +1010,7 @@ PJ_DEF(void) pjmedia_jbuf_put_frame3(pjmedia_jbuf *jb, if (status == PJ_SUCCESS) { if (jb->jb_prefetching) { - TRACE__((jb->jb_name.ptr, "PUT prefetch_cnt=%d/%d", + TRACE__((jb->jb_name.ptr, "PUT prefetch_cnt=%d/%d", new_size, jb->jb_prefetch)); if (new_size >= jb->jb_prefetch) jb->jb_prefetching = PJ_FALSE; @@ -1023,8 +1024,8 @@ PJ_DEF(void) pjmedia_jbuf_put_frame3(pjmedia_jbuf *jb, /* * Get frame from jitter buffer. */ -PJ_DEF(void) pjmedia_jbuf_get_frame( pjmedia_jbuf *jb, - void *frame, +PJ_DEF(void) pjmedia_jbuf_get_frame( pjmedia_jbuf *jb, + void *frame, char *p_frame_type) { pjmedia_jbuf_get_frame3(jb, frame, NULL, p_frame_type, NULL, @@ -1034,8 +1035,8 @@ PJ_DEF(void) pjmedia_jbuf_get_frame( pjmedia_jbuf *jb, /* * Get frame from jitter buffer. */ -PJ_DEF(void) pjmedia_jbuf_get_frame2(pjmedia_jbuf *jb, - void *frame, +PJ_DEF(void) pjmedia_jbuf_get_frame2(pjmedia_jbuf *jb, + void *frame, pj_size_t *size, char *p_frame_type, pj_uint32_t *bit_info) @@ -1047,8 +1048,8 @@ PJ_DEF(void) pjmedia_jbuf_get_frame2(pjmedia_jbuf *jb, /* * Get frame from jitter buffer. */ -PJ_DEF(void) pjmedia_jbuf_get_frame3(pjmedia_jbuf *jb, - void *frame, +PJ_DEF(void) pjmedia_jbuf_get_frame3(pjmedia_jbuf *jb, + void *frame, pj_size_t *size, char *p_frame_type, pj_uint32_t *bit_info, @@ -1077,7 +1078,7 @@ PJ_DEF(void) pjmedia_jbuf_get_frame3(pjmedia_jbuf *jb, pj_bool_t res; /* Try to retrieve a frame from frame list */ - res = jb_framelist_get(&jb->jb_framelist, frame, size, &ftype, + res = jb_framelist_get(&jb->jb_framelist, frame, size, &ftype, bit_info, ts, seq); if (res) { /* We've successfully retrieved a frame from the frame list, but @@ -1096,7 +1097,7 @@ PJ_DEF(void) pjmedia_jbuf_get_frame3(pjmedia_jbuf *jb, /* We've just retrieved one frame, so add one to cur_size */ cur_size = jb_framelist_eff_size(&jb->jb_framelist) + 1; - pj_math_stat_update(&jb->jb_delay, + pj_math_stat_update(&jb->jb_delay, cur_size*jb->jb_frame_ptime); } } else { @@ -1125,19 +1126,19 @@ PJ_DEF(pj_status_t) pjmedia_jbuf_get_state( const pjmedia_jbuf *jb, { PJ_ASSERT_RETURN(jb && state, PJ_EINVAL); - state->frame_size = jb->jb_frame_size; + state->frame_size = (unsigned)jb->jb_frame_size; state->min_prefetch = jb->jb_min_prefetch; state->max_prefetch = jb->jb_max_prefetch; - + state->burst = jb->jb_eff_level; state->prefetch = jb->jb_prefetch; state->size = jb_framelist_eff_size(&jb->jb_framelist); - + state->avg_delay = jb->jb_delay.mean; state->min_delay = jb->jb_delay.min; state->max_delay = jb->jb_delay.max; state->dev_delay = pj_math_stat_get_stddev(&jb->jb_delay); - + state->avg_burst = jb->jb_burst.mean; state->empty = jb->jb_empty; state->discard = jb->jb_discard; @@ -1149,8 +1150,8 @@ PJ_DEF(pj_status_t) pjmedia_jbuf_get_state( const pjmedia_jbuf *jb, PJ_DEF(void) pjmedia_jbuf_peek_frame( pjmedia_jbuf *jb, unsigned offset, - const void **frame, - pj_size_t *size, + const void **frame, + pj_size_t *size, char *p_frm_type, pj_uint32_t *bit_info, pj_uint32_t *ts, @@ -1170,7 +1171,7 @@ PJ_DEF(void) pjmedia_jbuf_peek_frame( pjmedia_jbuf *jb, } -PJ_DEF(unsigned) pjmedia_jbuf_remove_frame(pjmedia_jbuf *jb, +PJ_DEF(unsigned) pjmedia_jbuf_remove_frame(pjmedia_jbuf *jb, unsigned frame_cnt) { unsigned count, last_discard_num; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/master_port.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/master_port.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/master_port.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/master_port.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/mem_capture.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/mem_capture.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/mem_capture.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/mem_capture.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/mem_player.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/mem_player.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/mem_player.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/mem_player.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/null_port.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/null_port.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/null_port.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/null_port.c index ac150c9272c98066372e80a469ac4c9288f91e82..e03990337962291b31ec6b847c26cd15eb9313a6 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/null_port.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/null_port.c @@ -1,4 +1,4 @@ -/* $Id: null_port.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: null_port.c 4423 2013-03-06 06:06:17Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -46,7 +46,7 @@ PJ_DEF(pj_status_t) pjmedia_null_port_create( pj_pool_t *pool, PJ_ASSERT_RETURN(pool && p_port, PJ_EINVAL); port = PJ_POOL_ZALLOC_T(pool, pjmedia_port); - PJ_ASSERT_RETURN(pool != NULL, PJ_ENOMEM); + PJ_ASSERT_RETURN(port != NULL, PJ_ENOMEM); pjmedia_port_info_init(&port->info, &name, SIGNATURE, sampling_rate, channel_count, bits_per_sample, samples_per_frame); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/plc_common.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/plc_common.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/plc_common.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/plc_common.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/port.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/port.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/port.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/port.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/resample_libsamplerate.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/resample_libsamplerate.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/resample_libsamplerate.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/resample_libsamplerate.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/resample_port.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/resample_port.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/resample_port.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/resample_port.c index 06309ac644909cf493802bd0de4d41d6f69556be..f35b96aa2e4e6208b39c3d4ff61c4b6297cd1cf1 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/resample_port.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/resample_port.c @@ -1,4 +1,4 @@ -/* $Id: resample_port.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: resample_port.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -192,7 +192,7 @@ static pj_status_t resample_get_frame(pjmedia_port *this_port, if (tmp_frame.size) { pjmedia_copy_samples((pj_int16_t*)frame->buf, (const pj_int16_t*)tmp_frame.buf, - frame->size >> 1); + (unsigned)frame->size >> 1); } return PJ_SUCCESS; } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/resample_resample.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/resample_resample.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/resample_resample.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/resample_resample.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/resample_speex.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/resample_speex.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/resample_speex.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/resample_speex.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/rtcp.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/rtcp.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/rtcp.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/rtcp.c index fbfae133145c0c92a70ba955388b1d94b10181ad..cf53c05c3f6d9b9ae085291fcde8597eff8b349c 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/rtcp.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/rtcp.c @@ -1,4 +1,4 @@ -/* $Id: rtcp.c 4283 2012-10-12 06:19:32Z ming $ */ +/* $Id: rtcp.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -84,6 +84,7 @@ PJ_DEF(pj_status_t) pjmedia_rtcp_get_ntp_time(const pjmedia_rtcp_session *sess, #if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) || \ (defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0) /* On Win32, since we use QueryPerformanceCounter() as the backend @@ -286,7 +287,6 @@ PJ_DEF(void) pjmedia_rtcp_rx_rtp2(pjmedia_rtcp_session *sess, pj_uint32_t arrival; pj_int32_t transit; pjmedia_rtp_status seq_st; - unsigned last_seq; #if !defined(PJMEDIA_HAS_RTCP_XR) || (PJMEDIA_HAS_RTCP_XR == 0) PJ_UNUSED_ARG(discarded); @@ -301,7 +301,6 @@ PJ_DEF(void) pjmedia_rtcp_rx_rtp2(pjmedia_rtcp_session *sess, sess->stat.rx.bytes += payload; /* Process the RTP packet. */ - last_seq = sess->seq_ctrl.max_seq; pjmedia_rtp_seq_update(&sess->seq_ctrl, (pj_uint16_t)seq, &seq_st); if (seq_st.status.flag.restart) { @@ -806,7 +805,6 @@ PJ_DEF(void) pjmedia_rtcp_build_rtcp(pjmedia_rtcp_session *sess, void **ret_p_pkt, int *len) { pj_uint32_t expected, expected_interval, received_interval, lost_interval; - pjmedia_rtcp_common *common; pjmedia_rtcp_sr *sr; pjmedia_rtcp_rr *rr; pj_timestamp ts_now; @@ -827,7 +825,6 @@ PJ_DEF(void) pjmedia_rtcp_build_rtcp(pjmedia_rtcp_session *sess, /* So we should send RTCP SR */ *ret_p_pkt = (void*) &sess->rtcp_sr_pkt; *len = sizeof(pjmedia_rtcp_sr_pkt); - common = &sess->rtcp_sr_pkt.common; rr = &sess->rtcp_sr_pkt.rr; sr = &sess->rtcp_sr_pkt.sr; @@ -858,7 +855,6 @@ PJ_DEF(void) pjmedia_rtcp_build_rtcp(pjmedia_rtcp_session *sess, /* We should send RTCP RR then */ *ret_p_pkt = (void*) &sess->rtcp_rr_pkt; *len = sizeof(pjmedia_rtcp_rr_pkt); - common = &sess->rtcp_rr_pkt.common; rr = &sess->rtcp_rr_pkt.rr; sr = NULL; } @@ -963,7 +959,7 @@ PJ_DEF(pj_status_t) pjmedia_rtcp_build_rtcp_sdes( { pjmedia_rtcp_common *hdr; pj_uint8_t *p; - unsigned len; + pj_size_t len; PJ_ASSERT_RETURN(session && buf && length && sdes, PJ_EINVAL); @@ -1036,7 +1032,7 @@ PJ_DEF(pj_status_t) pjmedia_rtcp_build_rtcp_bye(pjmedia_rtcp_session *session, { pjmedia_rtcp_common *hdr; pj_uint8_t *p; - unsigned len; + pj_size_t len; PJ_ASSERT_RETURN(session && buf && length, PJ_EINVAL); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/rtcp_xr.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/rtcp_xr.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/rtcp_xr.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/rtcp_xr.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/rtp.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/rtp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/rtp.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/rtp.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp.c index c0d43d8a1ed9352c1e7b3c56e4716619afd6e11d..70763894df54d7916be9c2f47e3f5425e728d607 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp.c @@ -1,4 +1,4 @@ -/* $Id: sdp.c 4367 2013-02-21 20:49:19Z nanang $ */ +/* $Id: sdp.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -503,7 +503,7 @@ PJ_DEF(pj_status_t) pjmedia_sdp_rtpmap_to_attr(pj_pool_t *pool, (int)rtpmap->param.slen, rtpmap->param.ptr); - if (len < 1 || len > (int)sizeof(tempbuf)) + if (len < 1 || len >= (int)sizeof(tempbuf)) return PJMEDIA_SDP_ERTPMAPTOOLONG; attr->value.slen = len; @@ -526,7 +526,7 @@ static int print_connection_info( pjmedia_sdp_conn *c, char *buf, int len) c->addr_type.ptr, (int)c->addr.slen, c->addr.ptr); - if (printed < 1 || printed > len) + if (printed < 1 || printed >= len) return -1; return printed; @@ -640,7 +640,7 @@ static int print_media_desc( pjmedia_sdp_media *m, char *buf, int len) /* print connection info, if present. */ if (m->conn) { - printed = print_connection_info(m->conn, p, end-p); + printed = print_connection_info(m->conn, p, (int)(end-p)); if (printed < 0) { return -1; } @@ -649,7 +649,7 @@ static int print_media_desc( pjmedia_sdp_media *m, char *buf, int len) /* print optional bandwidth info. */ for (i=0; i<m->bandw_count; ++i) { - printed = print_bandw(m->bandw[i], p, end-p); + printed = (int)print_bandw(m->bandw[i], p, end-p); if (printed < 0) { return -1; } @@ -658,14 +658,14 @@ static int print_media_desc( pjmedia_sdp_media *m, char *buf, int len) /* print attributes. */ for (i=0; i<m->attr_count; ++i) { - printed = print_attr(m->attr[i], p, end-p); + printed = (int)print_attr(m->attr[i], p, end-p); if (printed < 0) { return -1; } p += printed; } - return p-buf; + return (int)(p-buf); } PJ_DEF(pjmedia_sdp_media*) pjmedia_sdp_media_clone( @@ -805,7 +805,7 @@ static int print_session(const pjmedia_sdp_session *ses, /* Connection line (c=) if exist. */ if (ses->conn) { - printed = print_connection_info(ses->conn, p, end-p); + printed = print_connection_info(ses->conn, p, (int)(end-p)); if (printed < 1) { return -1; } @@ -814,7 +814,7 @@ static int print_session(const pjmedia_sdp_session *ses, /* print optional bandwidth info. */ for (i=0; i<ses->bandw_count; ++i) { - printed = print_bandw(ses->bandw[i], p, end-p); + printed = (int)print_bandw(ses->bandw[i], p, end-p); if (printed < 1) { return -1; } @@ -837,7 +837,7 @@ static int print_session(const pjmedia_sdp_session *ses, /* Print all attribute (a=) lines. */ for (i=0; i<ses->attr_count; ++i) { - printed = print_attr(ses->attr[i], p, end-p); + printed = (int)print_attr(ses->attr[i], p, end-p); if (printed < 0) { return -1; } @@ -846,14 +846,14 @@ static int print_session(const pjmedia_sdp_session *ses, /* Print media (m=) lines. */ for (i=0; i<ses->media_count; ++i) { - printed = print_media_desc(ses->media[i], p, end-p); + printed = print_media_desc(ses->media[i], p, (int)(end-p)); if (printed < 0) { return -1; } p += printed; } - return p-buf; + return (int)(p-buf); } /****************************************************************************** diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp_cmp.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp_cmp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp_cmp.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp_cmp.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp_neg.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp_neg.c similarity index 91% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp_neg.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp_neg.c index 61e6d930647165cc56f131db6dcebd5523f536a3..c6aafa28f711d5e24c6b3a36d0bf2c5370b06171 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp_neg.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp_neg.c @@ -1,4 +1,4 @@ -/* $Id: sdp_neg.c 4367 2013-02-21 20:49:19Z nanang $ */ +/* $Id: sdp_neg.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -33,6 +33,7 @@ struct pjmedia_sdp_neg { pjmedia_sdp_neg_state state; /**< Negotiator state. */ pj_bool_t prefer_remote_codec_order; + pj_bool_t answer_with_multiple_codecs; pj_bool_t has_remote_answer; pj_bool_t answer_was_remote; @@ -114,6 +115,7 @@ PJ_DEF(pj_status_t) pjmedia_sdp_neg_create_w_local_offer( pj_pool_t *pool, neg->state = PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER; neg->prefer_remote_codec_order = PJMEDIA_SDP_NEG_PREFER_REMOTE_CODEC_ORDER; + neg->answer_with_multiple_codecs = PJMEDIA_SDP_NEG_ANSWER_MULTIPLE_CODECS; neg->initial_sdp = pjmedia_sdp_session_clone(pool, local); neg->neg_local_sdp = pjmedia_sdp_session_clone(pool, local); @@ -182,6 +184,19 @@ PJ_DEF(pj_status_t) pjmedia_sdp_neg_set_prefer_remote_codec_order( } +/* + * Set multiple codec answering. + */ +PJ_DEF(pj_status_t) pjmedia_sdp_neg_set_answer_multiple_codecs( + pjmedia_sdp_neg *neg, + pj_bool_t answer_multiple) +{ + PJ_ASSERT_RETURN(neg, PJ_EINVAL); + neg->answer_with_multiple_codecs = answer_multiple; + return PJ_SUCCESS; +} + + /* * Get SDP negotiator state. */ @@ -275,6 +290,15 @@ static pjmedia_sdp_media *sdp_media_clone_deactivate( PJ_DEF(pj_status_t) pjmedia_sdp_neg_modify_local_offer( pj_pool_t *pool, pjmedia_sdp_neg *neg, const pjmedia_sdp_session *local) +{ + return pjmedia_sdp_neg_modify_local_offer2(pool, neg, 0, local); +} + +PJ_DEF(pj_status_t) pjmedia_sdp_neg_modify_local_offer2( + pj_pool_t *pool, + pjmedia_sdp_neg *neg, + unsigned flags, + const pjmedia_sdp_session *local) { pjmedia_sdp_session *new_offer; pjmedia_sdp_session *old_offer; @@ -314,45 +338,63 @@ PJ_DEF(pj_status_t) pjmedia_sdp_neg_modify_local_offer( pj_pool_t *pool, pj_strdup(pool, &new_offer->origin.addr_type,&old_offer->origin.addr_type); pj_strdup(pool, &new_offer->origin.addr, &old_offer->origin.addr); - /* Generating the new offer, in the case media lines doesn't match the - * active SDP (e.g. current/active SDP's have m=audio and m=video lines, - * and the new offer only has m=audio line), the negotiator will fix - * the new offer by reordering and adding the missing media line with - * port number set to zero. - */ - for (oi = 0; oi < old_offer->media_count; ++oi) { - pjmedia_sdp_media *om; - pjmedia_sdp_media *nm; - unsigned ni; /* new offer media index */ - pj_bool_t found = PJ_FALSE; - - om = old_offer->media[oi]; - for (ni = oi; ni < new_offer->media_count; ++ni) { - nm = new_offer->media[ni]; - if (pj_strcmp(&nm->desc.media, &om->desc.media) == 0) { - if (ni != oi) { - /* The same media found but the position unmatched to the - * old offer, so let's put this media in the right place, - * and keep the order of the rest. - */ - pj_array_insert(new_offer->media, /* array */ - sizeof(new_offer->media[0]), /* elmt size*/ - ni, /* count */ - oi, /* pos */ - &nm); /* new elmt */ - } - found = PJ_TRUE; - break; + if ((flags & PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE) == 0) { + /* Generating the new offer, in the case media lines doesn't match the + * active SDP (e.g. current/active SDP's have m=audio and m=video lines, + * and the new offer only has m=audio line), the negotiator will fix + * the new offer by reordering and adding the missing media line with + * port number set to zero. + */ + for (oi = 0; oi < old_offer->media_count; ++oi) { + pjmedia_sdp_media *om; + pjmedia_sdp_media *nm; + unsigned ni; /* new offer media index */ + pj_bool_t found = PJ_FALSE; + + om = old_offer->media[oi]; + for (ni = oi; ni < new_offer->media_count; ++ni) { + nm = new_offer->media[ni]; + if (pj_strcmp(&nm->desc.media, &om->desc.media) == 0) { + if (ni != oi) { + /* The same media found but the position unmatched to + * the old offer, so let's put this media in the right + * place, and keep the order of the rest. + */ + pj_array_insert( + new_offer->media, /* array */ + sizeof(new_offer->media[0]), /* elmt size*/ + ni, /* count */ + oi, /* pos */ + &nm); /* new elmt */ + } + found = PJ_TRUE; + break; + } } - } - if (!found) { - pjmedia_sdp_media *m; + if (!found) { + pjmedia_sdp_media *m; + + m = sdp_media_clone_deactivate(pool, om, om, local); - m = sdp_media_clone_deactivate(pool, om, om, local); + pj_array_insert(new_offer->media, sizeof(new_offer->media[0]), + new_offer->media_count++, oi, &m); + } + } + } else { + /* If media type change is allowed, the negotiator only needs to fix + * the new offer by adding the missing media line(s) with port number + * set to zero. + */ + for (oi = new_offer->media_count; oi < old_offer->media_count; ++oi) { + pjmedia_sdp_media *m; + + m = sdp_media_clone_deactivate(pool, old_offer->media[oi], + old_offer->media[oi], local); pj_array_insert(new_offer->media, sizeof(new_offer->media[0]), - new_offer->media_count++, oi, &m); - } + new_offer->media_count++, oi, &m); + + } } /* New_offer fixed */ @@ -910,7 +952,7 @@ static pj_status_t process_answer(pj_pool_t *pool, PJ_INLINE(void) rewrite_pt(pj_pool_t *pool, pj_str_t *attr_val, const pj_str_t *old_pt, const pj_str_t *new_pt) { - int len_diff = new_pt->slen - old_pt->slen; + int len_diff = (int)(new_pt->slen - old_pt->slen); /* Note that attribute value should be null-terminated. */ if (len_diff > 0) { @@ -983,6 +1025,7 @@ static void apply_answer_symmetric_pt(pj_pool_t *pool, /* Try to match offer with answer. */ static pj_status_t match_offer(pj_pool_t *pool, pj_bool_t prefer_remote_codec_order, + pj_bool_t answer_with_multiple_codecs, const pjmedia_sdp_media *offer, const pjmedia_sdp_media *preanswer, const pjmedia_sdp_session *preanswer_sdp, @@ -990,7 +1033,6 @@ static pj_status_t match_offer(pj_pool_t *pool, { unsigned i; pj_bool_t master_has_codec = 0, - master_has_telephone_event = 0, master_has_other = 0, found_matching_codec = 0, found_matching_telephone_event = 0, @@ -1048,11 +1090,11 @@ static pj_status_t match_offer(pj_pool_t *pool, master_has_codec = 1; - /* We just need to select one codec. + /* We just need to select one codec if not allowing multiple. * Continue if we have selected matching codec for previous * payload. */ - if (found_matching_codec) + if (!answer_with_multiple_codecs && found_matching_codec) continue; /* Find matching codec in local descriptor. */ @@ -1086,13 +1128,12 @@ static pj_status_t match_offer(pj_pool_t *pool, pjmedia_sdp_attr_get_rtpmap(a, &or_); if (!pj_stricmp2(&or_.enc_name, "telephone-event")) { - master_has_telephone_event = 1; if (found_matching_telephone_event) continue; is_codec = 0; } else { master_has_codec = 1; - if (found_matching_codec) + if (!answer_with_multiple_codecs && found_matching_codec) continue; is_codec = 1; } @@ -1250,6 +1291,7 @@ static pj_status_t match_offer(pj_pool_t *pool, /* Create complete answer for remote's offer. */ static pj_status_t create_answer( pj_pool_t *pool, pj_bool_t prefer_remote_codec_order, + pj_bool_t answer_with_multiple_codecs, const pjmedia_sdp_session *initial, const pjmedia_sdp_session *offer, pjmedia_sdp_session **p_answer) @@ -1299,7 +1341,8 @@ static pj_status_t create_answer( pj_pool_t *pool, pj_status_t status2; /* See if it has matching codec. */ - status2 = match_offer(pool, prefer_remote_codec_order, + status2 = match_offer(pool, prefer_remote_codec_order, + answer_with_multiple_codecs, om, im, initial, &am); if (status2 == PJ_SUCCESS) { /* Mark media as used. */ @@ -1349,13 +1392,21 @@ PJ_DEF(pj_status_t) pjmedia_sdp_neg_cancel_offer(pjmedia_sdp_neg *neg) neg->state == PJMEDIA_SDP_NEG_STATE_REMOTE_OFFER, PJMEDIA_SDPNEG_EINSTATE); - /* Reset state to done */ - neg->state = PJMEDIA_SDP_NEG_STATE_DONE; - /* Clear temporary SDP */ neg->neg_local_sdp = neg->neg_remote_sdp = NULL; neg->has_remote_answer = PJ_FALSE; + if (neg->state == PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER) { + /* Increment next version number. This happens if for example + * the reinvite offer is rejected by 488. If we don't increment + * the version here, the next offer will have the same version. + */ + neg->active_local_sdp->origin.version++; + } + + /* Reset state to done */ + neg->state = PJMEDIA_SDP_NEG_STATE_DONE; + return PJ_SUCCESS; } @@ -1389,7 +1440,8 @@ PJ_DEF(pj_status_t) pjmedia_sdp_neg_negotiate( pj_pool_t *pool, } else { pjmedia_sdp_session *answer = NULL; - status = create_answer(pool, neg->prefer_remote_codec_order, + status = create_answer(pool, neg->prefer_remote_codec_order, + neg->answer_with_multiple_codecs, neg->neg_local_sdp, neg->neg_remote_sdp, &answer); if (status == PJ_SUCCESS) { diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sdp_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sdp_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/session.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/session.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/session.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/session.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/silencedet.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/silencedet.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/silencedet.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/silencedet.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sound_legacy.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sound_legacy.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sound_legacy.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sound_legacy.c index 31215c02123e3e0d90f82c378a62ae74a2225f25..4cc464f5ad9d5c9976149e4726937d620f07f091 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sound_legacy.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sound_legacy.c @@ -1,4 +1,4 @@ -/* $Id: sound_legacy.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sound_legacy.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -94,7 +94,7 @@ static pj_status_t snd_play_cb(void *user_data, return strm->user_play_cb(strm->user_user_data, frame->timestamp.u32.lo, frame->buf, - frame->size); + (unsigned)frame->size); } static pj_status_t snd_rec_cb(void *user_data, @@ -104,7 +104,7 @@ static pj_status_t snd_rec_cb(void *user_data, return strm->user_rec_cb(strm->user_user_data, frame->timestamp.u32.lo, frame->buf, - frame->size); + (unsigned)frame->size); } static pj_status_t open_stream( pjmedia_dir dir, diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sound_port.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sound_port.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sound_port.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sound_port.c index 4a475e78d95f29329c0ef792a901c3dbc322aa15..728de8ef7324cc702984141982199151126163e2 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/sound_port.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/sound_port.c @@ -1,4 +1,4 @@ -/* $Id: sound_port.c 4082 2012-04-24 13:09:14Z bennylp $ */ +/* $Id: sound_port.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -71,7 +71,7 @@ static pj_status_t play_cb(void *user_data, pjmedia_frame *frame) { pjmedia_snd_port *snd_port = (pjmedia_snd_port*) user_data; pjmedia_port *port; - const unsigned required_size = frame->size; + const unsigned required_size = (unsigned)frame->size; pj_status_t status; pjmedia_clock_src_update(&snd_port->play_clocksrc, &frame->timestamp); @@ -234,7 +234,7 @@ static pj_status_t start_sound_device( pj_pool_t *pool, if (param_copy.flags & PJMEDIA_AUD_DEV_CAP_EC) { /* EC is wanted */ if ((snd_port->prm_ec_options & PJMEDIA_ECHO_USE_SW_ECHO) == 0 && - snd_port->aud_caps & PJMEDIA_AUD_DEV_CAP_EC) + (snd_port->aud_caps & PJMEDIA_AUD_DEV_CAP_EC)) { /* Device supports EC */ /* Nothing to do */ @@ -527,7 +527,7 @@ PJ_DEF(pj_status_t) pjmedia_snd_port_set_ec( pjmedia_snd_port *snd_port, /* Determine whether we use device or software EC */ if ((snd_port->prm_ec_options & PJMEDIA_ECHO_USE_SW_ECHO) == 0 && - snd_port->aud_caps & PJMEDIA_AUD_DEV_CAP_EC) + (snd_port->aud_caps & PJMEDIA_AUD_DEV_CAP_EC)) { /* We use device EC */ pj_bool_t ec_enabled; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/splitcomb.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/splitcomb.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/splitcomb.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/splitcomb.c index dd2a944497eef17e97da4da81ebd7dcb60319265..37c882161998df034e2dcfa987fdeb4219deecdd 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/splitcomb.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/splitcomb.c @@ -1,4 +1,4 @@ -/* $Id: splitcomb.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: splitcomb.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -565,7 +565,7 @@ static pj_status_t put_frame(pjmedia_port *this_port, /* Extract the mono frame to temporary buffer */ extract_mono_frame((const pj_int16_t*)frame->buf, sc->put_buf, ch, PJMEDIA_PIA_CCNT(&this_port->info), - frame->size * 8 / + (unsigned)frame->size * 8 / PJMEDIA_PIA_BITS(&this_port->info) / PJMEDIA_PIA_CCNT(&this_port->info)); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/stereo_port.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/stereo_port.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/stereo_port.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/stereo_port.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/stream.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/stream.c similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/stream.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/stream.c index 840b06cac32b753dea39a0a630c574af60f33fed..da19ec0c2f9f7191e21a44be85ec95d6d447b1d2 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/stream.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/stream.c @@ -1,5 +1,5 @@ -/* $Id: stream.c 4336 2013-01-29 08:15:02Z ming $ */ -/* +/* $Id: stream.c 4788 2014-03-11 03:07:46Z nanang $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <pjmedia/stream.h> #include <pjmedia/errno.h> @@ -184,16 +184,16 @@ struct pjmedia_stream * This happens for example with G.722 and MPEG audio codecs. */ pj_bool_t has_g722_mpeg_bug; - /**< Flag to specify whether - normalization process + /**< Flag to specify whether + normalization process is needed */ unsigned rtp_tx_ts_len_per_pkt; /**< Normalized ts length per packet - transmitted according to + transmitted according to 'erroneous' definition */ unsigned rtp_rx_ts_len_per_frame; /**< Normalized ts length per frame - received according to + received according to 'erroneous' definition */ unsigned rtp_rx_last_cnt;/**< Nb of frames in last pkt */ unsigned rtp_rx_check_cnt; @@ -202,11 +202,11 @@ struct pjmedia_stream #endif #if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) - pj_uint32_t rtcp_xr_last_tx; /**< RTCP XR tx time + pj_uint32_t rtcp_xr_last_tx; /**< RTCP XR tx time in timestamp. */ pj_uint32_t rtcp_xr_interval; /**< Interval, in timestamp. */ - pj_sockaddr rtcp_xr_dest; /**< Additional remote RTCP XR - dest. If sin_family is + pj_sockaddr rtcp_xr_dest; /**< Additional remote RTCP XR + dest. If sin_family is zero, it will be ignored*/ unsigned rtcp_xr_dest_len; /**< Length of RTCP XR dest address */ @@ -230,10 +230,11 @@ struct pjmedia_stream /* RFC 2833 digit */ -static const char digitmap[16] = { '0', '1', '2', '3', - '4', '5', '6', '7', +static const char digitmap[17] = { '0', '1', '2', '3', + '4', '5', '6', '7', '8', '9', '*', '#', - 'A', 'B', 'C', 'D'}; + 'A', 'B', 'C', 'D', + 'R'}; /* Zero audio frame samples */ static pj_int16_t zero_frame[2 * 30 * 16000 / 1000]; @@ -284,7 +285,7 @@ PJ_INLINE(int) trace_jb_print_timestamp(char **buf, pj_ssize_t len) return 0; } -PJ_INLINE(int) trace_jb_print_state(pjmedia_stream *stream, +PJ_INLINE(int) trace_jb_print_state(pjmedia_stream *stream, char **buf, pj_ssize_t len) { char *p = *buf; @@ -459,7 +460,7 @@ static void send_keep_alive_packet(pjmedia_stream *stream) pkt_len); #else - + PJ_UNUSED_ARG(stream); #endif @@ -497,12 +498,12 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) samples_required = PJMEDIA_PIA_SPF(&stream->port.info); samples_per_frame = stream->codec_param.info.frm_ptime * stream->codec_param.info.clock_rate * - stream->codec_param.info.channel_cnt / + stream->codec_param.info.channel_cnt / 1000; p_out_samp = (pj_int16_t*) frame->buf; - for (samples_count=0; samples_count < samples_required; - samples_count += samples_per_frame) + for (samples_count=0; samples_count < samples_required; + samples_count += samples_per_frame) { char frame_type; pj_size_t frame_size; @@ -517,18 +518,18 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) #endif if (frame_type == PJMEDIA_JB_MISSING_FRAME) { - + /* Activate PLC */ - if (stream->codec->op->recover && + if (stream->codec->op->recover && stream->codec_param.setting.plc && - stream->plc_cnt < stream->max_plc_cnt) + stream->plc_cnt < stream->max_plc_cnt) { pjmedia_frame frame_out; frame_out.buf = p_out_samp + samples_count; frame_out.size = frame->size - samples_count*2; status = pjmedia_codec_recover(stream->codec, - frame_out.size, + (unsigned)frame_out.size, &frame_out); ++stream->plc_cnt; @@ -560,16 +561,16 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) /* Jitter buffer is empty. If this is the first "empty" state, * activate PLC to smoothen the fade-out, otherwise zero - * the frame. + * the frame. */ //Using this "if" will only invoke PLC for the first packet //lost and not the subsequent ones. //if (frame_type != stream->jb_last_frm) { if (1) { /* Activate PLC to smoothen the missing frame */ - if (stream->codec->op->recover && + if (stream->codec->op->recover && stream->codec_param.setting.plc && - stream->plc_cnt < stream->max_plc_cnt) + stream->plc_cnt < stream->max_plc_cnt) { pjmedia_frame frame_out; @@ -577,7 +578,7 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) frame_out.buf = p_out_samp + samples_count; frame_out.size = frame->size - samples_count*2; status = pjmedia_codec_recover(stream->codec, - frame_out.size, + (unsigned)frame_out.size, &frame_out); if (status != PJ_SUCCESS) break; @@ -589,7 +590,7 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) stream->plc_cnt < stream->max_plc_cnt); with_plc = ", plc invoked"; - } + } } if (samples_count < samples_required) { @@ -603,8 +604,8 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) /* Report changing frame type event */ pjmedia_jbuf_get_state(stream->jb, &jb_state); - PJ_LOG(5,(stream->port.info.name.ptr, - "Jitter buffer empty (prefetch=%d)%s", + PJ_LOG(5,(stream->port.info.name.ptr, + "Jitter buffer empty (prefetch=%d)%s", jb_state.prefetch, with_plc)); stream->jb_last_frm = frame_type; @@ -622,9 +623,9 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) pj_assert(frame_type == PJMEDIA_JB_ZERO_PREFETCH_FRAME); /* Always activate PLC when it's available.. */ - if (stream->codec->op->recover && + if (stream->codec->op->recover && stream->codec_param.setting.plc && - stream->plc_cnt < stream->max_plc_cnt) + stream->plc_cnt < stream->max_plc_cnt) { pjmedia_frame frame_out; @@ -632,7 +633,7 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) frame_out.buf = p_out_samp + samples_count; frame_out.size = frame->size - samples_count*2; status = pjmedia_codec_recover(stream->codec, - frame_out.size, + (unsigned)frame_out.size, &frame_out); if (status != PJ_SUCCESS) break; @@ -644,7 +645,7 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) stream->plc_cnt < stream->max_plc_cnt); with_plc = ", plc invoked"; - } + } if (samples_count < samples_required) { pjmedia_zero_samples(p_out_samp + samples_count, @@ -657,8 +658,8 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) /* Report changing frame type event */ pjmedia_jbuf_get_state(stream->jb, &jb_state); - PJ_LOG(5,(stream->port.info.name.ptr, - "Jitter buffer is bufferring (prefetch=%d)%s", + PJ_LOG(5,(stream->port.info.name.ptr, + "Jitter buffer is bufferring (prefetch=%d)%s", jb_state.prefetch, with_plc)); stream->jb_last_frm = frame_type; @@ -683,18 +684,19 @@ static pj_status_t get_frame( pjmedia_port *port, pjmedia_frame *frame) frame_out.buf = p_out_samp + samples_count; frame_out.size = frame->size - samples_count*BYTES_PER_SAMPLE; status = pjmedia_codec_decode( stream->codec, &frame_in, - frame_out.size, &frame_out); + (unsigned)frame_out.size, + &frame_out); if (status != 0) { - LOGERR_((port->info.name.ptr, "codec decode() error", + LOGERR_((port->info.name.ptr, "codec decode() error", status)); - pjmedia_zero_samples(p_out_samp + samples_count, + pjmedia_zero_samples(p_out_samp + samples_count, samples_per_frame); } if (stream->jb_last_frm != frame_type) { /* Report changing frame type event */ - PJ_LOG(5,(stream->port.info.name.ptr, + PJ_LOG(5,(stream->port.info.name.ptr, "Jitter buffer starts returning normal frames " "(after %d empty/lost)", stream->jb_last_frm_cnt, stream->jb_last_frm)); @@ -751,7 +753,7 @@ static pj_status_t get_frame_ext( pjmedia_port *port, pjmedia_frame *frame) samples_required = PJMEDIA_PIA_SPF(&stream->port.info); samples_per_frame = stream->codec_param.info.frm_ptime * stream->codec_param.info.clock_rate * - stream->codec_param.info.channel_cnt / + stream->codec_param.info.channel_cnt / 1000; pj_bzero(f, sizeof(pjmedia_frame_ext)); @@ -772,7 +774,7 @@ static pj_status_t get_frame_ext( pjmedia_port *port, pjmedia_frame *frame) #if TRACE_JB trace_jb_get(stream, frame_type, frame_size); #endif - + /* Unlock jitter buffer mutex. */ pj_mutex_unlock( stream->jb_mutex ); @@ -789,7 +791,7 @@ static pj_status_t get_frame_ext( pjmedia_port *port, pjmedia_frame *frame) status = pjmedia_codec_decode( stream->codec, &frame_in, 0, frame); if (status != PJ_SUCCESS) { - LOGERR_((port->info.name.ptr, "codec decode() error", + LOGERR_((port->info.name.ptr, "codec decode() error", status)); pjmedia_frame_ext_append_subframe(f, NULL, 0, (pj_uint16_t)samples_per_frame); @@ -797,7 +799,7 @@ static pj_status_t get_frame_ext( pjmedia_port *port, pjmedia_frame *frame) if (stream->jb_last_frm != frame_type) { /* Report changing frame type event */ - PJ_LOG(5,(stream->port.info.name.ptr, + PJ_LOG(5,(stream->port.info.name.ptr, "Jitter buffer starts returning normal frames " "(after %d empty/lost)", stream->jb_last_frm_cnt, stream->jb_last_frm)); @@ -815,7 +817,7 @@ static pj_status_t get_frame_ext( pjmedia_port *port, pjmedia_frame *frame) if (stream->codec->op->recover) { status = pjmedia_codec_recover(stream->codec, 0, frame); } - + /* No PLC or PLC failed */ if (!stream->codec->op->recover || status != PJ_SUCCESS) { pjmedia_frame_ext_append_subframe(f, NULL, 0, @@ -838,8 +840,8 @@ static pj_status_t get_frame_ext( pjmedia_port *port, pjmedia_frame *frame) /* Report changing frame type event */ pjmedia_jbuf_get_state(stream->jb, &jb_state); - PJ_LOG(5,(stream->port.info.name.ptr, - "Jitter buffer empty (prefetch=%d)", + PJ_LOG(5,(stream->port.info.name.ptr, + "Jitter buffer empty (prefetch=%d)", jb_state.prefetch)); stream->jb_last_frm = frame_type; @@ -857,7 +859,7 @@ static pj_status_t get_frame_ext( pjmedia_port *port, pjmedia_frame *frame) /* Report changing frame type event */ pjmedia_jbuf_get_state(stream->jb, &jb_state); - PJ_LOG(5,(stream->port.info.name.ptr, + PJ_LOG(5,(stream->port.info.name.ptr, "Jitter buffer is bufferring (prefetch=%d)", jb_state.prefetch)); @@ -877,23 +879,21 @@ static pj_status_t get_frame_ext( pjmedia_port *port, pjmedia_frame *frame) /* * Transmit DTMF */ -static void create_dtmf_payload(pjmedia_stream *stream, +static void create_dtmf_payload(pjmedia_stream *stream, struct pjmedia_frame *frame_out, int forced_last, int *first, int *last) { pjmedia_rtp_dtmf_event *event; struct dtmf *digit = &stream->tx_dtmf_buf[0]; - pj_uint32_t cur_ts; pj_assert(sizeof(pjmedia_rtp_dtmf_event) == 4); *first = *last = 0; event = (pjmedia_rtp_dtmf_event*) frame_out->buf; - cur_ts = pj_ntohl(stream->enc->rtp.out_hdr.ts); if (digit->duration == 0) { - PJ_LOG(5,(stream->port.info.name.ptr, "Sending DTMF digit id %c", + PJ_LOG(5,(stream->port.info.name.ptr, "Sending DTMF digit id %c", digitmap[digit->event])); *first = 1; } @@ -986,14 +986,14 @@ static pj_status_t send_rtcp(pjmedia_stream *stream, /* Update RTCP XR with current JB states */ pjmedia_jbuf_get_state(stream->jb, &jb_state); - + i = jb_state.avg_delay; - status = pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, + status = pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, PJMEDIA_RTCP_XR_INFO_JB_NOM, i); pj_assert(status == PJ_SUCCESS); i = jb_state.max_delay; - status = pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, + status = pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, PJMEDIA_RTCP_XR_INFO_JB_MAX, i); pj_assert(status == PJ_SUCCESS); @@ -1006,9 +1006,9 @@ static pj_status_t send_rtcp(pjmedia_stream *stream, /* Send the RTCP XR to third-party destination if specified */ if (stream->rtcp_xr_dest_len) { - pjmedia_transport_send_rtcp2(stream->transport, + pjmedia_transport_send_rtcp2(stream->transport, &stream->rtcp_xr_dest, - stream->rtcp_xr_dest_len, + stream->rtcp_xr_dest_len, xr_pkt, xr_len); } @@ -1048,13 +1048,13 @@ static pj_status_t send_rtcp(pjmedia_stream *stream, */ static void check_tx_rtcp(pjmedia_stream *stream, pj_uint32_t timestamp) { - /* Note that timestamp may represent local or remote timestamp, + /* Note that timestamp may represent local or remote timestamp, * depending on whether this function is called from put_frame() * or get_frame(). */ if (stream->rtcp_last_tx == 0) { - + stream->rtcp_last_tx = timestamp; } else if (timestamp - stream->rtcp_last_tx >= stream->rtcp_interval) { @@ -1065,7 +1065,7 @@ static void check_tx_rtcp(pjmedia_stream *stream, pj_uint32_t timestamp) if (stream->rtcp.xr_enabled) { if (stream->rtcp_xr_last_tx == 0) { stream->rtcp_xr_last_tx = timestamp; - } else if (timestamp - stream->rtcp_xr_last_tx >= + } else if (timestamp - stream->rtcp_xr_last_tx >= stream->rtcp_xr_interval) { with_xr = PJ_TRUE; @@ -1125,11 +1125,11 @@ static void rebuffer(pjmedia_stream *stream, } else { pj_bzero(stream->enc_buf + stream->enc_buf_count, frame->size); } - stream->enc_buf_count += (frame->size >> 1); + stream->enc_buf_count += ((unsigned)frame->size >> 1); } /* How many samples are needed */ - count = stream->codec_param.info.enc_ptime * + count = stream->codec_param.info.enc_ptime * PJMEDIA_PIA_SRATE(&stream->port.info) / 1000; /* See if we have enough samples */ @@ -1152,7 +1152,7 @@ static void rebuffer(pjmedia_stream *stream, /** * put_frame_imp() */ -static pj_status_t put_frame_imp( pjmedia_port *port, +static pj_status_t put_frame_imp( pjmedia_port *port, pjmedia_frame *frame ) { pjmedia_stream *stream = (pjmedia_stream*) port->port_data.pdata; @@ -1173,7 +1173,7 @@ static pj_status_t put_frame_imp( pjmedia_port *port, { pj_uint32_t dtx_duration; - dtx_duration = pj_timestamp_diff32(&stream->last_frm_ts_sent, + dtx_duration = pj_timestamp_diff32(&stream->last_frm_ts_sent, &frame->timestamp); if (dtx_duration > PJMEDIA_STREAM_KA_INTERVAL * PJMEDIA_PIA_SRATE(&stream->port.info)) @@ -1192,7 +1192,8 @@ static pj_status_t put_frame_imp( pjmedia_port *port, /* Number of samples in the frame */ if (frame->type == PJMEDIA_FRAME_TYPE_AUDIO) - ts_len = (frame->size >> 1) / stream->codec_param.info.channel_cnt; + ts_len = ((unsigned)frame->size >> 1) / + stream->codec_param.info.channel_cnt; else if (frame->type == PJMEDIA_FRAME_TYPE_EXTENDED) ts_len = PJMEDIA_PIA_SPF(&stream->port.info) / PJMEDIA_PIA_CCNT(&stream->port.info); @@ -1203,7 +1204,7 @@ static pj_status_t put_frame_imp( pjmedia_port *port, stream->tx_duration += ts_len; #if defined(PJMEDIA_HANDLE_G722_MPEG_BUG) && (PJMEDIA_HANDLE_G722_MPEG_BUG!=0) - /* Handle special case for audio codec with RTP timestamp inconsistence + /* Handle special case for audio codec with RTP timestamp inconsistence * e.g: G722, MPEG audio. */ if (stream->has_g722_mpeg_bug) @@ -1222,7 +1223,7 @@ static pj_status_t put_frame_imp( pjmedia_port *port, samples_per_frame = stream->enc_samples_per_pkt; - /* If we have DTMF digits in the queue, transmit the digits. + /* If we have DTMF digits in the queue, transmit the digits. * Otherwise encode the PCM buffer. */ if (stream->tx_dtmf_count) { @@ -1232,17 +1233,17 @@ static pj_status_t put_frame_imp( pjmedia_port *port, /* Encapsulate into RTP packet. Note that: * - RTP marker should be set on the beginning of a new event - * - RTP timestamp is constant for the same packet. + * - RTP timestamp is constant for the same packet. */ - status = pjmedia_rtp_encode_rtp( &channel->rtp, - stream->tx_event_pt, first, - frame_out.size, - (first ? rtp_ts_len : 0), - (const void**)&rtphdr, + status = pjmedia_rtp_encode_rtp( &channel->rtp, + stream->tx_event_pt, first, + (int)frame_out.size, + (first ? rtp_ts_len : 0), + (const void**)&rtphdr, &rtphdrlen); if (last) { - /* This is the last packet for the event. + /* This is the last packet for the event. * Increment the RTP timestamp of the RTP session, for next * RTP packets. */ @@ -1269,7 +1270,7 @@ static pj_status_t put_frame_imp( pjmedia_port *port, stream->codec_param.info.frm_ptime * stream->codec_param.info.channel_cnt * stream->codec_param.info.clock_rate/1000 < - PJ_ARRAY_SIZE(zero_frame)) + PJ_ARRAY_SIZE(zero_frame)) { pjmedia_frame silence_frame; @@ -1280,23 +1281,23 @@ static pj_status_t put_frame_imp( pjmedia_port *port, stream->codec_param.info.clock_rate / 1000; silence_frame.type = PJMEDIA_FRAME_TYPE_AUDIO; silence_frame.timestamp.u32.lo = pj_ntohl(stream->enc->rtp.out_hdr.ts); - + /* Encode! */ status = pjmedia_codec_encode( stream->codec, &silence_frame, - channel->out_pkt_size - + channel->out_pkt_size - sizeof(pjmedia_rtp_hdr), &frame_out); if (status != PJ_SUCCESS) { - LOGERR_((stream->port.info.name.ptr, + LOGERR_((stream->port.info.name.ptr, "Codec encode() error", status)); return status; } /* Encapsulate. */ - status = pjmedia_rtp_encode_rtp( &channel->rtp, - channel->pt, 0, - frame_out.size, rtp_ts_len, - (const void**)&rtphdr, + status = pjmedia_rtp_encode_rtp( &channel->rtp, + channel->pt, 0, + (int)frame_out.size, rtp_ts_len, + (const void**)&rtphdr, &rtphdrlen); @@ -1306,41 +1307,41 @@ static pj_status_t put_frame_imp( pjmedia_port *port, (frame->type == PJMEDIA_FRAME_TYPE_EXTENDED)) { /* Encode! */ - status = pjmedia_codec_encode( stream->codec, frame, - channel->out_pkt_size - + status = pjmedia_codec_encode( stream->codec, frame, + channel->out_pkt_size - sizeof(pjmedia_rtp_hdr), &frame_out); if (status != PJ_SUCCESS) { - LOGERR_((stream->port.info.name.ptr, + LOGERR_((stream->port.info.name.ptr, "Codec encode() error", status)); return status; } /* Encapsulate. */ - status = pjmedia_rtp_encode_rtp( &channel->rtp, - channel->pt, 0, - frame_out.size, rtp_ts_len, - (const void**)&rtphdr, + status = pjmedia_rtp_encode_rtp( &channel->rtp, + channel->pt, 0, + (int)frame_out.size, rtp_ts_len, + (const void**)&rtphdr, &rtphdrlen); } else { /* Just update RTP session's timestamp. */ - status = pjmedia_rtp_encode_rtp( &channel->rtp, - 0, 0, - 0, rtp_ts_len, - (const void**)&rtphdr, + status = pjmedia_rtp_encode_rtp( &channel->rtp, + 0, 0, + 0, rtp_ts_len, + (const void**)&rtphdr, &rtphdrlen); } if (status != PJ_SUCCESS) { - LOGERR_((stream->port.info.name.ptr, + LOGERR_((stream->port.info.name.ptr, "RTP encode_rtp() error", status)); return status; } - /* Check if now is the time to transmit RTCP SR/RR report. + /* Check if now is the time to transmit RTCP SR/RR report. * We only do this when stream direction is not "decoding only", because * when it is, check_tx_rtcp() will be handled by get_frame(). */ @@ -1391,7 +1392,7 @@ static pj_status_t put_frame_imp( pjmedia_port *port, } /* Update stat */ - pjmedia_rtcp_tx_rtp(&stream->rtcp, frame_out.size); + pjmedia_rtcp_tx_rtp(&stream->rtcp, (unsigned)frame_out.size); stream->rtcp.stat.rtp_tx_last_ts = pj_ntohl(stream->enc->rtp.out_hdr.ts); stream->rtcp.stat.rtp_tx_last_seq = pj_ntohs(stream->enc->rtp.out_hdr.seq); @@ -1411,7 +1412,7 @@ static pj_status_t put_frame_imp( pjmedia_port *port, * to transmit. This function encodes the PCM frame, pack it into * RTP packet, and transmit to peer. */ -static pj_status_t put_frame( pjmedia_port *port, +static pj_status_t put_frame( pjmedia_port *port, pjmedia_frame *frame ) { pjmedia_stream *stream = (pjmedia_stream*) port->port_data.pdata; @@ -1459,7 +1460,7 @@ static pj_status_t put_frame( pjmedia_port *port, * after transmitting for VAD_SUSPEND_SEC seconds. */ if (stream->vad_enabled != stream->codec_param.setting.vad && - (stream->tx_duration - stream->ts_vad_disabled) > + (stream->tx_duration - stream->ts_vad_disabled) > PJMEDIA_PIA_SRATE(&stream->port.info) * PJMEDIA_STREAM_VAD_SUSPEND_MSEC / 1000) { @@ -1476,7 +1477,7 @@ static pj_status_t put_frame( pjmedia_port *port, pjmedia_frame tmp_rebuffer_frame; pj_status_t status = PJ_SUCCESS; - /* Copy original frame to temporary frame since we need + /* Copy original frame to temporary frame since we need * to modify it. */ pj_memcpy(&tmp_rebuffer_frame, frame, sizeof(pjmedia_frame)); @@ -1543,7 +1544,7 @@ static void dump_bin(const char *buf, unsigned len) /* * Handle incoming DTMF digits. */ -static void handle_incoming_dtmf( pjmedia_stream *stream, +static void handle_incoming_dtmf( pjmedia_stream *stream, const void *payload, unsigned payloadlen) { pjmedia_rtp_dtmf_event *event = (pjmedia_rtp_dtmf_event*) payload; @@ -1568,8 +1569,8 @@ static void handle_incoming_dtmf( pjmedia_stream *stream, } /* Ignore unknown event. */ - if (event->event > 15) { - PJ_LOG(5,(stream->port.info.name.ptr, + if (event->event > 16) { + PJ_LOG(5,(stream->port.info.name.ptr, "Ignored RTP pkt with bad DTMF event %d", event->event)); return; @@ -1588,7 +1589,7 @@ static void handle_incoming_dtmf( pjmedia_stream *stream, */ if (stream->dtmf_cb) { - stream->dtmf_cb(stream, stream->dtmf_cb_user_data, + stream->dtmf_cb(stream, stream->dtmf_cb_user_data, digitmap[event->event]); } else { @@ -1598,7 +1599,7 @@ static void handle_incoming_dtmf( pjmedia_stream *stream, pj_mutex_lock(stream->jb_mutex); if (stream->rx_dtmf_count >= PJ_ARRAY_SIZE(stream->rx_dtmf_buf)) { /* DTMF digits overflow. Discard the oldest digit. */ - pj_array_erase(stream->rx_dtmf_buf, + pj_array_erase(stream->rx_dtmf_buf, sizeof(stream->rx_dtmf_buf[0]), stream->rx_dtmf_count, 0); --stream->rx_dtmf_count; @@ -1611,9 +1612,9 @@ static void handle_incoming_dtmf( pjmedia_stream *stream, /* * This callback is called by stream transport on receipt of packets - * in the RTP socket. + * in the RTP socket. */ -static void on_rx_rtp( void *data, +static void on_rx_rtp( void *data, void *pkt, pj_ssize_t bytes_read) @@ -1629,7 +1630,8 @@ static void on_rx_rtp( void *data, /* Check for errors */ if (bytes_read < 0) { - LOGERR_((stream->port.info.name.ptr, "RTP recv() error", -bytes_read)); + LOGERR_((stream->port.info.name.ptr, "RTP recv() error", + (pj_status_t)-bytes_read)); return; } @@ -1638,7 +1640,7 @@ static void on_rx_rtp( void *data, return; /* Update RTP and RTCP session. */ - status = pjmedia_rtp_decode_rtp(&channel->rtp, pkt, bytes_read, + status = pjmedia_rtp_decode_rtp(&channel->rtp, pkt, (int)bytes_read, &hdr, &payload, &payloadlen); if (status != PJ_SUCCESS) { LOGERR_((stream->port.info.name.ptr, "RTP decode error", status)); @@ -1656,9 +1658,9 @@ static void on_rx_rtp( void *data, pjmedia_rtp_session_update2(&channel->rtp, hdr, &seq_st, hdr->pt != stream->rx_event_pt); if (seq_st.status.value) { - TRC_ ((stream->port.info.name.ptr, + TRC_ ((stream->port.info.name.ptr, "RTP status: badpt=%d, badssrc=%d, dup=%d, " - "outorder=%d, probation=%d, restart=%d", + "outorder=%d, probation=%d, restart=%d", seq_st.status.flag.badpt, seq_st.status.flag.badssrc, seq_st.status.flag.dup, @@ -1733,8 +1735,8 @@ static void on_rx_rtp( void *data, status = pjmedia_codec_parse(stream->codec, (void*)payload, payloadlen, &ts, &count, frames); if (status != PJ_SUCCESS) { - LOGERR_((stream->port.info.name.ptr, - "Codec parse() error", + LOGERR_((stream->port.info.name.ptr, + "Codec parse() error", status)); count = 0; } @@ -1742,17 +1744,17 @@ static void on_rx_rtp( void *data, #if defined(PJMEDIA_HANDLE_G722_MPEG_BUG) && (PJMEDIA_HANDLE_G722_MPEG_BUG!=0) /* This code is used to learn the samples per frame value that is put * by remote endpoint, for codecs with inconsistent clock rate such - * as G.722 or MPEG audio. We need to learn the samples per frame + * as G.722 or MPEG audio. We need to learn the samples per frame * value as it is used as divider when inserting frames into the * jitter buffer. */ if (stream->has_g722_mpeg_bug) { if (stream->rtp_rx_check_cnt) { - /* Make sure the detection performed only on two consecutive + /* Make sure the detection performed only on two consecutive * packets with valid RTP sequence and no wrapped timestamp. */ - if (seq_st.diff == 1 && stream->rtp_rx_last_ts && - ts.u64 > stream->rtp_rx_last_ts && + if (seq_st.diff == 1 && stream->rtp_rx_last_ts && + ts.u64 > stream->rtp_rx_last_ts && stream->rtp_rx_last_cnt > 0) { unsigned peer_frm_ts_diff; @@ -1764,8 +1766,8 @@ static void on_rx_rtp( void *data, PJMEDIA_PIA_CCNT(&stream->port.info); /* Get remote frame timestamp span */ - peer_frm_ts_diff = - ((pj_uint32_t)ts.u64-stream->rtp_rx_last_ts) / + peer_frm_ts_diff = + ((pj_uint32_t)ts.u64-stream->rtp_rx_last_ts) / stream->rtp_rx_last_cnt; /* Possibilities remote's samples per frame for G.722 @@ -1774,7 +1776,7 @@ static void on_rx_rtp( void *data, * of silence frames. */ if (stream->codec_param.info.pt == PJMEDIA_RTP_PT_G722 && - (peer_frm_ts_diff == frm_ts_span || + (peer_frm_ts_diff == frm_ts_span || peer_frm_ts_diff == (frm_ts_span>>1))) { if (peer_frm_ts_diff < stream->rtp_rx_ts_len_per_frame) @@ -1786,9 +1788,9 @@ static void on_rx_rtp( void *data, if (--stream->rtp_rx_check_cnt == 0) { PJ_LOG(4, (THIS_FILE, "G722 codec used, remote" - " samples per frame detected = %d", + " samples per frame detected = %d", stream->rtp_rx_ts_len_per_frame)); - + /* Reset jitter buffer once detection done */ pjmedia_jbuf_reset(stream->jb); } @@ -1807,12 +1809,12 @@ static void on_rx_rtp( void *data, } } else { - ts_span = stream->codec_param.info.frm_ptime * + ts_span = stream->codec_param.info.frm_ptime * stream->codec_param.info.clock_rate / 1000; } #else - ts_span = stream->codec_param.info.frm_ptime * + ts_span = stream->codec_param.info.frm_ptime * stream->codec_param.info.clock_rate / 1000; #endif @@ -1838,7 +1840,7 @@ static void on_rx_rtp( void *data, /* Check if now is the time to transmit RTCP SR/RR report. - * We only do this when stream direction is "decoding only", + * We only do this when stream direction is "decoding only", * because otherwise check_tx_rtcp() will be handled by put_frame() */ if (stream->dir == PJMEDIA_DIR_DECODING) { @@ -1846,7 +1848,7 @@ static void on_rx_rtp( void *data, } if (status != 0) { - LOGERR_((stream->port.info.name.ptr, "Jitter buffer put() error", + LOGERR_((stream->port.info.name.ptr, "Jitter buffer put() error", status)); pkt_discarded = PJ_TRUE; goto on_return; @@ -1876,18 +1878,18 @@ on_return: /* * This callback is called by stream transport on receipt of packets - * in the RTCP socket. + * in the RTCP socket. */ static void on_rx_rtcp( void *data, - void *pkt, + void *pkt, pj_ssize_t bytes_read) { pjmedia_stream *stream = (pjmedia_stream*) data; /* Check for errors */ if (bytes_read < 0) { - LOGERR_((stream->port.info.name.ptr, "RTCP recv() error", - -bytes_read)); + LOGERR_((stream->port.info.name.ptr, "RTCP recv() error", + (pj_status_t)-bytes_read)); return; } @@ -1907,7 +1909,7 @@ static pj_status_t create_channel( pj_pool_t *pool, { pjmedia_channel *channel; pj_status_t status; - + /* Allocate memory for channel descriptor */ channel = PJ_POOL_ZALLOC_T(pool, pjmedia_channel); @@ -1920,13 +1922,13 @@ static pj_status_t create_channel( pj_pool_t *pool, channel->paused = 1; channel->pt = pt; - + /* Allocate buffer for outgoing packet. */ if (param->type == PJMEDIA_TYPE_AUDIO) { - channel->out_pkt_size = sizeof(pjmedia_rtp_hdr) + - stream->codec_param.info.max_bps * - PJMEDIA_MAX_FRAME_DURATION_MS / + channel->out_pkt_size = sizeof(pjmedia_rtp_hdr) + + stream->codec_param.info.max_bps * + PJMEDIA_MAX_FRAME_DURATION_MS / 8 / 1000; if (channel->out_pkt_size > PJMEDIA_MAX_MTU - PJMEDIA_STREAM_RESV_PAYLOAD_LEN) @@ -2002,8 +2004,9 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, PJ_ASSERT_RETURN(stream != NULL, PJ_ENOMEM); stream->own_pool = own_pool; pj_memcpy(&stream->si, info, sizeof(*info)); - stream->si.param = pjmedia_codec_param_clone(pool, info->param); pj_strdup(pool, &stream->si.fmt.encoding_name, &info->fmt.encoding_name); + if (info->param) + stream->si.param = pjmedia_codec_param_clone(pool, info->param); /* Init stream/port name */ name.ptr = (char*) pj_pool_alloc(pool, M); @@ -2074,8 +2077,8 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, if (info->param) stream->codec_param = *info->param; else { - status = pjmedia_codec_mgr_get_default_param(stream->codec_mgr, - &info->fmt, + status = pjmedia_codec_mgr_get_default_param(stream->codec_mgr, + &info->fmt, &stream->codec_param); if (status != PJ_SUCCESS) goto err_cleanup; @@ -2133,7 +2136,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, /* If encoder and decoder's ptime are asymmetric, then we need to * create buffer on the encoder side. This could happen for example - * with iLBC + * with iLBC */ if (stream->codec_param.info.enc_ptime!=0 && stream->codec_param.info.enc_ptime!=stream->codec_param.info.frm_ptime) @@ -2181,7 +2184,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, if (stream->codec_param.info.max_rx_frame_size > 0) { stream->frame_size = stream->codec_param.info.max_rx_frame_size; } else { - stream->frame_size = stream->codec_param.info.max_bps * + stream->frame_size = stream->codec_param.info.max_bps * stream->codec_param.info.frm_ptime / 8 / 1000; if ((stream->codec_param.info.max_bps * stream->codec_param.info.frm_ptime) % 8000 != 0) @@ -2214,7 +2217,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, /* Init jitter buffer parameters: */ if (info->jb_max >= stream->codec_param.info.frm_ptime) - jb_max = (info->jb_max + stream->codec_param.info.frm_ptime - 1) / + jb_max = (info->jb_max + stream->codec_param.info.frm_ptime - 1) / stream->codec_param.info.frm_ptime; else jb_max = 500 / stream->codec_param.info.frm_ptime; @@ -2239,7 +2242,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, /* Create jitter buffer */ status = pjmedia_jbuf_create(pool, &stream->port.info.name, - stream->frame_size, + stream->frame_size, stream->codec_param.info.frm_ptime, jb_max, &stream->jb); if (status != PJ_SUCCESS) @@ -2251,7 +2254,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, /* Create decoder channel: */ - status = create_channel( pool, stream, PJMEDIA_DIR_DECODING, + status = create_channel( pool, stream, PJMEDIA_DIR_DECODING, info->rx_pt, info, &stream->dec); if (status != PJ_SUCCESS) goto err_cleanup; @@ -2259,7 +2262,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, /* Create encoder channel: */ - status = create_channel( pool, stream, PJMEDIA_DIR_ENCODING, + status = create_channel( pool, stream, PJMEDIA_DIR_ENCODING, info->tx_pt, info, &stream->enc); if (status != PJ_SUCCESS) goto err_cleanup; @@ -2298,7 +2301,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, */ stream->out_rtcp_pkt_size = sizeof(pjmedia_rtcp_sr_pkt) + sizeof(pjmedia_rtcp_common) + - (4 + stream->cname.slen) + + (4 + (unsigned)stream->cname.slen) + 32; #if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) if (info->rtcp_xr_enabled) { @@ -2312,9 +2315,9 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, stream->out_rtcp_pkt = pj_pool_alloc(pool, stream->out_rtcp_pkt_size); /* Only attach transport when stream is ready. */ - status = pjmedia_transport_attach(tp, stream, &info->rem_addr, - &info->rem_rtcp, - pj_sockaddr_get_len(&info->rem_addr), + status = pjmedia_transport_attach(tp, stream, &info->rem_addr, + &info->rem_rtcp, + pj_sockaddr_get_len(&info->rem_addr), &on_rx_rtp, &on_rx_rtcp); if (status != PJ_SUCCESS) goto err_cleanup; @@ -2332,8 +2335,8 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, if (info->rtcp_xr_interval != 0) stream->rtcp_xr_interval = info->rtcp_xr_interval; else - stream->rtcp_xr_interval = (PJMEDIA_RTCP_INTERVAL + - (pj_rand() % 8000)) * + stream->rtcp_xr_interval = (PJMEDIA_RTCP_INTERVAL + + (pj_rand() % 8000)) * info->fmt.clock_rate / 1000; /* Additional third-party RTCP XR destination */ @@ -2345,19 +2348,19 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, /* jitter buffer adaptive info */ i = PJMEDIA_RTCP_XR_JB_ADAPTIVE; - pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, + pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, PJMEDIA_RTCP_XR_INFO_CONF_JBA, i); /* Jitter buffer aggressiveness info (estimated) */ i = 7; - pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, + pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, PJMEDIA_RTCP_XR_INFO_CONF_JBR, i); /* Jitter buffer absolute maximum delay */ i = jb_max * stream->codec_param.info.frm_ptime; - pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, + pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, PJMEDIA_RTCP_XR_INFO_JB_ABS_MAX, i); @@ -2370,7 +2373,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, #else i = PJMEDIA_RTCP_XR_PLC_DIS; #endif - pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, + pjmedia_rtcp_xr_update_info(&stream->rtcp.xr_session, PJMEDIA_RTCP_XR_INFO_CONF_PLC, i); } @@ -2392,13 +2395,13 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, char trace_name[PJ_MAXPATH]; pj_ssize_t len; - pj_ansi_snprintf(trace_name, sizeof(trace_name), + pj_ansi_snprintf(trace_name, sizeof(trace_name), TRACE_JB_PATH_PREFIX "%s.csv", stream->port.info.name.ptr); status = pj_file_open(pool, trace_name, PJ_O_WRONLY, &stream->trace_jb_fd); if (status != PJ_SUCCESS) { stream->trace_jb_fd = TRACE_JB_INVALID_FD; - PJ_LOG(3,(THIS_FILE, "Failed creating RTP trace file '%s'", + PJ_LOG(3,(THIS_FILE, "Failed creating RTP trace file '%s'", trace_name)); } else { stream->trace_jb_buf = (char*)pj_pool_alloc(pool, PJ_LOG_MAX_SIZE); @@ -2408,6 +2411,8 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, "Time, Operation, Size, Frame Count, " "Frame type, RTP Seq, RTP TS, RTP M, " "JB size, JB burst level, JB prefetch\n"); + if (len < 1 || len >= PJ_LOG_MAX_SIZE) + len = PJ_LOG_MAX_SIZE-1; pj_file_write(stream->trace_jb_fd, stream->trace_jb_buf, &len); pj_file_flush(stream->trace_jb_fd); } @@ -2464,7 +2469,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_destroy( pjmedia_stream *stream ) */ status = pjmedia_rtp_encode_rtp( &channel->rtp, stream->tx_event_pt, first, - frame_out.size, 0, + (int)frame_out.size, 0, (const void**)&rtphdr, &rtphdrlen); if (status == PJ_SUCCESS) { @@ -2484,7 +2489,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_destroy( pjmedia_stream *stream ) } } - /* Detach from transport + /* Detach from transport * MUST NOT hold stream mutex while detaching from transport, as * it may cause deadlock. See ticket #460 for the details. */ @@ -2507,7 +2512,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_destroy( pjmedia_stream *stream ) } /* Free mutex */ - + if (stream->jb_mutex) { pj_mutex_destroy(stream->jb_mutex); stream->jb_mutex = NULL; @@ -2718,9 +2723,9 @@ PJ_DEF(pj_status_t) pjmedia_stream_dial_dtmf( pjmedia_stream *stream, if (stream->tx_event_pt < 0) { return PJMEDIA_RTP_EREMNORFC2833; } - + pj_mutex_lock(stream->jb_mutex); - + if (stream->tx_dtmf_count+digit_char->slen >= (long)PJ_ARRAY_SIZE(stream->tx_dtmf_buf)) { @@ -2729,7 +2734,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_dial_dtmf( pjmedia_stream *stream, int i; /* convert ASCII digits into payload type first, to make sure - * that all digits are valid. + * that all digits are valid. */ for (i=0; i<digit_char->slen; ++i) { unsigned pt; @@ -2738,7 +2743,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_dial_dtmf( pjmedia_stream *stream, if (dig >= '0' && dig <= '9') { pt = dig - '0'; - } + } else if (dig >= 'a' && dig <= 'd') { pt = dig - 'a' + 12; @@ -2751,6 +2756,10 @@ PJ_DEF(pj_status_t) pjmedia_stream_dial_dtmf( pjmedia_stream *stream, { pt = 11; } + else if (dig == 'r') + { + pt = 16; + } else { status = PJMEDIA_RTP_EINDTMF; @@ -2766,7 +2775,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_dial_dtmf( pjmedia_stream *stream, goto on_return; /* Increment digit count only if all digits are valid. */ - stream->tx_dtmf_count += digit_char->slen; + stream->tx_dtmf_count += (int)digit_char->slen; } on_return: @@ -2824,9 +2833,9 @@ PJ_DEF(pj_status_t) pjmedia_stream_get_dtmf( pjmedia_stream *stream, * Set callback to be called upon receiving DTMF digits. */ PJ_DEF(pj_status_t) pjmedia_stream_set_dtmf_callback(pjmedia_stream *stream, - void (*cb)(pjmedia_stream*, - void *user_data, - int digit), + void (*cb)(pjmedia_stream*, + void *user_data, + int digit), void *user_data) { PJ_ASSERT_RETURN(stream, PJ_EINVAL); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/stream_common.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/stream_common.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/stream_common.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/stream_common.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/stream_info.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/stream_info.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/stream_info.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/stream_info.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/tonegen.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/tonegen.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/tonegen.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/tonegen.c index f20c3717a1929846009cbaa76aea683fc39bf0c2..84998f1d78075259a7992d4d25bea0793cbc30c0 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/tonegen.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/tonegen.c @@ -1,4 +1,4 @@ -/* $Id: tonegen.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: tonegen.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -628,7 +628,7 @@ static pj_status_t tonegen_get_frame(pjmedia_port *port, pjmedia_tone_desc *dig = &tonegen->digits[tonegen->cur_digit]; unsigned required, cnt, on_samp, off_samp; - required = end - dst; + required = (unsigned)(end - dst); on_samp = dig->on_msec * clock_rate / 1000; off_samp = dig->off_msec * clock_rate / 1000; @@ -728,7 +728,7 @@ static pj_status_t tonegen_get_frame(pjmedia_port *port, } if (dst < end) - pjmedia_zero_samples(dst, end-dst); + pjmedia_zero_samples(dst, (unsigned)(end-dst)); frame->type = PJMEDIA_FRAME_TYPE_AUDIO; frame->size = PJMEDIA_PIA_AVG_FSZ(&port->info); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_adapter_sample.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_adapter_sample.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_adapter_sample.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_adapter_sample.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_ice.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_ice.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_ice.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_ice.c index 7c3deb2b2a8dc44a245918daed75be6088adf2e7..bda91c75f7189a68135edb3da0238d46913a2e9d 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_ice.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_ice.c @@ -1,4 +1,4 @@ -/* $Id: transport_ice.c 4350 2013-02-15 03:57:31Z nanang $ */ +/* $Id: transport_ice.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -225,6 +225,7 @@ PJ_DEF(pj_status_t) pjmedia_ice_create3(pjmedia_endpt *endpt, { pj_pool_t *pool; pj_ice_strans_cb ice_st_cb; + pj_ice_strans_cfg ice_st_cfg; struct transport_ice *tp_ice; pj_status_t status; @@ -245,6 +246,7 @@ PJ_DEF(pj_status_t) pjmedia_ice_create3(pjmedia_endpt *endpt, tp_ice->oa_role = ROLE_NONE; tp_ice->use_ice = PJ_FALSE; + pj_memcpy(&ice_st_cfg, cfg, sizeof(pj_ice_strans_cfg)); if (cb) pj_memcpy(&tp_ice->cb, cb, sizeof(pjmedia_ice_cb)); @@ -258,8 +260,18 @@ PJ_DEF(pj_status_t) pjmedia_ice_create3(pjmedia_endpt *endpt, ice_st_cb.on_ice_complete = &ice_on_ice_complete; ice_st_cb.on_rx_data = &ice_on_rx_data; + /* Configure RTP socket buffer settings, if not set */ + if (ice_st_cfg.comp[COMP_RTP-1].so_rcvbuf_size == 0) { + ice_st_cfg.comp[COMP_RTP-1].so_rcvbuf_size = + PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE; + } + if (ice_st_cfg.comp[COMP_RTP-1].so_sndbuf_size == 0) { + ice_st_cfg.comp[COMP_RTP-1].so_sndbuf_size = + PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE; + } + /* Create ICE */ - status = pj_ice_strans_create(name, cfg, comp_cnt, tp_ice, + status = pj_ice_strans_create(name, &ice_st_cfg, comp_cnt, tp_ice, &ice_st_cb, &tp_ice->ice_st); if (status != PJ_SUCCESS) { pj_pool_release(pool); @@ -271,6 +283,12 @@ PJ_DEF(pj_status_t) pjmedia_ice_create3(pjmedia_endpt *endpt, return PJ_SUCCESS; } +PJ_DEF(pj_grp_lock_t *) pjmedia_ice_get_grp_lock(pjmedia_transport *tp) +{ + PJ_ASSERT_RETURN(tp, NULL); + return pj_ice_strans_get_grp_lock(((struct transport_ice *)tp)->ice_st); +} + /* Disable ICE when SDP from remote doesn't contain a=candidate line */ static void set_no_ice(struct transport_ice *tp_ice, const char *reason, pj_status_t err) @@ -331,7 +349,7 @@ static int print_sdp_cand_attr(char *buffer, int max_len, len2 = -1; break; } - if (len2 < 1 || len2 >= max_len) + if (len2 < 1 || len2 >= max_len-len) return -1; return len+len2; @@ -527,7 +545,7 @@ static pj_status_t encode_session_in_sdp(struct transport_ice *tp_ice, comp+1, rem_addr, pj_sockaddr_get_port(&check->rcand->addr) ); - if (len < 1 || len >= RATTR_BUF_LEN) { + if (len < 1 || len >= RATTR_BUF_LEN - rem_cand.slen) { pj_assert(!"Not enough buffer to print " "remote-candidates"); return PJ_EBUG; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_loop.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_loop.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_loop.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_loop.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_srtp.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_srtp.c similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_srtp.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_srtp.c index a661c3752bc9a86471d3d431e5001534866c1202..29fcb032cc3783f46830704d8cf6af94c89ec346 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_srtp.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_srtp.c @@ -1,5 +1,5 @@ -/* $Id: transport_srtp.c 4366 2013-02-21 20:41:31Z ming $ */ -/* +/* $Id: transport_srtp.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <pjmedia/transport_srtp.h> @@ -30,7 +30,11 @@ #if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) -#include <srtp.h> +#if defined(PJMEDIA_EXTERNAL_SRTP) && (PJMEDIA_EXTERNAL_SRTP != 0) +# include <srtp/srtp.h> +#else +# include <srtp.h> +#endif #define THIS_FILE "transport_srtp.c" @@ -41,7 +45,7 @@ /* Maximum SRTP crypto key length */ #define MAX_KEY_LEN 128 -/* Initial value of probation counter. When probation counter > 0, +/* Initial value of probation counter. When probation counter > 0, * it means SRTP is in probation state, and it may restart when * srtp_unprotect() returns err_status_replay_* */ @@ -72,14 +76,14 @@ static crypto_suite crypto_suites[] = { {"NULL", NULL_CIPHER, 0, NULL_AUTH, 0, 0, 0, sec_serv_none}, /* cipher AES_CM, auth HMAC_SHA1, auth tag len = 10 octets */ - {"AES_CM_128_HMAC_SHA1_80", AES_128_ICM, 30, HMAC_SHA1, 20, 10, 10, + {"AES_CM_128_HMAC_SHA1_80", AES_128_ICM, 30, HMAC_SHA1, 20, 10, 10, sec_serv_conf_and_auth}, /* cipher AES_CM, auth HMAC_SHA1, auth tag len = 4 octets */ {"AES_CM_128_HMAC_SHA1_32", AES_128_ICM, 30, HMAC_SHA1, 20, 4, 10, sec_serv_conf_and_auth}, - /* + /* * F8_128_HMAC_SHA1_8 not supported by libsrtp? * {"F8_128_HMAC_SHA1_8", NULL_CIPHER, 0, NULL_AUTH, 0, 0, 0, sec_serv_none} */ @@ -120,18 +124,18 @@ typedef struct transport_srtp void (*rtcp_cb)(void *user_data, void *pkt, pj_ssize_t size); - + /* Transport information */ pjmedia_transport *member_tp; /**< Underlying transport. */ /* SRTP usage policy of peer. This field is updated when media is starting. * This is useful when SRTP is in optional mode and peer is using mandatory - * mode, so when local is about to reinvite/update, it should offer + * mode, so when local is about to reinvite/update, it should offer * RTP/SAVP instead of offering RTP/AVP. */ pjmedia_srtp_use peer_use; - /* When probation counter > 0, it means SRTP is in probation state, + /* When probation counter > 0, it means SRTP is in probation state, * and it may restart when srtp_unprotect() returns err_status_replay_* */ unsigned probation_cnt; @@ -201,7 +205,7 @@ static pj_status_t transport_destroy (pjmedia_transport *tp); -static pjmedia_transport_op transport_srtp_op = +static pjmedia_transport_op transport_srtp_op = { &transport_get_info, &transport_attach, @@ -234,17 +238,17 @@ const char* get_libsrtp_errstr(int err) "couldn't allocate memory", /* err_status_alloc_fail = 3 */ "couldn't deallocate properly", /* err_status_dealloc_fail = 4 */ "couldn't initialize", /* err_status_init_fail = 5 */ - "can't process as much data as requested", + "can't process as much data as requested", /* err_status_terminus = 6 */ "authentication failure", /* err_status_auth_fail = 7 */ "cipher failure", /* err_status_cipher_fail = 8 */ "replay check failed (bad index)", /* err_status_replay_fail = 9 */ - "replay check failed (index too old)", + "replay check failed (index too old)", /* err_status_replay_old = 10 */ "algorithm failed test routine", /* err_status_algo_fail = 11 */ "unsupported operation", /* err_status_no_such_op = 12 */ "no appropriate context found", /* err_status_no_ctx = 13 */ - "unable to perform desired validation", + "unable to perform desired validation", /* err_status_cant_check = 14 */ "can't use key any more", /* err_status_key_expired = 15 */ "error in use of socket", /* err_status_socket_err = 16 */ @@ -276,21 +280,22 @@ static void pjmedia_srtp_deinit_lib(pjmedia_endpt *endpt); PJ_DEF(pj_status_t) pjmedia_srtp_init_lib(pjmedia_endpt *endpt) { +#if PJMEDIA_LIBSRTP_AUTO_INIT_DEINIT if (libsrtp_initialized == PJ_FALSE) { err_status_t err; err = srtp_init(); - if (err != err_status_ok) { - PJ_LOG(4, (THIS_FILE, "Failed to initialize libsrtp: %s", + if (err != err_status_ok) { + PJ_LOG(4, (THIS_FILE, "Failed to initialize libsrtp: %s", get_libsrtp_errstr(err))); return PJMEDIA_ERRNO_FROM_LIBSRTP(err); } if (pjmedia_endpt_atexit(endpt, pjmedia_srtp_deinit_lib) != PJ_SUCCESS) { - /* There will be memory leak when it fails to schedule libsrtp + /* There will be memory leak when it fails to schedule libsrtp * deinitialization, however the memory leak could be harmless, - * since in modern OS's memory used by an application is released + * since in modern OS's memory used by an application is released * when the application terminates. */ PJ_LOG(4, (THIS_FILE, "Failed to register libsrtp deinit.")); @@ -298,7 +303,10 @@ PJ_DEF(pj_status_t) pjmedia_srtp_init_lib(pjmedia_endpt *endpt) libsrtp_initialized = PJ_TRUE; } - +#else + PJ_UNUSED_ARG(endpt); +#endif + return PJ_SUCCESS; } @@ -315,9 +323,21 @@ static void pjmedia_srtp_deinit_lib(pjmedia_endpt *endpt) PJ_UNUSED_ARG(endpt); +#if defined(PJMEDIA_EXTERNAL_SRTP) && (PJMEDIA_EXTERNAL_SRTP != 0) + +# if defined(PJMEDIA_SRTP_HAS_DEINIT) && PJMEDIA_SRTP_HAS_DEINIT!=0 err = srtp_deinit(); +# elif defined(PJMEDIA_SRTP_HAS_SHUTDOWN) && PJMEDIA_SRTP_HAS_SHUTDOWN!=0 + err = srtp_shutdown(); +# else + err = err_status_ok; +# endif + +#else + err = srtp_deinit(); +#endif if (err != err_status_ok) { - PJ_LOG(4, (THIS_FILE, "Failed to deinitialize libsrtp: %s", + PJ_LOG(4, (THIS_FILE, "Failed to deinitialize libsrtp: %s", get_libsrtp_errstr(err))); } @@ -329,7 +349,7 @@ static int get_crypto_idx(const pj_str_t* crypto_name) { int i; int cs_cnt = sizeof(crypto_suites)/sizeof(crypto_suites[0]); - + /* treat unspecified crypto_name as crypto 'NULL' */ if (crypto_name->slen == 0) return 0; @@ -400,7 +420,7 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_create( PJ_ASSERT_RETURN(endpt && tp && p_tp, PJ_EINVAL); /* Check crypto availability */ - if (opt && opt->crypto_count == 0 && + if (opt && opt->crypto_count == 0 && opt->use == PJMEDIA_SRTP_MANDATORY) return PJMEDIA_SRTP_ESDPREQCRYPTO; @@ -414,8 +434,8 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_create( return PJMEDIA_SRTP_ENOTSUPCRYPTO; /* check key length */ - if (opt->crypto[i].key.slen && - opt->crypto[i].key.slen < + if (opt->crypto[i].key.slen && + opt->crypto[i].key.slen < (pj_ssize_t)crypto_suites[cs_idx].cipher_key_len) return PJMEDIA_SRTP_EINKEYLEN; } @@ -485,7 +505,7 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_create( * Initialize and start SRTP session with the given parameters. */ PJ_DEF(pj_status_t) pjmedia_transport_srtp_start( - pjmedia_transport *tp, + pjmedia_transport *tp, const pjmedia_srtp_crypto *tx, const pjmedia_srtp_crypto *rx) { @@ -497,7 +517,6 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_start( int au_tx_idx = 0; int cr_rx_idx = 0; int au_rx_idx = 0; - int crypto_suites_cnt; pj_status_t status = PJ_SUCCESS; PJ_ASSERT_RETURN(tp && tx && rx, PJ_EINVAL); @@ -508,8 +527,6 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_start( pjmedia_transport_srtp_stop(tp); } - crypto_suites_cnt = sizeof(crypto_suites)/sizeof(crypto_suites[0]); - /* Get encryption and authentication method */ cr_tx_idx = au_tx_idx = get_crypto_idx(&tx->name); if (tx->flags & PJMEDIA_SRTP_NO_ENCRYPTION) @@ -524,7 +541,7 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_start( au_rx_idx = 0; /* Check whether the crypto-suite requested is supported */ - if (cr_tx_idx == -1 || cr_rx_idx == -1 || au_tx_idx == -1 || + if (cr_tx_idx == -1 || cr_rx_idx == -1 || au_tx_idx == -1 || au_rx_idx == -1) { status = PJMEDIA_SRTP_ENOTSUPCRYPTO; @@ -627,7 +644,7 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_start( b64_len = pj_ansi_sprintf(b64, "--key too long--"); else b64[b64_len] = '\0'; - + PJ_LOG(5, (srtp->pool->obj_name, "TX: %s key=%s", srtp->tx_policy.name.ptr, b64)); if (srtp->tx_policy.flags) { @@ -679,13 +696,13 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_stop(pjmedia_transport *srtp) err = srtp_dealloc(p_srtp->srtp_rx_ctx); if (err != err_status_ok) { - PJ_LOG(4, (p_srtp->pool->obj_name, + PJ_LOG(4, (p_srtp->pool->obj_name, "Failed to dealloc RX SRTP context: %s", get_libsrtp_errstr(err))); } err = srtp_dealloc(p_srtp->srtp_tx_ctx); if (err != err_status_ok) { - PJ_LOG(4, (p_srtp->pool->obj_name, + PJ_LOG(4, (p_srtp->pool->obj_name, "Failed to dealloc TX SRTP context: %s", get_libsrtp_errstr(err))); } @@ -732,7 +749,7 @@ static pj_status_t transport_get_info(pjmedia_transport *tp, spc_info_idx = info->specific_info_cnt++; info->spc_info[spc_info_idx].type = PJMEDIA_TRANSPORT_TYPE_SRTP; info->spc_info[spc_info_idx].cbsize = sizeof(srtp_info); - pj_memcpy(&info->spc_info[spc_info_idx].buffer, &srtp_info, + pj_memcpy(&info->spc_info[spc_info_idx].buffer, &srtp_info, sizeof(srtp_info)); return pjmedia_transport_get_info(srtp->member_tp, info); @@ -761,7 +778,7 @@ static pj_status_t transport_attach(pjmedia_transport *tp, pj_lock_release(srtp->mutex); /* Attach itself to transport */ - status = pjmedia_transport_attach(srtp->member_tp, srtp, rem_addr, + status = pjmedia_transport_attach(srtp->member_tp, srtp, rem_addr, rem_rtcp, addr_len, &srtp_rtp_cb, &srtp_rtcp_cb); if (status != PJ_SUCCESS) { @@ -801,7 +818,7 @@ static pj_status_t transport_send_rtp( pjmedia_transport *tp, { pj_status_t status; transport_srtp *srtp = (transport_srtp*) tp; - int len = size; + int len = (int)size; err_status_t err; if (srtp->bypass_srtp) @@ -821,12 +838,12 @@ static pj_status_t transport_send_rtp( pjmedia_transport *tp, pj_lock_release(srtp->mutex); if (err == err_status_ok) { - status = pjmedia_transport_send_rtp(srtp->member_tp, + status = pjmedia_transport_send_rtp(srtp->member_tp, srtp->rtp_tx_buffer, len); } else { status = PJMEDIA_ERRNO_FROM_LIBSRTP(err); } - + return status; } @@ -845,11 +862,11 @@ static pj_status_t transport_send_rtcp2(pjmedia_transport *tp, { pj_status_t status; transport_srtp *srtp = (transport_srtp*) tp; - int len = size; + int len = (int)size; err_status_t err; if (srtp->bypass_srtp) { - return pjmedia_transport_send_rtcp2(srtp->member_tp, addr, addr_len, + return pjmedia_transport_send_rtcp2(srtp->member_tp, addr, addr_len, pkt, size); } @@ -882,7 +899,7 @@ static pj_status_t transport_simulate_lost(pjmedia_transport *tp, unsigned pct_lost) { transport_srtp *srtp = (transport_srtp *) tp; - + PJ_ASSERT_RETURN(tp, PJ_EINVAL); return pjmedia_transport_simulate_lost(srtp->member_tp, dir, pct_lost); @@ -932,7 +949,7 @@ static void srtp_rtp_cb( void *user_data, void *pkt, pj_ssize_t size) } /* Make sure buffer is 32bit aligned */ - PJ_ASSERT_ON_FAIL( (((long)pkt) & 0x03)==0, return ); + PJ_ASSERT_ON_FAIL( (((pj_ssize_t)pkt) & 0x03)==0, return ); if (srtp->probation_cnt > 0) --srtp->probation_cnt; @@ -944,13 +961,13 @@ static void srtp_rtp_cb( void *user_data, void *pkt, pj_ssize_t size) return; } err = srtp_unprotect(srtp->srtp_rx_ctx, (pj_uint8_t*)pkt, &len); - if (srtp->probation_cnt > 0 && - (err == err_status_replay_old || err == err_status_replay_fail)) + if (srtp->probation_cnt > 0 && + (err == err_status_replay_old || err == err_status_replay_fail)) { /* Handle such condition that stream is updated (RTP seq is reinited - * & SRTP is restarted), but some old packets are still coming + * & SRTP is restarted), but some old packets are still coming * so SRTP is learning wrong RTP seq. While the newly inited RTP seq - * comes, SRTP thinks the RTP seq is replayed, so srtp_unprotect() + * comes, SRTP thinks the RTP seq is replayed, so srtp_unprotect() * will return err_status_replay_*. Restarting SRTP can resolve this. */ pjmedia_srtp_crypto tx, rx; @@ -961,7 +978,7 @@ static void srtp_rtp_cb( void *user_data, void *pkt, pj_ssize_t size) status = pjmedia_transport_srtp_start((pjmedia_transport*)srtp, &tx, &rx); if (status != PJ_SUCCESS) { - PJ_LOG(5,(srtp->pool->obj_name, "Failed to restart SRTP, err=%s", + PJ_LOG(5,(srtp->pool->obj_name, "Failed to restart SRTP, err=%s", get_libsrtp_errstr(err))); } else if (!srtp->bypass_srtp) { err = srtp_unprotect(srtp->srtp_rx_ctx, (pj_uint8_t*)pkt, &len); @@ -969,8 +986,8 @@ static void srtp_rtp_cb( void *user_data, void *pkt, pj_ssize_t size) } if (err != err_status_ok) { - PJ_LOG(5,(srtp->pool->obj_name, - "Failed to unprotect SRTP, pkt size=%d, err=%s", + PJ_LOG(5,(srtp->pool->obj_name, + "Failed to unprotect SRTP, pkt size=%d, err=%s", size, get_libsrtp_errstr(err))); } else { cb = srtp->rtp_cb; @@ -1005,7 +1022,7 @@ static void srtp_rtcp_cb( void *user_data, void *pkt, pj_ssize_t size) } /* Make sure buffer is 32bit aligned */ - PJ_ASSERT_ON_FAIL( (((long)pkt) & 0x03)==0, return ); + PJ_ASSERT_ON_FAIL( (((pj_ssize_t)pkt) & 0x03)==0, return ); pj_lock_acquire(srtp->mutex); @@ -1015,7 +1032,7 @@ static void srtp_rtcp_cb( void *user_data, void *pkt, pj_ssize_t size) } err = srtp_unprotect_rtcp(srtp->srtp_rx_ctx, (pj_uint8_t*)pkt, &len); if (err != err_status_ok) { - PJ_LOG(5,(srtp->pool->obj_name, + PJ_LOG(5,(srtp->pool->obj_name, "Failed to unprotect SRTCP, pkt size=%d, err=%s", size, get_libsrtp_errstr(err))); } else { @@ -1035,7 +1052,7 @@ static void srtp_rtcp_cb( void *user_data, void *pkt, pj_ssize_t size) * and set buffer_len = 0. */ static pj_status_t generate_crypto_attr_value(pj_pool_t *pool, - char *buffer, int *buffer_len, + char *buffer, int *buffer_len, pjmedia_srtp_crypto *crypto, int tag) { @@ -1043,6 +1060,7 @@ static pj_status_t generate_crypto_attr_value(pj_pool_t *pool, int cs_idx = get_crypto_idx(&crypto->name); char b64_key[PJ_BASE256_TO_BASE64_LEN(MAX_KEY_LEN)+1]; int b64_key_len = sizeof(b64_key); + int print_len; if (cs_idx == -1) return PJMEDIA_SRTP_ENOTSUPCRYPTO; @@ -1066,7 +1084,7 @@ static pj_status_t generate_crypto_attr_value(pj_pool_t *pool, do { key_ok = PJ_TRUE; - err = crypto_get_random((unsigned char*)key, + err = crypto_get_random((unsigned char*)key, crypto_suites[cs_idx].cipher_key_len); if (err != err_status_ok) { PJ_LOG(5,(THIS_FILE, "Failed generating random key: %s", @@ -1078,7 +1096,7 @@ static pj_status_t generate_crypto_attr_value(pj_pool_t *pool, } while (!key_ok); crypto->key.ptr = (char*) - pj_pool_zalloc(pool, + pj_pool_zalloc(pool, crypto_suites[cs_idx].cipher_key_len); pj_memcpy(crypto->key.ptr, key, crypto_suites[cs_idx].cipher_key_len); crypto->key.slen = crypto_suites[cs_idx].cipher_key_len; @@ -1096,15 +1114,19 @@ static pj_status_t generate_crypto_attr_value(pj_pool_t *pool, } b64_key[b64_key_len] = '\0'; - + PJ_ASSERT_RETURN(*buffer_len >= (crypto->name.slen + \ b64_key_len + 16), PJ_ETOOSMALL); /* Print the crypto attribute value. */ - *buffer_len = pj_ansi_snprintf(buffer, *buffer_len, "%d %s inline:%s", - tag, + print_len = pj_ansi_snprintf(buffer, *buffer_len, "%d %s inline:%s", + tag, crypto_suites[cs_idx].name, b64_key); + if (print_len < 1 || print_len >= *buffer_len) + return PJ_ETOOSMALL; + + *buffer_len = print_len; return PJ_SUCCESS; } @@ -1117,7 +1139,7 @@ static pj_status_t parse_attr_crypto(pj_pool_t *pool, { pj_str_t input; char *token; - int token_len; + pj_size_t token_len; pj_str_t tmp; pj_status_t status; int itmp; @@ -1180,7 +1202,7 @@ static pj_status_t parse_attr_crypto(pj_pool_t *pool, /* Decode key */ crypto->key.ptr = (char*) pj_pool_zalloc(pool, MAX_KEY_LEN); itmp = MAX_KEY_LEN; - status = pj_base64_decode(&tmp, (pj_uint8_t*)crypto->key.ptr, + status = pj_base64_decode(&tmp, (pj_uint8_t*)crypto->key.ptr, &itmp); if (status != PJ_SUCCESS) { PJ_LOG(4,(THIS_FILE, "Failed decoding crypto key from base64")); @@ -1201,7 +1223,7 @@ static pj_status_t transport_media_create(pjmedia_transport *tp, unsigned member_tp_option; PJ_ASSERT_RETURN(tp, PJ_EINVAL); - + pj_bzero(&srtp->rx_policy_neg, sizeof(srtp->rx_policy_neg)); pj_bzero(&srtp->tx_policy_neg, sizeof(srtp->tx_policy_neg)); @@ -1249,7 +1271,7 @@ BYPASS_SRTP: member_tp_option &= ~PJMEDIA_TPMED_NO_TRANSPORT_CHECKING; PROPAGATE_MEDIA_CREATE: - return pjmedia_transport_media_create(srtp->member_tp, sdp_pool, + return pjmedia_transport_media_create(srtp->member_tp, sdp_pool, member_tp_option, sdp_remote, media_index); } @@ -1271,7 +1293,7 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, unsigned i, j; PJ_ASSERT_RETURN(tp && sdp_pool && sdp_local, PJ_EINVAL); - + pj_bzero(&srtp->rx_policy_neg, sizeof(srtp->rx_policy_neg)); pj_bzero(&srtp->tx_policy_neg, sizeof(srtp->tx_policy_neg)); @@ -1281,7 +1303,7 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, m_loc = sdp_local->media[media_index]; /* Bypass if media transport is not RTP/AVP or RTP/SAVP */ - if (pj_stricmp(&m_loc->desc.transport, &ID_RTP_AVP) != 0 && + if (pj_stricmp(&m_loc->desc.transport, &ID_RTP_AVP) != 0 && pj_stricmp(&m_loc->desc.transport, &ID_RTP_SAVP) != 0) goto BYPASS_SRTP; @@ -1292,12 +1314,12 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, * http://trac.pjsip.org/repos/ticket/1079 */ /* - if (pjmedia_sdp_media_find_attr(m_loc, &ID_INACTIVE, NULL) || + if (pjmedia_sdp_media_find_attr(m_loc, &ID_INACTIVE, NULL) || (m_rem && pjmedia_sdp_media_find_attr(m_rem, &ID_INACTIVE, NULL))) goto BYPASS_SRTP; */ - /* Check remote media transport & set local media transport + /* Check remote media transport & set local media transport * based on SRTP usage option. */ if (srtp->offerer_side) { @@ -1307,7 +1329,7 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, case PJMEDIA_SRTP_DISABLED: goto BYPASS_SRTP; case PJMEDIA_SRTP_OPTIONAL: - m_loc->desc.transport = + m_loc->desc.transport = (srtp->peer_use == PJMEDIA_SRTP_MANDATORY)? ID_RTP_SAVP : ID_RTP_AVP; break; @@ -1330,7 +1352,7 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, /* If buffer_len==0, just skip the crypto attribute. */ if (buffer_len) { pj_strset(&attr_value, buffer, buffer_len); - attr = pjmedia_sdp_attr_create(srtp->pool, ID_CRYPTO.ptr, + attr = pjmedia_sdp_attr_create(srtp->pool, ID_CRYPTO.ptr, &attr_value); m_loc->attr[m_loc->attr_count++] = attr; } @@ -1375,11 +1397,11 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, has_crypto_attr = PJ_TRUE; - status = parse_attr_crypto(srtp->pool, m_rem->attr[i], + status = parse_attr_crypto(srtp->pool, m_rem->attr[i], &tmp_rx_crypto, &tags[cr_attr_count]); if (status != PJ_SUCCESS) return status; - + /* Check duplicated tag */ for (j=0; j<cr_attr_count; ++j) { if (tags[j] == tags[cr_attr_count]) { @@ -1391,7 +1413,7 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, if (matched_idx == -1) { /* lets see if the crypto-suite offered is supported */ for (j=0; j<srtp->setting.crypto_count; ++j) - if (pj_stricmp(&tmp_rx_crypto.name, + if (pj_stricmp(&tmp_rx_crypto.name, &srtp->setting.crypto[j].name) == 0) { int cs_idx = get_crypto_idx(&tmp_rx_crypto.name); @@ -1408,11 +1430,11 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, // raw_test_key, // hex_test_key, // strlen(hex_test_key)); - //pj_strset(test_key, raw_test_key, + //pj_strset(test_key, raw_test_key, // crypto_suites[cs_idx].cipher_key_len); /* EO Force to use test key */ - if (tmp_rx_crypto.key.slen != + if (tmp_rx_crypto.key.slen != (int)crypto_suites[cs_idx].cipher_key_len) return PJMEDIA_SRTP_EINKEYLEN; @@ -1433,11 +1455,11 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, case PJMEDIA_SRTP_OPTIONAL: /* bypass SRTP when no crypto-attr and remote uses RTP/AVP */ - if (!has_crypto_attr && + if (!has_crypto_attr && pj_stricmp(&m_rem->desc.transport, &ID_RTP_AVP) == 0) goto BYPASS_SRTP; /* bypass SRTP when nothing match and remote uses RTP/AVP */ - else if (matched_idx == -1 && + else if (matched_idx == -1 && pj_stricmp(&m_rem->desc.transport, &ID_RTP_AVP) == 0) goto BYPASS_SRTP; break; @@ -1459,7 +1481,7 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, return PJMEDIA_SRTP_ENOTSUPCRYPTO; } - /* we have to generate crypto answer, + /* we have to generate crypto answer, * with srtp->tx_policy_neg matched the offer * and rem_tag contains matched offer tag. */ @@ -1471,18 +1493,18 @@ static pj_status_t transport_encode_sdp(pjmedia_transport *tp, return status; srtp->tx_policy_neg = srtp->setting.crypto[matched_idx]; - + /* If buffer_len==0, just skip the crypto attribute. */ if (buffer_len) { pj_strset(&attr_value, buffer, buffer_len); - attr = pjmedia_sdp_attr_create(sdp_pool, ID_CRYPTO.ptr, + attr = pjmedia_sdp_attr_create(sdp_pool, ID_CRYPTO.ptr, &attr_value); m_loc->attr[m_loc->attr_count++] = attr; } /* At this point, we get valid rx_policy_neg & tx_policy_neg. */ } - + } goto PROPAGATE_MEDIA_CREATE; @@ -1493,7 +1515,7 @@ BYPASS_SRTP: //srtp->bypass_srtp = PJ_TRUE; PROPAGATE_MEDIA_CREATE: - return pjmedia_transport_encode_sdp(srtp->member_tp, sdp_pool, + return pjmedia_transport_encode_sdp(srtp->member_tp, sdp_pool, sdp_local, sdp_remote, media_index); } @@ -1522,7 +1544,7 @@ static pj_status_t transport_media_start(pjmedia_transport *tp, /* For answerer side, this function will just have to start SRTP */ - /* Check remote media transport & set local media transport + /* Check remote media transport & set local media transport * based on SRTP usage option. */ if (srtp->offerer_side) { @@ -1535,7 +1557,7 @@ static pj_status_t transport_media_start(pjmedia_transport *tp, } else if (srtp->setting.use == PJMEDIA_SRTP_OPTIONAL) { // Regardless the answer's transport type (RTP/AVP or RTP/SAVP), // the answer must be processed through in optional mode. - // Please note that at this point transport type is ensured to be + // Please note that at this point transport type is ensured to be // RTP/AVP or RTP/SAVP, see transport_media_create() //if (pj_stricmp(&m_rem->desc.transport, &m_loc->desc.transport)) { //DEACTIVATE_MEDIA(pool, m_loc); @@ -1548,7 +1570,7 @@ static pj_status_t transport_media_start(pjmedia_transport *tp, } } } - + if (srtp->offerer_side) { /* find supported crypto-suite, get the tag, and assign policy_local */ pjmedia_srtp_crypto tmp_tx_crypto; @@ -1567,7 +1589,7 @@ static pj_status_t transport_media_start(pjmedia_transport *tp, has_crypto_attr = PJ_TRUE; - status = parse_attr_crypto(srtp->pool, m_rem->attr[i], + status = parse_attr_crypto(srtp->pool, m_rem->attr[i], &tmp_tx_crypto, &rem_tag); if (status != PJ_SUCCESS) return status; @@ -1580,7 +1602,7 @@ static pj_status_t transport_media_start(pjmedia_transport *tp, } /* match the crypto name */ - if (pj_stricmp(&tmp_tx_crypto.name, + if (pj_stricmp(&tmp_tx_crypto.name, &srtp->setting.crypto[rem_tag-1].name) != 0) { DEACTIVATE_MEDIA(pool, m_loc); @@ -1608,7 +1630,7 @@ static pj_status_t transport_media_start(pjmedia_transport *tp, } /* Make sure we have the SRTP policies */ - if (srtp_crypto_empty(&srtp->tx_policy_neg) || + if (srtp_crypto_empty(&srtp->tx_policy_neg) || srtp_crypto_empty(&srtp->rx_policy_neg)) { goto BYPASS_SRTP; @@ -1645,7 +1667,7 @@ BYPASS_SRTP: } PROPAGATE_MEDIA_START: - return pjmedia_transport_media_start(srtp->member_tp, pool, + return pjmedia_transport_media_start(srtp->member_tp, pool, sdp_local, sdp_remote, media_index); } @@ -1659,7 +1681,7 @@ static pj_status_t transport_media_stop(pjmedia_transport *tp) status = pjmedia_transport_media_stop(srtp->member_tp); if (status != PJ_SUCCESS) - PJ_LOG(4, (srtp->pool->obj_name, + PJ_LOG(4, (srtp->pool->obj_name, "SRTP failed stop underlying media transport.")); return pjmedia_transport_srtp_stop(tp); @@ -1681,7 +1703,7 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_decrypt_pkt(pjmedia_transport *tp, PJ_ASSERT_RETURN(srtp->session_inited, PJ_EINVALIDOP); /* Make sure buffer is 32bit aligned */ - PJ_ASSERT_ON_FAIL( (((long)pkt) & 0x03)==0, return PJ_EINVAL); + PJ_ASSERT_ON_FAIL( (((pj_ssize_t)pkt) & 0x03)==0, return PJ_EINVAL); pj_lock_acquire(srtp->mutex); @@ -1694,10 +1716,10 @@ PJ_DEF(pj_status_t) pjmedia_transport_srtp_decrypt_pkt(pjmedia_transport *tp, err = srtp_unprotect(srtp->srtp_rx_ctx, pkt, pkt_len); else err = srtp_unprotect_rtcp(srtp->srtp_rx_ctx, pkt, pkt_len); - + if (err != err_status_ok) { - PJ_LOG(5,(srtp->pool->obj_name, - "Failed to unprotect SRTP, pkt size=%d, err=%s", + PJ_LOG(5,(srtp->pool->obj_name, + "Failed to unprotect SRTP, pkt size=%d, err=%s", *pkt_len, get_libsrtp_errstr(err))); } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_udp.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_udp.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_udp.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_udp.c index 458424d8483aff7c8986296d856089a42a482de6..33684f00db45700e03df252a4ffcef8a22ae2089 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/transport_udp.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/transport_udp.c @@ -1,4 +1,4 @@ -/* $Id: transport_udp.c 4197 2012-07-05 07:26:29Z nanang $ */ +/* $Id: transport_udp.c 4538 2013-06-19 09:06:55Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -693,6 +693,48 @@ static pj_status_t transport_attach( pjmedia_transport *tp, udp->rtp_src_cnt = 0; udp->rtcp_src_cnt = 0; + /* Set buffer size for RTP socket */ +#if PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE + { + unsigned sobuf_size = PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE; + pj_status_t status; + status = pj_sock_setsockopt_sobuf(udp->rtp_sock, pj_SO_RCVBUF(), + PJ_TRUE, &sobuf_size); + if (status != PJ_SUCCESS) { + pj_perror(3, tp->name, status, "Failed setting SO_RCVBUF"); + } else { + if (sobuf_size < PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE) { + PJ_LOG(4, (tp->name, + "Warning! Cannot set SO_RCVBUF as configured, " + "now=%d, configured=%d", + sobuf_size, PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE)); + } else { + PJ_LOG(5, (tp->name, "SO_RCVBUF set to %d", sobuf_size)); + } + } + } +#endif +#if PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE + { + unsigned sobuf_size = PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE; + pj_status_t status; + status = pj_sock_setsockopt_sobuf(udp->rtp_sock, pj_SO_SNDBUF(), + PJ_TRUE, &sobuf_size); + if (status != PJ_SUCCESS) { + pj_perror(3, tp->name, status, "Failed setting SO_SNDBUF"); + } else { + if (sobuf_size < PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE) { + PJ_LOG(4, (tp->name, + "Warning! Cannot set SO_SNDBUF as configured, " + "now=%d, configured=%d", + sobuf_size, PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE)); + } else { + PJ_LOG(5, (tp->name, "SO_SNDBUF set to %d", sobuf_size)); + } + } + } +#endif + /* Unlock keys */ pj_ioqueue_unlock_key(udp->rtcp_key); pj_ioqueue_unlock_key(udp->rtp_key); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/types.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/types.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/types.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/types.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_codec.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_codec.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_codec.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_codec.c index 57c7c6c1227a8b8264c7aaf89803c710682cbfea..b2b6e9c009b4a54ecdcf6705c9fae97025859dde 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_codec.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_codec.c @@ -1,4 +1,4 @@ -/* $Id: vid_codec.c 4008 2012-04-03 04:03:19Z nanang $ */ +/* $Id: vid_codec.c 4616 2013-10-08 11:15:22Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -722,8 +722,10 @@ PJ_DEF(pj_status_t) pjmedia_vid_codec_mgr_set_default_param( /* Update codec default param */ p->param = pjmedia_vid_codec_param_clone(pool, param); - if (!p->param) + if (!p->param) { + pj_mutex_unlock(mgr->mutex); return PJ_EINVAL; + } codec_desc->def_param = p; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_codec_util.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_codec_util.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_codec_util.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_codec_util.c index 8cc241bbc668ceae1acef64f71d4709cf8c21a0c..c8a4be6be14d5999c6483435cb99fcbc7769d307 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_codec_util.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_codec_util.c @@ -1,4 +1,4 @@ -/* $Id: vid_codec_util.c 4362 2013-02-21 14:51:56Z nanang $ */ +/* $Id: vid_codec_util.c 4593 2013-09-09 05:22:47Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -446,7 +446,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_codec_h264_parse_fmtp( nal = &h264_fmtp->sprop_param_sets[ h264_fmtp->sprop_param_sets_len]; tmp_len = PJ_ARRAY_SIZE(h264_fmtp->sprop_param_sets) - - h264_fmtp->sprop_param_sets_len - + (int)h264_fmtp->sprop_param_sets_len - PJ_ARRAY_SIZE(start_code); status = pj_base64_decode(&tmp_st, nal + PJ_ARRAY_SIZE(start_code), @@ -463,9 +463,11 @@ PJ_DEF(pj_status_t) pjmedia_vid_codec_h264_parse_fmtp( /* When profile-level-id is not specified, use default value "42000A" */ if (h264_fmtp->profile_idc == 0) { - h264_fmtp->profile_idc = 0x42; - h264_fmtp->profile_iop = 0x00; - h264_fmtp->level = 0x0A; + const pj_str_t DEF_PROFILE = {"42000A", 6}; + + status = init_h264_profile(&DEF_PROFILE, h264_fmtp); + if (status != PJ_SUCCESS) + return status; } return PJ_SUCCESS; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_port.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_port.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_port.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_port.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_stream.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_stream.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_stream.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_stream.c index e101d7beabc590accf4b70ee64af395b7f07b62a..c8459651b999560a76df3ab87a51b04281a32ca3 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_stream.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_stream.c @@ -1,4 +1,4 @@ -/* $Id: vid_stream.c 4197 2012-07-05 07:26:29Z nanang $ */ +/* $Id: vid_stream.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2011 Teluu Inc. (http://www.teluu.com) * @@ -502,7 +502,7 @@ static pj_status_t send_rtcp(pjmedia_vid_stream *stream, PJ_PERROR(4,(stream->name.ptr, status, "Error generating RTCP SDES")); } else { - len += sdes_len; + len += (int)sdes_len; } } @@ -517,7 +517,7 @@ static pj_status_t send_rtcp(pjmedia_vid_stream *stream, PJ_PERROR(4,(stream->name.ptr, status, "Error generating RTCP BYE")); } else { - len += bye_len; + len += (int)bye_len; } } @@ -606,7 +606,8 @@ static void on_rx_rtp( void *data, /* Check for errors */ if (bytes_read < 0) { - LOGERR_((channel->port.info.name.ptr, "RTP recv() error", -bytes_read)); + LOGERR_((channel->port.info.name.ptr, "RTP recv() error", + (pj_status_t)-bytes_read)); return; } @@ -615,7 +616,7 @@ static void on_rx_rtp( void *data, return; /* Update RTP and RTCP session. */ - status = pjmedia_rtp_decode_rtp(&channel->rtp, pkt, bytes_read, + status = pjmedia_rtp_decode_rtp(&channel->rtp, pkt, (int)bytes_read, &hdr, &payload, &payloadlen); if (status != PJ_SUCCESS) { LOGERR_((channel->port.info.name.ptr, "RTP decode error", status)); @@ -777,7 +778,7 @@ static void on_rx_rtcp( void *data, /* Check for errors */ if (bytes_read < 0) { LOGERR_((stream->cname.ptr, "RTCP recv() error", - -bytes_read)); + (pj_status_t)-bytes_read)); return; } @@ -869,7 +870,7 @@ static pj_status_t put_frame(pjmedia_port *port, status = pjmedia_rtp_encode_rtp(&channel->rtp, channel->pt, (has_more_data == PJ_FALSE ? 1 : 0), - frame_out.size, + (int)frame_out.size, rtp_ts_len, (const void**)&rtphdr, &rtphdrlen); @@ -899,7 +900,7 @@ static pj_status_t put_frame(pjmedia_port *port, /* Ignore this error */ } - pjmedia_rtcp_tx_rtp(&stream->rtcp, frame_out.size); + pjmedia_rtcp_tx_rtp(&stream->rtcp, (unsigned)frame_out.size); total_sent += frame_out.size; pkt_cnt++; @@ -1071,7 +1072,7 @@ static pj_status_t decode_frame(pjmedia_vid_stream *stream, /* Decode */ status = pjmedia_vid_codec_decode(stream->codec, cnt, stream->rx_frames, - frame->size, frame); + (unsigned)frame->size, frame); if (status != PJ_SUCCESS) { LOGERR_((channel->port.info.name.ptr, "codec decode() error", status)); @@ -1291,7 +1292,7 @@ static pj_status_t create_channel( pj_pool_t *pool, /* It should big enough to hold (minimally) RTCP SR with an SDES. */ min_out_pkt_size = sizeof(pjmedia_rtcp_sr_pkt) + sizeof(pjmedia_rtcp_common) + - (4 + stream->cname.slen) + + (4 + (unsigned)stream->cname.slen) + 32; if (channel->buf_size < min_out_pkt_size) @@ -1599,7 +1600,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_stream_create( */ stream->out_rtcp_pkt_size = sizeof(pjmedia_rtcp_sr_pkt) + sizeof(pjmedia_rtcp_common) + - (4 + stream->cname.slen) + + (4 + (unsigned)stream->cname.slen) + 32; if (stream->out_rtcp_pkt_size > PJMEDIA_MAX_MTU) stream->out_rtcp_pkt_size = PJMEDIA_MAX_MTU; @@ -1649,6 +1650,8 @@ PJ_DEF(pj_status_t) pjmedia_vid_stream_create( "Time, Operation, Size, Frame Count, " "Frame type, RTP Seq, RTP TS, RTP M, " "JB size, JB burst level, JB prefetch\n"); + if (len < 1 || len >= PJ_LOG_MAX_SIZE) + len = PJ_LOG_MAX_SIZE - 1; pj_file_write(stream->trace_jb_fd, stream->trace_jb_buf, &len); pj_file_flush(stream->trace_jb_fd); } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_stream_info.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_stream_info.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_stream_info.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_stream_info.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_tee.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_tee.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/vid_tee.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/vid_tee.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wav_player.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wav_player.c similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wav_player.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wav_player.c index e906a26d8893e4d8f9ac632f140c99aedd06520a..dc7b620d0574d2eb4fe8b37150b8923347eb2228 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wav_player.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wav_player.c @@ -1,4 +1,4 @@ -/* $Id: wav_player.c 4122 2012-05-14 11:04:46Z bennylp $ */ +/* $Id: wav_player.c 4793 2014-03-14 04:09:50Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -60,7 +60,7 @@ struct file_reader_port pjmedia_wave_fmt_tag fmt_tag; pj_uint16_t bytes_per_sample; pj_bool_t eof; - pj_size_t bufsize; + pj_uint32_t bufsize; char *buf; char *readpos; char *eofpos; @@ -107,7 +107,7 @@ static struct file_reader_port *create_file_port(pj_pool_t *pool) */ static pj_status_t fill_buffer(struct file_reader_port *fport) { - pj_ssize_t size_left = fport->bufsize; + pj_uint32_t size_left = fport->bufsize; unsigned size_to_read; pj_ssize_t size; pj_status_t status; @@ -135,8 +135,8 @@ static pj_status_t fill_buffer(struct file_reader_port *fport) size = (pj_ssize_t)fport->data_left; } - size_left -= size; - fport->data_left -= size; + size_left -= (pj_uint32_t)size; + fport->data_left -= (pj_uint32_t)size; fport->fpos += size; /* If size is less than size_to_read, it indicates that we've @@ -375,7 +375,7 @@ PJ_DEF(pj_status_t) pjmedia_wav_player_port_create( pj_pool_t *pool, /* Create file buffer. */ - fport->bufsize = buff_size; + fport->bufsize = (pj_uint32_t)buff_size; /* samples_per_frame must be smaller than bufsize (because get_frame() @@ -424,6 +424,44 @@ PJ_DEF(pj_status_t) pjmedia_wav_player_port_create( pj_pool_t *pool, } +/* + * Get additional info about the file player. + */ +PJ_DEF(pj_status_t) pjmedia_wav_player_get_info( + pjmedia_port *port, + pjmedia_wav_player_info *info) +{ + struct file_reader_port *fport; + PJ_ASSERT_RETURN(port && info, PJ_EINVAL); + + pj_bzero(info, sizeof(*info)); + + /* Check that this is really a player port */ + PJ_ASSERT_RETURN(port->info.signature == SIGNATURE, PJ_EINVALIDOP); + + fport = (struct file_reader_port*) port; + + if (fport->fmt_tag == PJMEDIA_WAVE_FMT_TAG_PCM) { + info->fmt_id = PJMEDIA_FORMAT_PCM; + info->payload_bits_per_sample = 16; + } else if (fport->fmt_tag == PJMEDIA_WAVE_FMT_TAG_ULAW) { + info->fmt_id = PJMEDIA_FORMAT_ULAW; + info->payload_bits_per_sample = 8; + } else if (fport->fmt_tag == PJMEDIA_WAVE_FMT_TAG_ALAW) { + info->fmt_id = PJMEDIA_FORMAT_ALAW; + info->payload_bits_per_sample = 8; + } else { + pj_assert(!"Unsupported format"); + return PJ_ENOTSUP; + } + + info->size_bytes = pjmedia_wav_player_get_len(port); + info->size_samples = info->size_bytes / + (info->payload_bits_per_sample / 8); + + return PJ_SUCCESS; +} + /* * Get the data length, in bytes. */ @@ -484,7 +522,7 @@ PJ_DEF(pj_status_t) pjmedia_wav_player_port_set_pos(pjmedia_port *port, /* - * Get the file play position of WAV player. + * Get the file play position of WAV player (in bytes). */ PJ_DEF(pj_ssize_t) pjmedia_wav_player_port_get_pos( pjmedia_port *port ) { @@ -541,7 +579,7 @@ static pj_status_t file_get_frame(pjmedia_port *this_port, pjmedia_frame *frame) { struct file_reader_port *fport = (struct file_reader_port*)this_port; - unsigned frame_size; + pj_size_t frame_size; pj_status_t status; pj_assert(fport->base.info.signature == SIGNATURE); @@ -617,7 +655,7 @@ static pj_status_t file_get_frame(pjmedia_port *this_port, /* Split read. * First stage: read until end of buffer. */ - endread = (fport->buf+fport->bufsize) - fport->readpos; + endread = (unsigned)((fport->buf+fport->bufsize) - fport->readpos); pj_memcpy(frame->buf, fport->readpos, endread); /* End Of Buffer and EOF and NO LOOP */ diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wav_playlist.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wav_playlist.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wav_playlist.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wav_playlist.c index 658b35b9255db259282a52dc1c3c6bdbf0dd895f..a215539a3cedc226a8ef734566e292b29129401f 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wav_playlist.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wav_playlist.c @@ -1,4 +1,4 @@ -/* $Id: wav_playlist.c 3917 2011-12-20 10:01:35Z nanang $ */ +/* $Id: wav_playlist.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -60,7 +60,7 @@ struct playlist_port pjmedia_port base; unsigned options; pj_bool_t eof; - pj_size_t bufsize; + pj_uint32_t bufsize; char *buf; char *readpos; @@ -107,8 +107,8 @@ static struct playlist_port *create_file_list_port(pj_pool_t *pool, */ static pj_status_t file_fill_buffer(struct playlist_port *fport) { - pj_ssize_t size_left = fport->bufsize; - unsigned size_to_read; + pj_uint32_t size_left = fport->bufsize; + pj_uint32_t size_to_read; pj_ssize_t size; pj_status_t status; int current_file = fport->current_file; @@ -133,7 +133,7 @@ static pj_status_t file_fill_buffer(struct playlist_port *fport) return PJ_ECANCELLED; } - size_left -= size; + size_left -= (pj_uint32_t)size; fport->fpos_list[current_file] += size; /* If size is less than size_to_read, it indicates that we've @@ -318,7 +318,7 @@ PJ_DEF(pj_status_t) pjmedia_wav_playlist_create(pj_pool_t *pool, /* Create file buffer once for this operation. */ if (buff_size < 1) buff_size = PJMEDIA_FILE_PORT_BUFSIZE; - fport->bufsize = buff_size; + fport->bufsize = (pj_uint32_t)buff_size; /* Create buffer. */ @@ -569,7 +569,7 @@ static pj_status_t file_list_get_frame(pjmedia_port *this_port, pjmedia_frame *frame) { struct playlist_port *fport = (struct playlist_port*)this_port; - unsigned frame_size; + pj_size_t frame_size; pj_status_t status; pj_assert(fport->base.info.signature == SIGNATURE); @@ -606,7 +606,7 @@ static pj_status_t file_list_get_frame(pjmedia_port *this_port, /* Split read. * First stage: read until end of buffer. */ - endread = (fport->buf+fport->bufsize) - fport->readpos; + endread = (unsigned)((fport->buf+fport->bufsize) - fport->readpos); pj_memcpy(frame->buf, fport->readpos, endread); /* Second stage: fill up buffer, and read from the start of buffer. */ diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wav_writer.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wav_writer.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wav_writer.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wav_writer.c index 76290b73e79ef3180fc37040399054254a8339aa..177f8abf02282e6e1dcb7bdbc68c3c09f5ae2c76 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wav_writer.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wav_writer.c @@ -1,4 +1,4 @@ -/* $Id: wav_writer.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: wav_writer.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -311,7 +311,7 @@ static pj_status_t file_put_frame(pjmedia_port *this_port, pjmedia_frame *frame) { struct file_port *fport = (struct file_port *)this_port; - unsigned frame_size; + pj_size_t frame_size; if (fport->fmt_tag == PJMEDIA_WAVE_FMT_TAG_PCM) frame_size = frame->size; @@ -398,7 +398,10 @@ static pj_status_t file_on_destroy(pjmedia_port *this_port) /* Get file size. */ status = pj_file_getpos(fport->fd, &file_size); - PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); + if (status != PJ_SUCCESS) { + pj_file_close(fport->fd); + return status; + } /* Calculate wave fields */ wave_file_len = (pj_uint32_t)(file_size - 8); @@ -411,12 +414,18 @@ static pj_status_t file_on_destroy(pjmedia_port *this_port) /* Seek to the file_len field. */ status = pj_file_setpos(fport->fd, FILE_LEN_POS, PJ_SEEK_SET); - PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); + if (status != PJ_SUCCESS) { + pj_file_close(fport->fd); + return status; + } /* Write file_len */ bytes = sizeof(wave_file_len); status = pj_file_write(fport->fd, &wave_file_len, &bytes); - PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); + if (status != PJ_SUCCESS) { + pj_file_close(fport->fd); + return status; + } /* Write samples_len in FACT chunk */ if (fport->fmt_tag != PJMEDIA_WAVE_FMT_TAG_PCM) { @@ -430,26 +439,39 @@ static pj_status_t file_on_destroy(pjmedia_port *this_port) /* Seek to samples_len field. */ status = pj_file_setpos(fport->fd, SAMPLES_LEN_POS, PJ_SEEK_SET); - PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); + if (status != PJ_SUCCESS) { + pj_file_close(fport->fd); + return status; + } /* Write samples_len */ bytes = sizeof(wav_samples_len); status = pj_file_write(fport->fd, &wav_samples_len, &bytes); - PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); + if (status != PJ_SUCCESS) { + pj_file_close(fport->fd); + return status; + } } /* Seek to data_len field. */ status = pj_file_setpos(fport->fd, data_len_pos, PJ_SEEK_SET); - PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); + if (status != PJ_SUCCESS) { + pj_file_close(fport->fd); + return status; + } /* Write file_len */ bytes = sizeof(wave_data_len); status = pj_file_write(fport->fd, &wave_data_len, &bytes); - PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); + if (status != PJ_SUCCESS) { + pj_file_close(fport->fd); + return status; + } /* Close file */ status = pj_file_close(fport->fd); - PJ_ASSERT_RETURN(status == PJ_SUCCESS, status); + if (status != PJ_SUCCESS) + return status; /* Done. */ return PJ_SUCCESS; diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wave.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wave.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wave.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wave.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wsola.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wsola.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wsola.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wsola.c index ccdd51498bb8f2c8331eb2bd2500c62ce1b6ed18..3c3db4b1eef8b45ab626ff8845c4183887218cc3 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/pjmedia/wsola.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/pjmedia/wsola.c @@ -1,4 +1,4 @@ -/* $Id: wsola.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: wsola.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -487,7 +487,7 @@ static void wsola_fade_out(pjmedia_wsola *wsola, *buf = (pj_int16_t)(*buf * fade_pos / fade_cnt); } if (buf != end) - pjmedia_zero_samples(buf, end - buf); + pjmedia_zero_samples(buf, (unsigned)(end - buf)); wsola->fade_out_pos = 0; } else { for (; buf != end; --fade_pos, ++buf) { @@ -661,7 +661,7 @@ static void expand(pjmedia_wsola *wsola, unsigned needed) } /* How many new samples do we have */ - dist = templ - start; + dist = (unsigned)(templ - start); /* Not enough buffer to hold the result */ if (reg1_len + dist > wsola->buf_size) { @@ -719,7 +719,7 @@ static unsigned compress(pjmedia_wsola *wsola, pj_int16_t *buf, unsigned count, CHECK_(start < end); start = find_pitch(buf, start, end, wsola->templ_size, 0); - dist = start - buf; + dist = (unsigned)(start - buf); if (wsola->options & PJMEDIA_WSOLA_NO_HANNING) { overlapp_add_simple(buf, wsola->hanning_size, buf, start); diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/audio_tool.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/audio_tool.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/audio_tool.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/audio_tool.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/codec_vectors.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/codec_vectors.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/codec_vectors.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/codec_vectors.c index 71962f4961b0a51a1af73ab4734d9f0be739b2e9..ff771debe783687c7ce0244c7b73c901652ebe22 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/codec_vectors.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/codec_vectors.c @@ -1,4 +1,4 @@ -/* $Id: codec_vectors.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: codec_vectors.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -34,7 +34,8 @@ static int codec_test_encode(pjmedia_codec_mgr *mgr, { pj_str_t codec_id = pj_str(codec_name); pj_pool_t *pool = NULL; - unsigned count, samples_per_frame, encoded_frame_len = 0, pos; + unsigned count, samples_per_frame; + pj_size_t encoded_frame_len = 0, pos; pjmedia_codec *codec = NULL; const pjmedia_codec_info *ci[1]; pjmedia_codec_param codec_param; @@ -125,9 +126,7 @@ static int codec_test_encode(pjmedia_codec_mgr *mgr, } if (out_frame.size) { - int cnt; - - cnt = fwrite(out_frame.buf, out_frame.size, 1, output); + fwrite(out_frame.buf, out_frame.size, 1, output); if (encoded_frame_len == 0) encoded_frame_len = out_frame.size; @@ -152,7 +151,7 @@ static int codec_test_encode(pjmedia_codec_mgr *mgr, pos = 0; for (;;) { - int count; + pj_size_t count; count = fread(in_frame.buf, encoded_frame_len, 1, fref); if (count != 1) @@ -444,7 +443,7 @@ static int codec_test_decode(pjmedia_codec_mgr *mgr, pos = 0; for (;;) { - int count; + pj_size_t count; count = fread(pkt, samples_per_frame*2, 1, fref); if (count != 1) diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/jbuf_test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/jbuf_test.c similarity index 90% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/jbuf_test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/jbuf_test.c index a292276fbf093036517aa1622dabad115fb787c4..7d916428e8277cea45e82b587607ac712131aaa2 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/jbuf_test.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/jbuf_test.c @@ -1,5 +1,5 @@ -/* $Id: jbuf_test.c 3841 2011-10-24 09:28:13Z ming $ */ -/* +/* $Id: jbuf_test.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <stdio.h> #include <ctype.h> @@ -47,7 +47,7 @@ typedef struct test_cond_t { int delay_min; /**< Minimum delay, in frames. */ } test_cond_t; -static pj_bool_t parse_test_headers(char *line, test_param_t *param, +static pj_bool_t parse_test_headers(char *line, test_param_t *param, test_cond_t *cond) { char *p = line; @@ -56,7 +56,7 @@ static pj_bool_t parse_test_headers(char *line, test_param_t *param, /* Test params. */ char mode_st[16]; - sscanf(p+1, "%s %u %u %u", mode_st, ¶m->init_prefetch, + sscanf(p+1, "%s %u %u %u", mode_st, ¶m->init_prefetch, ¶m->min_prefetch, ¶m->max_prefetch); param->adaptive = (pj_ansi_stricmp(mode_st, "adaptive") == 0); @@ -102,7 +102,7 @@ static pj_bool_t parse_test_headers(char *line, test_param_t *param, return PJ_TRUE; } -static pj_bool_t process_test_data(char data, pjmedia_jbuf *jb, +static pj_bool_t process_test_data(char data, pjmedia_jbuf *jb, pj_uint16_t *seq, pj_uint16_t *last_seq) { char frame[1]; @@ -155,9 +155,11 @@ static pj_bool_t process_test_data(char data, pjmedia_jbuf *jb, pjmedia_jb_state state; pjmedia_jbuf_get_state(jb, &state); - printf("seq=%d\t%c\tsize=%d\tprefetch=%d\n", + printf("seq=%d\t%c\tsize=%d\tprefetch=%d\n", *last_seq, toupper(data), state.size, state.prefetch); } +#else + PJ_UNUSED_ARG(print_state); /* Warning about variable set but unused */ #endif return PJ_TRUE; @@ -170,7 +172,7 @@ int jbuf_main(void) int old_log_level; int rc = 0; const char* input_filename = "Jbtest.dat"; - const char* input_search_path[] = { + const char* input_search_path[] = { "../build", "pjmedia/build", "build" @@ -191,7 +193,7 @@ int jbuf_main(void) input = fopen(input_path, "rt"); } } - + /* Failed to open test data file. */ if (input == NULL) { printf("Failed to open test data file, Jbtest.dat\n"); @@ -244,8 +246,8 @@ int jbuf_main(void) pjmedia_jbuf_reset(jb); if (param.adaptive) { - pjmedia_jbuf_set_adaptive(jb, - param.init_prefetch, + pjmedia_jbuf_set_adaptive(jb, + param.init_prefetch, param.min_prefetch, param.max_prefetch); } else { @@ -254,8 +256,8 @@ int jbuf_main(void) #ifdef REPORT pjmedia_jbuf_get_state(jb, &state); - printf("Initial\tsize=%d\tprefetch=%d\tmin.pftch=%d\tmax.pftch=%d\n", - state.size, state.prefetch, state.min_prefetch, + printf("Initial\tsize=%d\tprefetch=%d\tmin.pftch=%d\tmax.pftch=%d\n", + state.size, state.prefetch, state.min_prefetch, state.max_prefetch); #endif @@ -263,7 +265,7 @@ int jbuf_main(void) /* Test session start */ while (1) { char c; - + /* Get next line of test data */ if (!p || *p == 0) { p = fgets(line, sizeof(line), input); @@ -301,24 +303,24 @@ int jbuf_main(void) printf("Summary:\n"); printf(" size=%d prefetch=%d\n", state.size, state.prefetch); printf(" delay (min/max/avg/dev)=%d/%d/%d/%d ms\n", - state.min_delay, state.max_delay, state.avg_delay, + state.min_delay, state.max_delay, state.avg_delay, state.dev_delay); - printf(" lost=%d discard=%d empty=%d burst(avg)=%d\n", + printf(" lost=%d discard=%d empty=%d burst(avg)=%d\n", state.lost, state.discard, state.empty, state.avg_burst); /* Evaluate test session */ if (cond.burst >= 0 && (int)state.avg_burst > cond.burst) { - printf("! 'Burst' should be %d, it is %d\n", + printf("! 'Burst' should be %d, it is %d\n", cond.burst, state.avg_burst); rc |= 1; } if (cond.delay >= 0 && (int)state.avg_delay/JB_PTIME > cond.delay) { - printf("! 'Delay' should be %d, it is %d\n", + printf("! 'Delay' should be %d, it is %d\n", cond.delay, state.avg_delay/JB_PTIME); rc |= 2; } if (cond.delay_min >= 0 && (int)state.min_delay/JB_PTIME > cond.delay_min) { - printf("! 'Minimum delay' should be %d, it is %d\n", + printf("! 'Minimum delay' should be %d, it is %d\n", cond.delay_min, state.min_delay/JB_PTIME); rc |= 32; } @@ -328,12 +330,12 @@ int jbuf_main(void) rc |= 4; } if (cond.empty >= 0 && (int)state.empty > cond.empty) { - printf("! 'Empty' should be %d, it is %d\n", + printf("! 'Empty' should be %d, it is %d\n", cond.empty, state.empty); rc |= 8; } if (cond.lost >= 0 && (int)state.lost > cond.lost) { - printf("! 'Lost' should be %d, it is %d\n", + printf("! 'Lost' should be %d, it is %d\n", cond.lost, state.lost); rc |= 16; } diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/main.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/main.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/main.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/main.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/mips_test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/mips_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/mips_test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/mips_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/rtp_test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/rtp_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/rtp_test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/rtp_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/sdp_neg_test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/sdp_neg_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/sdp_neg_test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/sdp_neg_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/sdptest.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/sdptest.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/sdptest.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/sdptest.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/session_test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/session_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/session_test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/session_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/test.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/test.c index 44b46c3ff88120a5d245e0c5339251ead7ec38d1..4d2fdd5a47970ad6262ebacf54234581fc5365ce 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/test.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/test.c @@ -1,4 +1,4 @@ -/* $Id: test.c 3893 2011-12-01 10:49:07Z ming $ */ +/* $Id: test.c 4624 2013-10-21 06:37:30Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -47,10 +47,10 @@ void app_perror(pj_status_t status, const char *msg) * https://trac.pjsip.org/repos/ticket/1337 */ #if PJMEDIA_HAS_G711_CODEC==0 -int dummy() +void *dummy() { // Dummy - return (int) &pjmedia_plc_save; + return &pjmedia_plc_save; } #endif diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/test.h b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/test.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/test.h rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/test.h diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/vid_codec_test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/vid_codec_test.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/vid_codec_test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/vid_codec_test.c index e98fbe9205bc548aa3656387c6a6e99e9dfa6d61..87104126de680ecd68af22dd34ff382cdabc287b 100644 --- a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/vid_codec_test.c +++ b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/vid_codec_test.c @@ -1,4 +1,4 @@ -/* $Id: vid_codec_test.c 4084 2012-04-25 07:13:05Z ming $ */ +/* $Id: vid_codec_test.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2011 Teluu Inc. (http://www.teluu.com) * @@ -86,7 +86,7 @@ static pj_status_t codec_put_frame(pjmedia_port *port, pj_bool_t has_more = PJ_FALSE; enc_buf = port_data->enc_buf; - enc_size_left = port_data->enc_buf_size; + enc_size_left = (unsigned)port_data->enc_buf_size; /* * Encode @@ -99,7 +99,7 @@ static pj_status_t codec_put_frame(pjmedia_port *port, if (status != PJ_SUCCESS) goto on_error; enc_buf += enc_frames[enc_cnt].size; - enc_size_left -= enc_frames[enc_cnt].size; + enc_size_left -= (unsigned)enc_frames[enc_cnt].size; ++enc_cnt; while (has_more) { @@ -113,7 +113,7 @@ static pj_status_t codec_put_frame(pjmedia_port *port, break; enc_buf += enc_frames[enc_cnt].size; - enc_size_left -= enc_frames[enc_cnt].size; + enc_size_left -= (unsigned)enc_frames[enc_cnt].size; ++enc_cnt; @@ -127,7 +127,7 @@ static pj_status_t codec_put_frame(pjmedia_port *port, * Decode */ status = pjmedia_vid_codec_decode(codec, enc_cnt, enc_frames, - frame->size, frame); + (unsigned)frame->size, frame); if (status != PJ_SUCCESS) goto on_error; /* Display */ diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/vid_dev_test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/vid_dev_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/vid_dev_test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/vid_dev_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/vid_port_test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/vid_port_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/vid_port_test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/vid_port_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/wince_main.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/wince_main.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/wince_main.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/wince_main.c diff --git a/daemon/libs/pjproject-2.1.0/pjmedia/src/test/wsola_test.c b/daemon/libs/pjproject-2.2.1/pjmedia/src/test/wsola_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjmedia/src/test/wsola_test.c rename to daemon/libs/pjproject-2.2.1/pjmedia/src/test/wsola_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/build/Makefile b/daemon/libs/pjproject-2.2.1/pjnath/build/Makefile similarity index 58% rename from daemon/libs/pjproject-2.1.0/pjnath/build/Makefile rename to daemon/libs/pjproject-2.2.1/pjnath/build/Makefile index 32b0b50da5af106c0c18547645bf5d30e4719591..1bc08b50ca2645caef13bb33d22c36f25c59a2fd 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/build/Makefile +++ b/daemon/libs/pjproject-2.2.1/pjnath/build/Makefile @@ -6,11 +6,21 @@ include ../../build.mak include ../../version.mak include $(PJDIR)/build/common.mak +export LIBDIR := ../lib +export BINDIR := ../bin + RULES_MAK := $(PJDIR)/build/rules.mak PJLIB_LIB:=../../pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT) PJLIB_UTIL_LIB:=../../pjlib-util/lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT) -export PJNATH_LIB:=../lib/libpjnath-$(TARGET_NAME)$(LIBEXT) + +export PJNATH_LIB:=libpjnath-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export PJNATH_SONAME := libpjnath.$(SHLIB_SUFFIX) +export PJNATH_SHLIB := $(PJNATH_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### # Gather all flags. @@ -20,11 +30,8 @@ export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ $(CC_INC)../../pjlib-util/include export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ $(HOST_CXXFLAGS) $(CXXFLAGS) -export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJNATH_LIB)) \ - $(subst /,$(HOST_PSEP),$(PJLIB_UTIL_LIB)) \ - $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \ - $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ - $(LDFLAGS) +export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(APP_LDFLAGS) $(LDFLAGS) ############################################################################### # Defines for building PJNATH library @@ -35,6 +42,8 @@ export PJNATH_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ stun_msg.o stun_msg_dump.o stun_session.o stun_sock.o \ stun_transaction.o turn_session.o turn_sock.o export PJNATH_CFLAGS += $(_CFLAGS) +export PJNATH_CXXFLAGS += $(_CXXFLAGS) +export PJNATH_LDFLAGS += $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) ############################################################################### # Defines for building test application @@ -43,8 +52,9 @@ export PJNATH_TEST_SRCDIR = ../src/pjnath-test export PJNATH_TEST_OBJS += ice_test.o stun.o sess_auth.o server.o concur_test.o \ stun_sock_test.o turn_sock_test.o test.o export PJNATH_TEST_CFLAGS += $(_CFLAGS) -export PJNATH_TEST_LDFLAGS += $(_LDFLAGS) -export PJNATH_TEST_EXE:=../bin/pjnath-test-$(TARGET_NAME)$(HOST_EXE) +export PJNATH_TEST_CXXFLAGS += $(_CXXFLAGS) +export PJNATH_TEST_LDFLAGS += $(PJNATH_LDLIB) $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) +export PJNATH_TEST_EXE:=pjnath-test-$(TARGET_NAME)$(HOST_EXE) ############################################################################### @@ -53,8 +63,9 @@ export PJNATH_TEST_EXE:=../bin/pjnath-test-$(TARGET_NAME)$(HOST_EXE) export PJTURN_CLIENT_SRCDIR = ../src/pjturn-client export PJTURN_CLIENT_OBJS += client_main.o export PJTURN_CLIENT_CFLAGS += $(_CFLAGS) -export PJTURN_CLIENT_LDFLAGS += $(_LDFLAGS) -export PJTURN_CLIENT_EXE:=../bin/pjturn-client-$(TARGET_NAME)$(HOST_EXE) +export PJTURN_CLIENT_CXXFLAGS += $(_CXXFLAGS) +export PJTURN_CLIENT_LDFLAGS += $(PJNATH_LDLIB) $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) +export PJTURN_CLIENT_EXE:=pjturn-client-$(TARGET_NAME)$(HOST_EXE) ############################################################################### # Defines for building TURN server application @@ -63,20 +74,21 @@ export PJTURN_SRV_SRCDIR = ../src/pjturn-srv export PJTURN_SRV_OBJS += allocation.o auth.o listener_udp.o \ listener_tcp.o server.o main.o export PJTURN_SRV_CFLAGS += $(_CFLAGS) -export PJTURN_SRV_LDFLAGS += $(_LDFLAGS) -export PJTURN_SRV_EXE:=../bin/pjturn-srv-$(TARGET_NAME)$(HOST_EXE) +export PJTURN_SRV_CXXFLAGS += $(_CXXFLAGS) +export PJTURN_SRV_LDFLAGS += $(PJNATH_LDLIB) $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) +export PJTURN_SRV_EXE:=pjturn-srv-$(TARGET_NAME)$(HOST_EXE) export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT ############################################################################### # Main entry -# -# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. -# -TARGETS := pjnath pjnath-test pjturn-client pjturn-srv +TARGETS := $(PJNATH_LIB) $(PJNATH_SONAME) +TARGETS_EXE := $(PJNATH_TEST_EXE) $(PJTURN_CLIENT_EXE) $(PJTURN_SRV_EXE) -all: $(TARGETS) +all: $(TARGETS) $(TARGETS_EXE) + +lib: $(TARGETS) doc: cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg @@ -92,30 +104,36 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend pjlib pjlib-test clean realclean distclean - -pjnath: - $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $(PJNATH_LIB) +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PJNATH_LIB) $(PJNATH_SONAME) +.PHONY: $(PJNATH_TEST_EXE) $(PJTURN_CLIENT_EXE) $(PJTURN_SRV_EXE) -$$(PJNATH_LIB): pjnath +pjnath: $(PJNATH_LIB) +$(PJNATH_SONAME): $(PJNATH_LIB) +$(PJNATH_LIB) $(PJNATH_SONAME): $(PJLIB_LIB) $(PJLIB_SONAME) $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) -pjnath-test: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB) - $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $(PJNATH_TEST_EXE) +pjnath-test: $(PJNATH_TEST_EXE) +$(PJNATH_TEST_EXE): $(PJNATH_LIB) $(PJNATH_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) -pjturn-client: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB) - $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $(PJTURN_CLIENT_EXE) +pjturn-client: $(PJTURN_CLIENT_EXE) +$(PJTURN_CLIENT_EXE): $(PJNATH_LIB) $(PJNATH_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $(subst /,$(HOST_PSEP),$(BINDIR)/$@) -pjturn-srv: $(PJLIB_LIB) $(PJLIB_UTIL_LIB) $(PJNATH_LIB) - $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $(PJTURN_SRV_EXE) +pjturn-srv: $(PJTURN_SRV_EXE) +$(PJTURN_SRV_EXE): $(PJNATH_LIB) $(PJNATH_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $(subst /,$(HOST_PSEP),$(BINDIR)/$@) -.PHONY: ../lib/pjnath.ko -../lib/pjnath.ko: +.PHONY: pjnath.ko +pjnath.ko: echo Making $@ - $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@ + $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) -.PHONY: ../lib/pjnath-test.ko -../lib/pjnath-test.ko: - $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@ +.PHONY: pjnath-test.ko +pjnath-test.ko: + $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean: $(MAKE) -f $(RULES_MAK) APP=PJNATH app=pjnath $@ @@ -138,8 +156,8 @@ depend: $(MAKE) -f $(RULES_MAK) APP=PJNATH_TEST app=pjnath-test $@ $(MAKE) -f $(RULES_MAK) APP=PJTURN_CLIENT app=pjturn-client $@ $(MAKE) -f $(RULES_MAK) APP=PJTURN_SRV app=pjturn-srv $@ - echo '$(PJNATH_TEST_EXE): $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjnath-test-$(TARGET_NAME).depend - echo '$(PJTURN_CLIENT_EXE): $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjturn-client-$(TARGET_NAME).depend - echo '$(PJTURN_SRV_EXE): $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjturn-srv-$(TARGET_NAME).depend + echo '$(BINDIR)/$(PJNATH_TEST_EXE): $(LIBDIR)/$(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjnath-test-$(TARGET_NAME).depend + echo '$(BINDIR)/$(PJTURN_CLIENT_EXE): $(LIBDIR)/$(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjturn-client-$(TARGET_NAME).depend + echo '$(BINDIR)/$(PJTURN_SRV_EXE): $(LIBDIR)/$(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjturn-srv-$(TARGET_NAME).depend diff --git a/daemon/libs/pjproject-2.1.0/pjnath/build/pjnath.vcproj b/daemon/libs/pjproject-2.2.1/pjnath/build/pjnath.vcproj similarity index 78% rename from daemon/libs/pjproject-2.1.0/pjnath/build/pjnath.vcproj rename to daemon/libs/pjproject-2.2.1/pjnath/build/pjnath.vcproj index b794c473da6192df9809212649350d11fcbb320c..bd346264d8a19e37f6fe86d058a1ef8a4b9c5c52 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/build/pjnath.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjnath/build/pjnath.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -34,14 +37,11 @@ <Configurations> <Configuration Name="Release|Win32" + ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - - ConfigurationType="4" - UseOfMFC="0" > <Tool Name="VCPreBuildEventTool" @@ -60,9 +60,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -94,14 +93,11 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -120,10 +116,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -137,8 +132,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -165,14 +159,11 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Release|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -191,10 +182,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -208,8 +198,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -236,15 +225,12 @@ /> </Configuration> <Configuration - Name="Debug|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Release|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -260,12 +246,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -297,14 +283,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -323,10 +307,8 @@ /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" /> <Tool @@ -340,8 +322,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -353,29 +333,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Debug|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -394,10 +363,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -411,8 +379,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -439,15 +406,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -466,9 +429,9 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" - - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PrecompiledHeaderFile="" /> <Tool @@ -482,6 +445,7 @@ /> <Tool Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -493,21 +457,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -523,14 +493,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -543,8 +513,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -556,29 +524,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Static|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -597,10 +555,8 @@ /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" /> <Tool @@ -614,8 +570,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -627,30 +581,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -669,9 +611,9 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" - - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PrecompiledHeaderFile="" /> <Tool @@ -685,6 +627,7 @@ /> <Tool Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -696,21 +639,26 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -729,10 +677,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -746,8 +693,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -774,14 +720,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Static|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -797,14 +741,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -817,8 +761,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -830,30 +772,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Release-Dynamic|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -872,9 +803,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -906,14 +836,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -932,10 +859,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -949,8 +875,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -977,14 +902,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1003,10 +925,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1020,8 +941,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1048,15 +968,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Release-Dynamic|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1072,12 +989,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1109,14 +1026,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Dynamic|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1135,10 +1050,8 @@ /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" /> <Tool @@ -1152,8 +1065,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -1165,29 +1076,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1206,10 +1106,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1223,8 +1122,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1251,14 +1149,11 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1277,10 +1172,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1294,8 +1188,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1322,14 +1215,12 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Dynamic|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1345,14 +1236,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1365,8 +1256,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -1378,29 +1267,75 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + </Configuration> + <Configuration + Name="Release-Static|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" /> - <DebuggerTool + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1419,10 +1354,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1437,7 +1371,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -1464,14 +1397,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Release-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1490,10 +1420,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1507,8 +1436,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1535,14 +1463,12 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release-Static|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1558,13 +1484,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" /> <Tool @@ -1578,8 +1503,6 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -1591,28 +1514,17 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1633,7 +1545,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -1649,8 +1560,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1677,13 +1587,10 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1704,7 +1611,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -1720,8 +1626,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1748,13 +1653,10 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1775,7 +1677,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -1791,8 +1692,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1819,13 +1719,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1846,7 +1743,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -1862,8 +1758,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1890,13 +1785,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1917,7 +1809,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -1933,8 +1824,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1961,13 +1851,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1988,7 +1875,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2004,8 +1890,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2032,13 +1917,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2059,7 +1941,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2075,8 +1956,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2103,13 +1983,10 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2130,7 +2007,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2146,8 +2022,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2174,13 +2049,10 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2201,7 +2073,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2217,8 +2088,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2245,13 +2115,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2272,7 +2139,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2288,8 +2154,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2316,13 +2181,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2343,7 +2205,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2359,8 +2220,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2387,13 +2247,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2414,7 +2271,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2430,8 +2286,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2458,13 +2313,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2485,7 +2337,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2502,7 +2353,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -2529,13 +2379,10 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2556,7 +2403,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2572,8 +2418,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2600,13 +2445,10 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2627,7 +2469,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2643,8 +2484,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2671,13 +2511,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2698,7 +2535,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2714,8 +2550,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2742,13 +2577,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2769,7 +2601,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2785,8 +2616,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2813,13 +2643,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2840,7 +2667,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2856,8 +2682,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2884,13 +2709,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2911,7 +2733,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" @@ -2928,7 +2749,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -2954,18 +2774,348 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" - > - <File - RelativePath="..\src\pjnath\errno.c" - > - <FileConfiguration + <Configuration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\pjnath\errno.c" + > + <FileConfiguration Name="Release|Win32" > <Tool @@ -2975,7 +3125,52 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2984,7 +3179,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2993,7 +3188,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3002,7 +3197,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3019,6 +3214,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath\ice_session.c" @@ -3044,6 +3248,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -3053,6 +3266,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3062,6 +3284,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3071,6 +3302,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3080,6 +3320,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3089,6 +3338,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath\stun_msg.c" @@ -3102,6 +3360,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -3111,6 +3378,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3120,6 +3396,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3129,6 +3414,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3138,6 +3432,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3147,6 +3450,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath\stun_msg_dump.c" @@ -3160,6 +3472,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -3169,6 +3490,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3178,6 +3508,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3187,6 +3526,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3196,6 +3544,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3205,6 +3562,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath\stun_session.c" @@ -3218,6 +3584,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -3227,6 +3602,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3236,6 +3620,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3245,6 +3638,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3254,6 +3656,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3263,6 +3674,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath\stun_sock.c" @@ -3280,6 +3700,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -3289,6 +3718,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3298,6 +3736,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3307,6 +3754,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3316,6 +3772,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3325,6 +3790,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath\turn_session.c" diff --git a/daemon/libs/pjproject-2.1.0/pjnath/build/pjnath_test.vcproj b/daemon/libs/pjproject-2.2.1/pjnath/build/pjnath_test.vcproj similarity index 78% rename from daemon/libs/pjproject-2.1.0/pjnath/build/pjnath_test.vcproj rename to daemon/libs/pjproject-2.2.1/pjnath/build/pjnath_test.vcproj index 4ec5bbfd88deb17fba7f76a3763198e97927228a..3af168183f35b353acc7fb06d5fc5717c78e9162 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/build/pjnath_test.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjnath/build/pjnath_test.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -34,14 +37,11 @@ <Configurations> <Configuration Name="Debug|Win32" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - - ConfigurationType="1" - UseOfMFC="0" > <Tool Name="VCPreBuildEventTool" @@ -60,9 +60,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -78,7 +77,6 @@ Name="VCLinkerTool" AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> <Tool Name="VCALinkTool" @@ -106,14 +104,11 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Debug|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -148,8 +143,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -176,14 +170,11 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Debug|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -218,8 +209,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -246,15 +236,12 @@ /> </Configuration> <Configuration - Name="Release|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Debug|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -270,13 +257,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -289,9 +277,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -319,14 +307,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release|Win32" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -345,8 +331,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -360,13 +346,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -374,29 +362,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -431,8 +414,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -459,87 +441,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="1" - UseOfMFC="0" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" - PrecompiledHeaderFile="" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -574,8 +480,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -602,14 +507,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -625,11 +528,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -643,13 +547,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -657,30 +564,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Debug-Static|Win32" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -699,9 +601,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -715,9 +616,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> <Tool Name="VCALinkTool" @@ -745,14 +645,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -787,8 +684,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -815,14 +711,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -857,8 +750,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -885,15 +777,12 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Debug-Static|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -909,13 +798,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -930,7 +820,7 @@ Name="VCLinkerTool" AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -958,14 +848,12 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release-Dynamic|Win32" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -984,8 +872,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -999,13 +887,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1013,29 +903,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1070,8 +955,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1098,15 +982,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="1" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1125,9 +1005,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_CONSOLE;" - - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PrecompiledHeaderFile="" /> <Tool @@ -1141,16 +1020,12 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " - OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -1158,27 +1033,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release-Dynamic|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1194,11 +1069,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1212,13 +1088,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" - + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1226,29 +1105,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Dynamic|Win32" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1267,8 +1142,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1282,13 +1157,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" - + AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1296,29 +1173,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1354,7 +1226,6 @@ Name="VCLinkerTool" AdditionalDependencies="ws2.lib" OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> <Tool Name="VCALinkTool" @@ -1381,14 +1252,11 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1423,8 +1291,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1451,14 +1318,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Dynamic|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1474,12 +1339,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1492,13 +1359,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - + AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1506,29 +1376,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release-Static|Win32" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1547,8 +1413,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1562,13 +1428,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1576,29 +1444,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1634,7 +1497,6 @@ Name="VCLinkerTool" AdditionalDependencies="ws2.lib" OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - /> <Tool Name="VCALinkTool" @@ -1661,14 +1523,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1703,8 +1562,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1731,14 +1589,12 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release-Static|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1754,11 +1610,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1772,13 +1629,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjnath-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1786,28 +1646,23 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -1843,8 +1698,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1871,13 +1725,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -1913,8 +1764,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1941,13 +1791,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -1983,8 +1830,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2011,13 +1857,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2053,8 +1896,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2081,13 +1923,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2123,8 +1962,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2151,13 +1989,10 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2193,8 +2028,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2221,13 +2055,10 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2263,8 +2094,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2291,13 +2121,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2333,8 +2160,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2361,13 +2187,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2403,8 +2226,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2431,13 +2253,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2473,8 +2292,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2501,13 +2319,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2543,8 +2358,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2571,13 +2385,76 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2613,8 +2490,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2641,13 +2517,10 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2683,8 +2556,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2711,13 +2583,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2753,8 +2622,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2781,13 +2649,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2823,8 +2688,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2851,13 +2715,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="1" > <Tool @@ -2893,8 +2754,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2921,13 +2781,76 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="1" > <Tool @@ -2964,7 +2887,6 @@ Name="VCLinkerTool" AdditionalDependencies="ws2.lib" OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" - /> <Tool Name="VCALinkTool" @@ -2990,55 +2912,488 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" > - <File - RelativePath="..\src\pjnath-test\concur_test.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjnath-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\pjnath-test\concur_test.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjnath-test\ice_test.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3047,7 +3402,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3055,12 +3410,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjnath-test\ice_test.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3069,7 +3420,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3078,7 +3429,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3087,7 +3438,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3096,7 +3447,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3113,6 +3464,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath-test\main.c" @@ -3127,7 +3487,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3135,13 +3495,22 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3152,7 +3521,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3160,13 +3529,22 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3177,7 +3555,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3185,13 +3563,22 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3202,7 +3589,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3210,13 +3597,22 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3227,7 +3623,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3235,13 +3631,22 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3252,7 +3657,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3260,7 +3665,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3268,7 +3673,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3276,7 +3690,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3284,7 +3698,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3292,7 +3706,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3300,7 +3714,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3308,7 +3722,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3316,7 +3730,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3324,7 +3738,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3332,7 +3746,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3340,7 +3754,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3348,7 +3762,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3356,7 +3770,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3471,6 +3885,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" @@ -3479,6 +3901,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" ExcludedFromBuild="true" @@ -3487,6 +3917,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" ExcludedFromBuild="true" @@ -3495,6 +3933,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" @@ -3503,6 +3949,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" ExcludedFromBuild="true" @@ -3511,6 +3965,14 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath-test\server.c" @@ -3532,6 +3994,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3541,6 +4012,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3550,6 +4030,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3559,6 +4048,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3568,6 +4066,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3577,6 +4084,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath-test\stun_sock_test.c" @@ -3594,6 +4110,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3603,6 +4128,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3612,6 +4146,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3621,6 +4164,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3630,6 +4182,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3639,6 +4200,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjnath-test\turn_sock_test.c" diff --git a/daemon/libs/pjproject-2.1.0/pjnath/build/pjstun_srv_test.vcproj b/daemon/libs/pjproject-2.2.1/pjnath/build/pjstun_srv_test.vcproj similarity index 52% rename from daemon/libs/pjproject-2.1.0/pjnath/build/pjstun_srv_test.vcproj rename to daemon/libs/pjproject-2.2.1/pjnath/build/pjstun_srv_test.vcproj index 5a8575d5c4e2522c10f6ab809fcac2a4a9fcd61d..ce50902a7920ecd1351a48bb58b125f2ba37a061 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/build/pjstun_srv_test.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjnath/build/pjstun_srv_test.vcproj @@ -10,20 +10,20 @@ <Platform Name="Win32" /> + <Platform + Name="x64" + /> </Platforms> <ToolFiles> </ToolFiles> <Configurations> <Configuration Name="Release|Win32" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - - ConfigurationType="1" - UseOfMFC="0" > <Tool Name="VCPreBuildEventTool" @@ -42,10 +42,9 @@ /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" /> <Tool Name="VCManagedResourceCompilerTool" @@ -60,7 +59,6 @@ Name="VCLinkerTool" AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " OutputFile="..\bin\pjstun-srv-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> <Tool Name="VCALinkTool" @@ -89,14 +87,79 @@ </Configuration> <Configuration Name="Debug|Win32" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjstun-srv-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -112,13 +175,84 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_CONSOLE;" - PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjstun-srv-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -133,7 +267,7 @@ Name="VCLinkerTool" AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " OutputFile="..\bin\pjstun-srv-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -189,6 +323,24 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjstun-srv-test\main.c" @@ -211,6 +363,24 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjstun-srv-test\server.c" @@ -233,6 +403,24 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjstun-srv-test\turn_usage.c" @@ -255,6 +443,24 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjstun-srv-test\usage.c" @@ -277,6 +483,24 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> </Filter> <Filter diff --git a/daemon/libs/pjproject-2.1.0/pjnath/build/pjturn_client.vcproj b/daemon/libs/pjproject-2.2.1/pjnath/build/pjturn_client.vcproj similarity index 51% rename from daemon/libs/pjproject-2.1.0/pjnath/build/pjturn_client.vcproj rename to daemon/libs/pjproject-2.2.1/pjnath/build/pjturn_client.vcproj index 0a38973e6fc43eee71fc78603d4589f020423e89..12f784d74929da3b5e0ae1e0de763b94e8a2a528 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/build/pjturn_client.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjnath/build/pjturn_client.vcproj @@ -10,20 +10,20 @@ <Platform Name="Win32" /> + <Platform + Name="x64" + /> </Platforms> <ToolFiles> </ToolFiles> <Configurations> <Configuration Name="Release|Win32" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - - ConfigurationType="1" - UseOfMFC="0" > <Tool Name="VCPreBuildEventTool" @@ -42,10 +42,9 @@ /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" /> <Tool Name="VCManagedResourceCompilerTool" @@ -60,7 +59,6 @@ Name="VCLinkerTool" AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " OutputFile="..\bin\pjturn-client-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> <Tool Name="VCALinkTool" @@ -89,14 +87,79 @@ </Configuration> <Configuration Name="Debug|Win32" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjturn-client-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -112,13 +175,84 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " + OutputFile="..\bin\pjturn-client-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -133,7 +267,7 @@ Name="VCLinkerTool" AdditionalDependencies="netapi32.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib " OutputFile="..\bin\pjturn-client-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -189,6 +323,24 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> </Filter> <Filter diff --git a/daemon/libs/pjproject-2.1.0/pjnath/build/wince-evc4/pjnath_test_wince.vcp b/daemon/libs/pjproject-2.2.1/pjnath/build/wince-evc4/pjnath_test_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/build/wince-evc4/pjnath_test_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjnath/build/wince-evc4/pjnath_test_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjnath/build/wince-evc4/pjnath_wince.vcp b/daemon/libs/pjproject-2.2.1/pjnath/build/wince-evc4/pjnath_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/build/wince-evc4/pjnath_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjnath/build/wince-evc4/pjnath_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjnath/build/wince-evc4/pjnath_wince.vcw b/daemon/libs/pjproject-2.2.1/pjnath/build/wince-evc4/pjnath_wince.vcw similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/build/wince-evc4/pjnath_wince.vcw rename to daemon/libs/pjproject-2.2.1/pjnath/build/wince-evc4/pjnath_wince.vcw diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/UML-class-diagram.dia b/daemon/libs/pjproject-2.2.1/pjnath/docs/UML-class-diagram.dia similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/UML-class-diagram.dia rename to daemon/libs/pjproject-2.2.1/pjnath/docs/UML-class-diagram.dia diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/UML-class-diagram.png b/daemon/libs/pjproject-2.2.1/pjnath/docs/UML-class-diagram.png similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/UML-class-diagram.png rename to daemon/libs/pjproject-2.2.1/pjnath/docs/UML-class-diagram.png diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/doc_ice.h b/daemon/libs/pjproject-2.2.1/pjnath/docs/doc_ice.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/doc_ice.h rename to daemon/libs/pjproject-2.2.1/pjnath/docs/doc_ice.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/doc_mainpage.h b/daemon/libs/pjproject-2.2.1/pjnath/docs/doc_mainpage.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/doc_mainpage.h rename to daemon/libs/pjproject-2.2.1/pjnath/docs/doc_mainpage.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/doc_nat.h b/daemon/libs/pjproject-2.2.1/pjnath/docs/doc_nat.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/doc_nat.h rename to daemon/libs/pjproject-2.2.1/pjnath/docs/doc_nat.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/doc_samples.h b/daemon/libs/pjproject-2.2.1/pjnath/docs/doc_samples.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/doc_samples.h rename to daemon/libs/pjproject-2.2.1/pjnath/docs/doc_samples.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/doc_stun.h b/daemon/libs/pjproject-2.2.1/pjnath/docs/doc_stun.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/doc_stun.h rename to daemon/libs/pjproject-2.2.1/pjnath/docs/doc_stun.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/doc_turn.h b/daemon/libs/pjproject-2.2.1/pjnath/docs/doc_turn.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/doc_turn.h rename to daemon/libs/pjproject-2.2.1/pjnath/docs/doc_turn.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/doxygen.cfg b/daemon/libs/pjproject-2.2.1/pjnath/docs/doxygen.cfg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/doxygen.cfg rename to daemon/libs/pjproject-2.2.1/pjnath/docs/doxygen.cfg diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/doxygen.css b/daemon/libs/pjproject-2.2.1/pjnath/docs/doxygen.css similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/doxygen.css rename to daemon/libs/pjproject-2.2.1/pjnath/docs/doxygen.css diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/footer.html b/daemon/libs/pjproject-2.2.1/pjnath/docs/footer.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/footer.html rename to daemon/libs/pjproject-2.2.1/pjnath/docs/footer.html diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/header.html b/daemon/libs/pjproject-2.2.1/pjnath/docs/header.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/header.html rename to daemon/libs/pjproject-2.2.1/pjnath/docs/header.html diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/ice-arch.jpg b/daemon/libs/pjproject-2.2.1/pjnath/docs/ice-arch.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/ice-arch.jpg rename to daemon/libs/pjproject-2.2.1/pjnath/docs/ice-arch.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/ice_demo.jpg b/daemon/libs/pjproject-2.2.1/pjnath/docs/ice_demo.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/ice_demo.jpg rename to daemon/libs/pjproject-2.2.1/pjnath/docs/ice_demo.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/pjturn_client.jpg b/daemon/libs/pjproject-2.2.1/pjnath/docs/pjturn_client.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/pjturn_client.jpg rename to daemon/libs/pjproject-2.2.1/pjnath/docs/pjturn_client.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjnath/docs/stun-arch.jpg b/daemon/libs/pjproject-2.2.1/pjnath/docs/stun-arch.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/docs/stun-arch.jpg rename to daemon/libs/pjproject-2.2.1/pjnath/docs/stun-arch.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/config.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/config.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/config.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/errno.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/errno.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/errno.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/errno.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/ice_session.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/ice_session.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/ice_session.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/ice_session.h index e21f520bfccb483bda37fc9c2a3a3aa5f328bce5..55f8374c7b49624f649de04e384709c57d97f354 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/ice_session.h +++ b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/ice_session.h @@ -1,4 +1,4 @@ -/* $Id: ice_session.h 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: ice_session.h 4602 2013-09-25 04:57:26Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -154,7 +154,12 @@ typedef enum pj_ice_cand_type * ICE relayed candidate, which represents the address allocated in * TURN server. */ - PJ_ICE_CAND_TYPE_RELAYED + PJ_ICE_CAND_TYPE_RELAYED, + + /** + * Number of defined ICE candidate types. + */ + PJ_ICE_CAND_TYPE_MAX } pj_ice_cand_type; diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/ice_strans.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/ice_strans.h similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/ice_strans.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/ice_strans.h index 6e973c4d3060103cc220617f5ff46d70bbfed9c1..8bda8e1ce44e7e90f1133a47752cc3be85b4d023 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/ice_strans.h +++ b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/ice_strans.h @@ -1,4 +1,4 @@ -/* $Id: ice_strans.h 4133 2012-05-21 14:00:17Z bennylp $ */ +/* $Id: ice_strans.h 4606 2013-10-01 05:00:57Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -370,6 +370,40 @@ typedef struct pj_ice_strans_cfg */ pj_qos_params qos_params; + /** + * Specify target value for socket receive buffer size. It will be + * applied using setsockopt(). When it fails to set the specified + * size, it will try with lower value until the highest possible is + * successfully set. + * + * When this is set to zero, this component will apply socket receive + * buffer size settings specified in STUN and TURN socket config + * above, i.e: \a stun::cfg::so_rcvbuf_size and + * \a turn::cfg::so_rcvbuf_size. Otherwise, this setting will be + * applied to STUN and TURN sockets for this component, overriding + * the setting specified in STUN/TURN socket config. + * + * Default: 0 + */ + unsigned so_rcvbuf_size; + + /** + * Specify target value for socket send buffer size. It will be + * applied using setsockopt(). When it fails to set the specified + * size, it will try with lower value until the highest possible is + * successfully set. + * + * When this is set to zero, this component will apply socket send + * buffer size settings specified in STUN and TURN socket config + * above, i.e: \a stun::cfg::so_sndbuf_size and + * \a turn::cfg::so_sndbuf_size. Otherwise, this setting will be + * applied to STUN and TURN sockets for this component, overriding + * the setting specified in STUN/TURN socket config. + * + * Default: 0 + */ + unsigned so_sndbuf_size; + } comp[PJ_ICE_MAX_COMP]; } pj_ice_strans_cfg; @@ -530,6 +564,14 @@ PJ_DECL(pj_status_t) pj_ice_strans_get_options(pj_ice_strans *ice_st, PJ_DECL(pj_status_t) pj_ice_strans_set_options(pj_ice_strans *ice_st, const pj_ice_sess_options *opt); +/** + * Get the group lock for this ICE stream transport. + * + * @param ice_st The ICE stream transport. + * + * @return The group lock. + */ +PJ_DECL(pj_grp_lock_t *) pj_ice_strans_get_grp_lock(pj_ice_strans *ice_st); /** * Initialize the ICE session in the ICE stream transport. diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/nat_detect.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/nat_detect.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/nat_detect.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/nat_detect.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_auth.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_auth.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_auth.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_auth.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_config.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_config.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_config.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_msg.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_msg.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_msg.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_msg.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_session.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_session.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_session.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_session.h index dd12e912cf603ed6eb13c0573fd0808775a43380..657942cb36916c1eaecbc1cf587fcb52f29607dc 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_session.h +++ b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_session.h @@ -1,4 +1,4 @@ -/* $Id: stun_session.h 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: stun_session.h 4606 2013-10-01 05:00:57Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -434,6 +434,15 @@ PJ_DECL(pj_status_t) pj_stun_session_set_user_data(pj_stun_session *sess, */ PJ_DECL(void*) pj_stun_session_get_user_data(pj_stun_session *sess); +/** + * Get the group lock for this STUN session. + * + * @param sess The STUN session instance. + * + * @return The group lock. + */ +PJ_DECL(pj_grp_lock_t *) pj_stun_session_get_grp_lock(pj_stun_session *sess); + /** * Set SOFTWARE name to be included in all requests and responses. * diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_sock.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_sock.h similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_sock.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_sock.h index c18741a50dc4dfab03ffb62b0c3c43b7fb72c34c..6437cc7c4bc3c81b0f9aa4eeb529a5c012fc8554 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_sock.h +++ b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_sock.h @@ -1,4 +1,4 @@ -/* $Id: stun_sock.h 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: stun_sock.h 4606 2013-10-01 05:00:57Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -295,6 +295,26 @@ typedef struct pj_stun_sock_cfg */ pj_bool_t qos_ignore_error; + /** + * Specify target value for socket receive buffer size. It will be + * applied using setsockopt(). When it fails to set the specified size, + * it will try with lower value until the highest possible is + * successfully set. + * + * Default: 0 (OS default) + */ + unsigned so_rcvbuf_size; + + /** + * Specify target value for socket send buffer size. It will be + * applied using setsockopt(). When it fails to set the specified size, + * it will try with lower value until the highest possible is + * successfully set. + * + * Default: 0 (OS default) + */ + unsigned so_sndbuf_size; + } pj_stun_sock_cfg; @@ -413,6 +433,16 @@ PJ_DECL(pj_status_t) pj_stun_sock_set_user_data(pj_stun_sock *stun_sock, PJ_DECL(void*) pj_stun_sock_get_user_data(pj_stun_sock *stun_sock); +/** + * Get the group lock for this STUN transport. + * + * @param stun_sock The STUN transport instance. + * + * @return The group lock. + */ +PJ_DECL(pj_grp_lock_t *) pj_stun_sock_get_grp_lock(pj_stun_sock *stun_sock); + + /** * Get the STUN transport info. The transport info contains, among other * things, the allocated relay address. diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_transaction.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_transaction.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/stun_transaction.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/stun_transaction.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/turn_session.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/turn_session.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/turn_session.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/turn_session.h index eb6d16bdc988eca897a8438f5a3bc029a6ba6c83..cc6f826680568584303222017060997abca6e8bf 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/turn_session.h +++ b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/turn_session.h @@ -1,4 +1,4 @@ -/* $Id: turn_session.h 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: turn_session.h 4606 2013-10-01 05:00:57Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -512,6 +512,16 @@ PJ_DECL(pj_status_t) pj_turn_session_set_user_data(pj_turn_session *sess, PJ_DECL(void*) pj_turn_session_get_user_data(pj_turn_session *sess); +/** + * Get the group lock for this TURN session. + * + * @param sess The TURN client session. + * + * @return The group lock. + */ +PJ_DECL(pj_grp_lock_t *) pj_turn_session_get_grp_lock(pj_turn_session *sess); + + /** * Configure message logging. By default all flags are enabled. * diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/turn_sock.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/turn_sock.h similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/turn_sock.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/turn_sock.h index b13057c093d7fbc1bc48419ebef5ef3c1288ac0b..afeb73d9758abd75924646d8178a4c3c0a9d0596 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/turn_sock.h +++ b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/turn_sock.h @@ -1,4 +1,4 @@ -/* $Id: turn_sock.h 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: turn_sock.h 4606 2013-10-01 05:00:57Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -166,6 +166,26 @@ typedef struct pj_turn_sock_cfg */ pj_uint16_t port_range; + /** + * Specify target value for socket receive buffer size. It will be + * applied using setsockopt(). When it fails to set the specified size, + * it will try with lower value until the highest possible has been + * successfully set. + * + * Default: 0 (OS default) + */ + unsigned so_rcvbuf_size; + + /** + * Specify target value for socket send buffer size. It will be + * applied using setsockopt(). When it fails to set the specified size, + * it will try with lower value until the highest possible has been + * successfully set. + * + * Default: 0 (OS default) + */ + unsigned so_sndbuf_size; + } pj_turn_sock_cfg; @@ -244,6 +264,16 @@ PJ_DECL(pj_status_t) pj_turn_sock_set_user_data(pj_turn_sock *turn_sock, PJ_DECL(void*) pj_turn_sock_get_user_data(pj_turn_sock *turn_sock); +/** + * Get the group lock for this TURN transport. + * + * @param turn_sock The TURN transport instance. + * + * @return The group lock. + */ +PJ_DECL(pj_grp_lock_t *) pj_turn_sock_get_grp_lock(pj_turn_sock *turn_sock); + + /** * Get the TURN transport info. The transport info contains, among other * things, the allocated relay address. diff --git a/daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/types.h b/daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/include/pjnath/types.h rename to daemon/libs/pjproject-2.2.1/pjnath/include/pjnath/types.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/concur_test.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/concur_test.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/concur_test.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/concur_test.c index bf54e9449c3a8de34eb47f9f0d293bdf8c717d51..3b965e4fad3c34942b0473409ffa09824ee816c9 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/concur_test.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/concur_test.c @@ -1,4 +1,4 @@ -/* $Id: concur_test.c 4412 2013-03-05 03:12:32Z riza $ */ +/* $Id: concur_test.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -72,7 +72,7 @@ static int server_thread_proc(void *p) /* Serve client */ PJ_FD_ZERO(&rdset); PJ_FD_SET(test_sess->server_sock, &rdset); - n = pj_sock_select(test_sess->server_sock+1, &rdset, + n = pj_sock_select((int)test_sess->server_sock+1, &rdset, NULL, NULL, &timeout); if (n==1 && PJ_FD_ISSET(test_sess->server_sock, &rdset)) { pj_uint8_t pkt[512]; diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/ice_test.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/ice_test.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/ice_test.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/ice_test.c index 2b74811a64709ba8c2023326a69862a4839f3d08..e6708bf0c8a4e6b2928c95ad213b005cab4ec0dc 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/ice_test.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/ice_test.c @@ -1,5 +1,5 @@ -/* $Id: ice_test.c 4412 2013-03-05 03:12:32Z riza $ */ -/* +/* $Id: ice_test.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "test.h" #include "server.h" @@ -112,11 +112,11 @@ struct test_sess static void ice_on_rx_data(pj_ice_strans *ice_st, - unsigned comp_id, + unsigned comp_id, void *pkt, pj_size_t size, const pj_sockaddr_t *src_addr, unsigned src_addr_len); -static void ice_on_ice_complete(pj_ice_strans *ice_st, +static void ice_on_ice_complete(pj_ice_strans *ice_st, pj_ice_strans_op op, pj_status_t status); static void destroy_sess(struct test_sess *sess, unsigned wait_msec); @@ -201,7 +201,7 @@ static int create_ice_strans(struct test_sess *test_sess, *p_ice = ice; return PJ_SUCCESS; } - + /* Create test session */ static int create_sess(pj_stun_config *stun_cfg, unsigned server_flag, @@ -238,7 +238,7 @@ static int create_sess(pj_stun_config *stun_cfg, destroy_sess(sess, 500); return -10; } - sess->server->turn_respond_allocate = + sess->server->turn_respond_allocate = sess->server->turn_respond_refresh = PJ_TRUE; /* Create resolver */ @@ -318,7 +318,7 @@ static void destroy_sess(struct test_sess *sess, unsigned wait_msec) } static void ice_on_rx_data(pj_ice_strans *ice_st, - unsigned comp_id, + unsigned comp_id, void *pkt, pj_size_t size, const pj_sockaddr_t *src_addr, unsigned src_addr_len) @@ -335,7 +335,7 @@ static void ice_on_rx_data(pj_ice_strans *ice_st, } -static void ice_on_ice_complete(pj_ice_strans *ice_st, +static void ice_on_ice_complete(pj_ice_strans *ice_st, pj_ice_strans_op op, pj_status_t status) { @@ -436,14 +436,14 @@ static int check_pair(const struct ice_ept *ept1, const struct ice_ept *ept2, /* Extra components must not have valid pair */ for (; i<max_cnt; ++i) { if (ept1->cfg.comp_cnt>i && - pj_ice_strans_get_valid_pair(ept1->ice, i+1) != NULL) + pj_ice_strans_get_valid_pair(ept1->ice, i+1) != NULL) { PJ_LOG(3,(THIS_FILE, INDENT "err: ice1 shouldn't have valid pair " "for component %d", i+1)); return start_err - 8; } if (ept2->cfg.comp_cnt>i && - pj_ice_strans_get_valid_pair(ept2->ice, i+1) != NULL) + pj_ice_strans_get_valid_pair(ept2->ice, i+1) != NULL) { PJ_LOG(3,(THIS_FILE, INDENT "err: ice2 shouldn't have valid pair " "for component %d", i+1)); @@ -463,7 +463,7 @@ static int check_pair(const struct ice_ept *ept1, const struct ice_ept *ept2, poll_events(stun_cfg, 10, PJ_FALSE); \ pj_gettimeofday(&t); \ if (expr) { \ - rc = PJ_SUCCESS; \ + RC = PJ_SUCCESS; \ break; \ } \ PJ_TIME_VAL_SUB(t, t0); \ @@ -477,13 +477,13 @@ int worker_thread_proc(void *data) pj_status_t rc; struct test_sess *sess = (struct test_sess *) data; pj_stun_config *stun_cfg = sess->stun_cfg; - + /* Wait until negotiation is complete on both endpoints */ #define ALL_DONE (sess->param->worker_quit || \ (sess->caller.result.nego_status!=PJ_EPENDING && \ sess->callee.result.nego_status!=PJ_EPENDING)) WAIT_UNTIL(sess->param->worker_timeout, ALL_DONE, rc); - + PJ_UNUSED_ARG(rc); return 0; } @@ -538,7 +538,7 @@ static int perform_test2(const char *title, goto on_return; } /* Init ICE on caller */ - rc = pj_ice_strans_init_ice(sess->caller.ice, sess->caller.cfg.role, + rc = pj_ice_strans_init_ice(sess->caller.ice, sess->caller.cfg.role, &sess->caller.ufrag, &sess->caller.pass); if (rc != PJ_SUCCESS) { app_perror(INDENT "err: caller pj_ice_strans_init_ice()", rc); @@ -547,7 +547,7 @@ static int perform_test2(const char *title, } /* Init ICE on callee */ - rc = pj_ice_strans_init_ice(sess->callee.ice, sess->callee.cfg.role, + rc = pj_ice_strans_init_ice(sess->callee.ice, sess->callee.cfg.role, &sess->callee.ufrag, &sess->callee.pass); if (rc != PJ_SUCCESS) { app_perror(INDENT "err: callee pj_ice_strans_init_ice()", rc); @@ -596,7 +596,7 @@ static int perform_test2(const char *title, } goto on_destroy; } - + WAIT_UNTIL(30000, ALL_DONE, rc); if (!ALL_DONE) { PJ_LOG(3,(THIS_FILE, INDENT "err: negotiation timed-out")); @@ -690,7 +690,7 @@ int ice_test(void) unsigned server_flag; struct test_cfg ua1; struct test_cfg ua2; - } sess_cfg[] = + } sess_cfg[] = { /* Role comp# host? stun? turn? flag? ans_del snd_del des_del */ { @@ -740,7 +740,7 @@ int ice_test(void) /* Simple test first with host candidate */ if (1) { - struct sess_cfg_t cfg = + struct sess_cfg_t cfg = { "Basic with host candidates", 0x0, @@ -749,23 +749,23 @@ int ice_test(void) {ROLE2, 1, YES, NO, NO, 0, 0, 0, 0, {PJ_SUCCESS, PJ_SUCCESS}} }; - rc = perform_test(cfg.title, &stun_cfg, cfg.server_flag, + rc = perform_test(cfg.title, &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; cfg.ua1.comp_cnt = 2; cfg.ua2.comp_cnt = 2; - rc = perform_test("Basic with host candidates, 2 components", - &stun_cfg, cfg.server_flag, + rc = perform_test("Basic with host candidates, 2 components", + &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; } - + /* Simple test first with srflx candidate */ if (1) { - struct sess_cfg_t cfg = + struct sess_cfg_t cfg = { "Basic with srflx candidates", 0xFFFF, @@ -774,7 +774,7 @@ int ice_test(void) {ROLE2, 1, YES, YES, NO, 0, 0, 0, 0, {PJ_SUCCESS, PJ_SUCCESS}} }; - rc = perform_test(cfg.title, &stun_cfg, cfg.server_flag, + rc = perform_test(cfg.title, &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; @@ -782,8 +782,8 @@ int ice_test(void) cfg.ua1.comp_cnt = 2; cfg.ua2.comp_cnt = 2; - rc = perform_test("Basic with srflx candidates, 2 components", - &stun_cfg, cfg.server_flag, + rc = perform_test("Basic with srflx candidates, 2 components", + &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; @@ -791,7 +791,7 @@ int ice_test(void) /* Simple test with relay candidate */ if (1) { - struct sess_cfg_t cfg = + struct sess_cfg_t cfg = { "Basic with relay candidates", 0xFFFF, @@ -800,7 +800,7 @@ int ice_test(void) {ROLE2, 1, NO, NO, YES, 0, 0, 0, 0, {PJ_SUCCESS, PJ_SUCCESS}} }; - rc = perform_test(cfg.title, &stun_cfg, cfg.server_flag, + rc = perform_test(cfg.title, &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; @@ -808,8 +808,8 @@ int ice_test(void) cfg.ua1.comp_cnt = 2; cfg.ua2.comp_cnt = 2; - rc = perform_test("Basic with relay candidates, 2 components", - &stun_cfg, cfg.server_flag, + rc = perform_test("Basic with relay candidates, 2 components", + &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; @@ -817,7 +817,7 @@ int ice_test(void) /* Failure test with STUN resolution */ if (1) { - struct sess_cfg_t cfg = + struct sess_cfg_t cfg = { "STUN resolution failure", 0x0, @@ -834,8 +834,8 @@ int ice_test(void) cfg.ua1.client_flag |= DEL_ON_ERR; cfg.ua2.client_flag |= DEL_ON_ERR; - rc = perform_test("STUN resolution failure with destroy on callback", - &stun_cfg, cfg.server_flag, + rc = perform_test("STUN resolution failure with destroy on callback", + &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; @@ -843,7 +843,7 @@ int ice_test(void) /* Failure test with TURN resolution */ if (1) { - struct sess_cfg_t cfg = + struct sess_cfg_t cfg = { "TURN allocation failure", 0xFFFF, @@ -852,7 +852,7 @@ int ice_test(void) {ROLE2, 2, NO, NO, YES, WRONG_TURN, 0, 0, 0, {PJ_STATUS_FROM_STUN_CODE(401), -1}} }; - rc = perform_test(cfg.title, &stun_cfg, cfg.server_flag, + rc = perform_test(cfg.title, &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; @@ -860,8 +860,8 @@ int ice_test(void) cfg.ua1.client_flag |= DEL_ON_ERR; cfg.ua2.client_flag |= DEL_ON_ERR; - rc = perform_test("TURN allocation failure with destroy on callback", - &stun_cfg, cfg.server_flag, + rc = perform_test("TURN allocation failure with destroy on callback", + &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; @@ -870,7 +870,7 @@ int ice_test(void) /* STUN failure, testing TURN deallocation */ if (1) { - struct sess_cfg_t cfg = + struct sess_cfg_t cfg = { "STUN failure, testing TURN deallocation", 0xFFFF & (~(CREATE_STUN_SERVER)), @@ -887,8 +887,8 @@ int ice_test(void) cfg.ua1.client_flag |= DEL_ON_ERR; cfg.ua2.client_flag |= DEL_ON_ERR; - rc = perform_test("STUN failure, testing TURN deallocation (cb)", - &stun_cfg, cfg.server_flag, + rc = perform_test("STUN failure, testing TURN deallocation (cb)", + &stun_cfg, cfg.server_flag, &cfg.ua1, &cfg.ua2); if (rc != 0) goto on_return; @@ -908,7 +908,7 @@ int ice_test(void) struct role_t { pj_ice_sess_role ua1; pj_ice_sess_role ua2; - } role[] = + } role[] = { { ROLE1, ROLE2}, { ROLE2, ROLE1}, @@ -936,14 +936,14 @@ int ice_test(void) for (k2=1; k2<=2; ++k2) { char title[120]; - sprintf(title, - "%s/%s, %dms answer delay, %d vs %d components", + sprintf(title, + "%s/%s, %dms answer delay, %d vs %d components", pj_ice_sess_role_name(role[j].ua1), pj_ice_sess_role_name(role[j].ua2), delay[d], k1, k2); cfg->ua2.comp_cnt = k2; - rc = perform_test(title, &stun_cfg, cfg->server_flag, + rc = perform_test(title, &stun_cfg, cfg->server_flag, &cfg->ua1, &cfg->ua2); if (rc != 0) goto on_return; @@ -1021,14 +1021,14 @@ int ice_conc_test(void) pj_stun_config stun_cfg; unsigned i; int rc; - + pool = pj_pool_create(mem, NULL, 512, 512, NULL); rc = create_stun_config(pool, &stun_cfg); if (rc != PJ_SUCCESS) { pj_pool_release(pool); return -7; } - + for (i = 0; i < LOOP; i++) { PJ_LOG(3,(THIS_FILE, INDENT "Test %d of %d", i+1, LOOP)); rc = ice_one_conc_test(&stun_cfg, PJ_TRUE); @@ -1038,7 +1038,7 @@ int ice_conc_test(void) /* Avoid compiler warning */ goto on_return; - + on_return: destroy_stun_config(&stun_cfg); pj_pool_release(pool); diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/main.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/main.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/main.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/main.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/main_win32.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/main_win32.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/main_win32.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/main_win32.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/server.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/server.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/server.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/server.c index 4d8565e36f353eb52a70d9da3d19886cfbd68123..c9e63a339f48761db6e81cb037c5d10078ec69af 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/server.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/server.c @@ -1,4 +1,4 @@ -/* $Id: server.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: server.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -732,7 +732,7 @@ static pj_bool_t alloc_on_data_recvfrom(pj_activesock_t *asock, pj_sockaddr_cp(&pa->sockaddr, src_addr); da->data = (pj_uint8_t*)data; - da->length = size; + da->length = (unsigned)size; /* Encode Data indication */ status = pj_stun_msg_encode(alloc->data_ind, buffer, sizeof(buffer), 0, diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/server.h b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/server.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/server.h rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/server.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/sess_auth.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/sess_auth.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/sess_auth.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/sess_auth.c index 236426003b1af38c91573110c28b0f0e4b183be0..795fa3fe275d18f9bc15cc5e87cec5138cae507c 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/sess_auth.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/sess_auth.c @@ -1,4 +1,4 @@ -/* $Id: sess_auth.c 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: sess_auth.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -173,8 +173,8 @@ static int server_thread(void *unused) PJ_FD_ZERO(&readset); PJ_FD_SET(server->sock, &readset); - if (pj_sock_select(server->sock+1, &readset, NULL, NULL, &delay)==1 && - PJ_FD_ISSET(server->sock, &readset)) + if (pj_sock_select((int)server->sock+1, &readset, NULL, NULL, &delay)==1 + && PJ_FD_ISSET(server->sock, &readset)) { char pkt[1000]; pj_ssize_t len; @@ -386,8 +386,8 @@ static int client_thread(void *unused) PJ_FD_ZERO(&readset); PJ_FD_SET(client->sock, &readset); - if (pj_sock_select(client->sock+1, &readset, NULL, NULL, &delay)==1 && - PJ_FD_ISSET(client->sock, &readset)) + if (pj_sock_select((int)client->sock+1, &readset, NULL, NULL, &delay)==1 + && PJ_FD_ISSET(client->sock, &readset)) { char pkt[1000]; pj_ssize_t len; diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/stun.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/stun.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/stun.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/stun.c index 092f90e903dcbe506f36f81b927c616807ca849f..4a136cb364271a0b6f8c60fdc092dd7590d3a669 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/stun.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/stun.c @@ -1,4 +1,4 @@ -/* $Id: stun.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: stun.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -668,7 +668,7 @@ static int fingerprint_test_vector() /* Print our raw message */ PJ_LOG(4,(THIS_FILE, "Message PDU:\n%s", - print_binary((pj_uint8_t*)buf, len))); + print_binary((pj_uint8_t*)buf, (unsigned)len))); /* Print our message */ pj_stun_msg_dump(msg, print, sizeof(print), NULL); @@ -681,7 +681,7 @@ static int fingerprint_test_vector() goto on_return; } - pos = cmp_buf(buf, (const pj_uint8_t*)v->pdu, len); + pos = cmp_buf(buf, (const pj_uint8_t*)v->pdu, (unsigned)len); if (pos != (unsigned)-1) { PJ_LOG(1,(THIS_FILE, " Message mismatch at byte %d", pos)); rc = -1060; @@ -701,7 +701,7 @@ static int fingerprint_test_vector() cred.data.static_cred.data = pj_str(v->password); cred.data.static_cred.nonce = pj_str(v->nonce); - status = pj_stun_authenticate_request(buf, len, msg, + status = pj_stun_authenticate_request(buf, (unsigned)len, msg, &cred, pool, NULL, NULL); if (status != PJ_SUCCESS) { char errmsg[PJ_ERR_MSG_SIZE]; @@ -715,7 +715,8 @@ static int fingerprint_test_vector() } else if (PJ_STUN_IS_RESPONSE(msg->hdr.type)) { pj_status_t status; - status = pj_stun_authenticate_response(buf, len, msg, &key); + status = pj_stun_authenticate_response(buf, (unsigned)len, + msg, &key); if (status != PJ_SUCCESS) { char errmsg[PJ_ERR_MSG_SIZE]; pj_strerror(status, errmsg, sizeof(errmsg)); @@ -942,7 +943,8 @@ static int handle_unknown_non_mandatory(void) cred.data.static_cred.data = PASSWORD; PJ_LOG(3,(THIS_FILE, " authenticating")); - rc += pj_stun_authenticate_request(packet, len, msg1, &cred, pool, NULL, NULL); + rc += pj_stun_authenticate_request(packet, (unsigned)len, msg1, &cred, pool, + NULL, NULL); PJ_LOG(3,(THIS_FILE, " clone")); msg2 = pj_stun_msg_clone(pool, msg1); diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/stun_sock_test.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/stun_sock_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/stun_sock_test.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/stun_sock_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/test.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/test.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/test.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/test.c index 5277585c0a67bf15a3f9f7c858dd6f96be7160af..64d1336b71fc1726834e1013ffc53f3ef7c3f681 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/test.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/test.c @@ -1,5 +1,5 @@ -/* $Id: test.c 4360 2013-02-21 11:26:35Z bennylp $ */ -/* +/* $Id: test.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "test.h" #include <pjlib.h> @@ -107,13 +107,13 @@ void capture_pjlib_state(pj_stun_config *cfg, struct pjlib_state *st) { pj_caching_pool *cp; - st->timer_cnt = pj_timer_heap_count(cfg->timer_heap); - + st->timer_cnt = (unsigned)pj_timer_heap_count(cfg->timer_heap); + cp = (pj_caching_pool*)cfg->pf; - st->pool_used_cnt = cp->used_count; + st->pool_used_cnt = (unsigned)cp->used_count; } -int check_pjlib_state(pj_stun_config *cfg, +int check_pjlib_state(pj_stun_config *cfg, const struct pjlib_state *initial_st) { struct pjlib_state current_state; @@ -153,7 +153,7 @@ int check_pjlib_state(pj_stun_config *cfg, pj_pool_factory *mem; -int param_log_decor = PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_TIME | +int param_log_decor = PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_TIME | PJ_LOG_HAS_MICRO_SEC; pj_log_func *orig_log_func; @@ -178,6 +178,7 @@ static int test_inner(void) #if 1 pj_log_set_level(3); pj_log_set_decor(param_log_decor); + PJ_UNUSED_ARG(test_log_func); #elif 1 log_file = fopen("pjnath-test.log", "wt"); pj_log_set_level(5); @@ -190,7 +191,7 @@ static int test_inner(void) app_perror("pj_init() error!!", rc); return rc; } - + pj_dump_config(); pj_caching_pool_init( &caching_pool, &pj_pool_factory_default_policy, 0 ); @@ -233,7 +234,7 @@ int test_main(void) } PJ_CATCH_ANY { int id = PJ_GET_EXCEPTION(); - PJ_LOG(3,("test", "FATAL: unhandled exception id %d (%s)", + PJ_LOG(3,("test", "FATAL: unhandled exception id %d (%s)", id, pj_exception_id_name(id))); } PJ_END; diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/test.h b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/test.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/test.h rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/test.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/turn_sock_test.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/turn_sock_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath-test/turn_sock_test.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath-test/turn_sock_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/errno.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/errno.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/errno.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/errno.c index 389e9ad6624743284c71e0643c5ca1646d527fac..88fd37ab1df0bf1fc48adbad0cf1136d945fb0bb 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/errno.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/errno.c @@ -1,4 +1,4 @@ -/* $Id: errno.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: errno.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -133,8 +133,8 @@ static pj_str_t pjnath_strerror(pj_status_t statcode, errstr.slen = pj_ansi_snprintf(buf, bufsize, "Unknown pjnath error %d", statcode); - if (errstr.slen < 0) errstr.slen = 0; - else if (errstr.slen > (int)bufsize) errstr.slen = bufsize; + if (errstr.slen < 1 || errstr.slen >= (int)bufsize) + errstr.slen = bufsize-1; return errstr; } @@ -164,8 +164,8 @@ static pj_str_t pjnath_strerror2(pj_status_t statcode, buf[bufsize-1] = '\0'; } - if (errstr.slen < 0) errstr.slen = 0; - else if (errstr.slen > (int)bufsize) errstr.slen = bufsize; + if (errstr.slen < 1 || errstr.slen >= (int)bufsize) + errstr.slen = bufsize-1; return errstr; } diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/ice_session.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/ice_session.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/ice_session.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/ice_session.c index 30a40f60e489589acf61666f88cd4e5905c90d09..6cf984588306f791603890040f8fde99bf980b04 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/ice_session.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/ice_session.c @@ -1,4 +1,4 @@ -/* $Id: ice_session.c 4365 2013-02-21 18:06:51Z bennylp $ */ +/* $Id: ice_session.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -80,7 +80,7 @@ enum timer_type }; /* Candidate type preference */ -static pj_uint8_t cand_type_prefs[4] = +static pj_uint8_t cand_type_prefs[PJ_ICE_CAND_TYPE_MAX] = { #if PJ_ICE_CAND_TYPE_PREF_BITS < 8 /* Keep it to 2 bits */ @@ -101,7 +101,7 @@ static pj_uint8_t cand_type_prefs[4] = #define CHECK_NAME_LEN 128 #define LOG4(expr) PJ_LOG(4,expr) #define LOG5(expr) PJ_LOG(4,expr) -#define GET_LCAND_ID(cand) (cand - ice->lcand) +#define GET_LCAND_ID(cand) (unsigned)(cand - ice->lcand) #define GET_CHECK_ID(cl, chk) (chk - (cl)->checks) @@ -545,9 +545,9 @@ PJ_DEF(pj_status_t) pj_ice_sess_set_prefs(pj_ice_sess *ice, { unsigned i; PJ_ASSERT_RETURN(ice && prefs, PJ_EINVAL); - ice->prefs = (pj_uint8_t*) pj_pool_calloc(ice->pool, PJ_ARRAY_SIZE(prefs), + ice->prefs = (pj_uint8_t*) pj_pool_calloc(ice->pool, PJ_ICE_CAND_TYPE_MAX, sizeof(pj_uint8_t)); - for (i=0; i<4; ++i) { + for (i=0; i<PJ_ICE_CAND_TYPE_MAX; ++i) { #if PJ_ICE_CAND_TYPE_PREF_BITS < 8 pj_assert(prefs[i] < (2 << PJ_ICE_CAND_TYPE_PREF_BITS)); #endif @@ -899,9 +899,6 @@ static const char *dump_check(char *buffer, unsigned bufsize, PJ_CHECK_STACK(); - pj_ansi_strcpy(laddr, pj_sockaddr_print(&lcand->addr, laddr, - sizeof(laddr), 0)); - len = pj_ansi_snprintf(buffer, bufsize, "%d: [%d] %s:%d-->%s:%d", (int)GET_CHECK_ID(clist, check), @@ -1989,8 +1986,8 @@ static void periodic_timer(pj_timer_heap_t *th, /* Utility: find string in string array */ -const pj_str_t *find_str(const pj_str_t *strlist[], unsigned count, - const pj_str_t *str) +static const pj_str_t *find_str(const pj_str_t *strlist[], unsigned count, + const pj_str_t *str) { unsigned i; for (i=0; i<count; ++i) { diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/ice_strans.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/ice_strans.c similarity index 90% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/ice_strans.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/ice_strans.c index 2df77bfaba7f5cfd94fd71d02d21985c99f98bf1..4a929b7f7487f1b53b816f35dbb69644c103edd4 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/ice_strans.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/ice_strans.c @@ -1,5 +1,5 @@ -/* $Id: ice_strans.c 4412 2013-03-05 03:12:32Z riza $ */ -/* +/* $Id: ice_strans.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <pjnath/ice_strans.h> #include <pjnath/errno.h> @@ -65,7 +65,7 @@ enum tp_type /* The candidate type preference when STUN candidate is used */ -static pj_uint8_t srflx_pref_table[4] = +static pj_uint8_t srflx_pref_table[PJ_ICE_CAND_TYPE_MAX] = { #if PJNATH_ICE_PRIO_STD 100, /**< PJ_ICE_HOST_PREF */ @@ -84,14 +84,14 @@ static pj_uint8_t srflx_pref_table[4] = /* ICE callbacks */ static void on_ice_complete(pj_ice_sess *ice, pj_status_t status); -static pj_status_t ice_tx_pkt(pj_ice_sess *ice, +static pj_status_t ice_tx_pkt(pj_ice_sess *ice, unsigned comp_id, unsigned transport_id, const void *pkt, pj_size_t size, const pj_sockaddr_t *dst_addr, unsigned dst_addr_len); -static void ice_rx_data(pj_ice_sess *ice, - unsigned comp_id, +static void ice_rx_data(pj_ice_sess *ice, + unsigned comp_id, unsigned transport_id, void *pkt, pj_size_t size, const pj_sockaddr_t *src_addr, @@ -110,7 +110,7 @@ static pj_bool_t stun_on_data_sent(pj_stun_sock *stun_sock, pj_ioqueue_op_key_t *send_key, pj_ssize_t sent); /* Notification when the status of the STUN transport has changed. */ -static pj_bool_t stun_on_status(pj_stun_sock *stun_sock, +static pj_bool_t stun_on_status(pj_stun_sock *stun_sock, pj_stun_sock_op op, pj_status_t status); @@ -136,7 +136,7 @@ static void sess_init_update(pj_ice_strans *ice_st); * This structure describes an ICE stream transport component. A component * in ICE stream transport typically corresponds to a single socket created * for this component, and bound to a specific transport address. This - * component may have multiple alias addresses, for example one alias + * component may have multiple alias addresses, for example one alias * address for each interfaces in multi-homed host, another for server * reflexive alias, and another for relayed alias. For each transport * address alias, an ICE stream transport candidate (#pj_ice_sess_cand) will @@ -296,6 +296,16 @@ static pj_status_t add_update_turn(pj_ice_strans *ice_st, sizeof(ice_st->cfg.turn.cfg.qos_params)); } + /* Override with component specific socket buffer size settings, if any */ + if (ice_st->cfg.comp[comp->comp_id-1].so_rcvbuf_size > 0) { + ice_st->cfg.turn.cfg.so_rcvbuf_size = + ice_st->cfg.comp[comp->comp_id-1].so_rcvbuf_size; + } + if (ice_st->cfg.comp[comp->comp_id-1].so_sndbuf_size > 0) { + ice_st->cfg.turn.cfg.so_sndbuf_size = + ice_st->cfg.comp[comp->comp_id-1].so_sndbuf_size; + } + /* Create the TURN transport */ status = pj_turn_sock_create(&ice_st->cfg.stun_cfg, ice_st->cfg.af, ice_st->cfg.turn.conn_type, @@ -371,10 +381,10 @@ static pj_status_t create_comp(pj_ice_strans *ice_st, unsigned comp_id) stun_sock_cb.on_rx_data = &stun_on_rx_data; stun_sock_cb.on_status = &stun_on_status; stun_sock_cb.on_data_sent = &stun_on_data_sent; - + /* Override component specific QoS settings, if any */ if (ice_st->cfg.comp[comp_id-1].qos_type) { - ice_st->cfg.stun.cfg.qos_type = + ice_st->cfg.stun.cfg.qos_type = ice_st->cfg.comp[comp_id-1].qos_type; } if (ice_st->cfg.comp[comp_id-1].qos_params.flags) { @@ -383,6 +393,16 @@ static pj_status_t create_comp(pj_ice_strans *ice_st, unsigned comp_id) sizeof(ice_st->cfg.stun.cfg.qos_params)); } + /* Override component specific socket buffer size settings, if any */ + if (ice_st->cfg.comp[comp_id-1].so_rcvbuf_size > 0) { + ice_st->cfg.stun.cfg.so_rcvbuf_size = + ice_st->cfg.comp[comp_id-1].so_rcvbuf_size; + } + if (ice_st->cfg.comp[comp_id-1].so_sndbuf_size > 0) { + ice_st->cfg.stun.cfg.so_sndbuf_size = + ice_st->cfg.comp[comp_id-1].so_sndbuf_size; + } + /* Create the STUN transport */ status = pj_stun_sock_create(&ice_st->cfg.stun_cfg, NULL, ice_st->cfg.af, &stun_sock_cb, @@ -391,8 +411,8 @@ static pj_status_t create_comp(pj_ice_strans *ice_st, unsigned comp_id) if (status != PJ_SUCCESS) return status; - /* Start STUN Binding resolution and add srflx candidate - * only if server is set + /* Start STUN Binding resolution and add srflx candidate + * only if server is set */ if (ice_st->cfg.stun.server.slen) { pj_stun_sock_info stun_sock_info; @@ -400,16 +420,16 @@ static pj_status_t create_comp(pj_ice_strans *ice_st, unsigned comp_id) /* Add pending job */ ///sess_add_ref(ice_st); - PJ_LOG(4,(ice_st->obj_name, + PJ_LOG(4,(ice_st->obj_name, "Comp %d: srflx candidate starts Binding discovery", comp_id)); pj_log_push_indent(); /* Start Binding resolution */ - status = pj_stun_sock_start(comp->stun_sock, + status = pj_stun_sock_start(comp->stun_sock, &ice_st->cfg.stun.server, - ice_st->cfg.stun.port, + ice_st->cfg.stun.port, ice_st->cfg.resolver); if (status != PJ_SUCCESS) { ///sess_dec_ref(ice_st); @@ -438,7 +458,7 @@ static pj_status_t create_comp(pj_ice_strans *ice_st, unsigned comp_id) cand->type, &cand->base_addr); /* Set default candidate to srflx */ - comp->default_cand = cand - comp->cand_list; + comp->default_cand = (unsigned)(cand - comp->cand_list); pj_log_pop_indent(); } @@ -455,8 +475,8 @@ static pj_status_t create_comp(pj_ice_strans *ice_st, unsigned comp_id) if (status != PJ_SUCCESS) return status; - for (i=0; i<stun_sock_info.alias_cnt && - i<ice_st->cfg.stun.max_host_cands; ++i) + for (i=0; i<stun_sock_info.alias_cnt && + i<ice_st->cfg.stun.max_host_cands; ++i) { char addrinfo[PJ_INET6_ADDRSTRLEN+10]; const pj_sockaddr *addr = &stun_sock_info.aliases[i]; @@ -467,8 +487,8 @@ static pj_status_t create_comp(pj_ice_strans *ice_st, unsigned comp_id) break; } - /* Ignore loopback addresses unless cfg->stun.loop_addr - * is set + /* Ignore loopback addresses unless cfg->stun.loop_addr + * is set */ if ((pj_ntohl(addr->ipv4.sin_addr.s_addr)>>24)==127) { if (ice_st->cfg.stun.loop_addr==PJ_FALSE) @@ -488,7 +508,7 @@ static pj_status_t create_comp(pj_ice_strans *ice_st, unsigned comp_id) pj_ice_calc_foundation(ice_st->pool, &cand->foundation, cand->type, &cand->base_addr); - PJ_LOG(4,(ice_st->obj_name, + PJ_LOG(4,(ice_st->obj_name, "Comp %d: host candidate %s added", comp_id, pj_sockaddr_print(&cand->addr, addrinfo, sizeof(addrinfo), 3))); @@ -512,8 +532,8 @@ static pj_status_t create_comp(pj_ice_strans *ice_st, unsigned comp_id) } -/* - * Create ICE stream transport +/* + * Create ICE stream transport */ PJ_DEF(pj_status_t) pj_ice_strans_create( const char *name, const pj_ice_strans_cfg *cfg, @@ -544,7 +564,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_create( const char *name, ice_st->obj_name = pool->obj_name; ice_st->user_data = user_data; - PJ_LOG(4,(ice_st->obj_name, + PJ_LOG(4,(ice_st->obj_name, "Creating ICE stream transport with %d component(s)", comp_cnt)); pj_log_push_indent(); @@ -566,13 +586,13 @@ PJ_DEF(pj_status_t) pj_ice_strans_create( const char *name, pj_memcpy(&ice_st->cb, cb, sizeof(*cb)); ice_st->comp_cnt = comp_cnt; - ice_st->comp = (pj_ice_strans_comp**) + ice_st->comp = (pj_ice_strans_comp**) pj_pool_calloc(pool, comp_cnt, sizeof(pj_ice_strans_comp*)); /* Move state to candidate gathering */ ice_st->state = PJ_ICE_STRANS_STATE_INIT; - /* Acquire initialization mutex to prevent callback to be + /* Acquire initialization mutex to prevent callback to be * called before we finish initialization. */ pj_grp_lock_acquire(ice_st->grp_lock); @@ -729,7 +749,7 @@ static void sess_init_update(pj_ice_strans *ice_st) ice_st->cb_called = PJ_TRUE; ice_st->state = PJ_ICE_STRANS_STATE_READY; if (ice_st->cb.on_ice_complete) - (*ice_st->cb.on_ice_complete)(ice_st, PJ_ICE_STRANS_OP_INIT, + (*ice_st->cb.on_ice_complete)(ice_st, PJ_ICE_STRANS_OP_INIT, PJ_SUCCESS); } @@ -765,7 +785,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_get_options( pj_ice_strans *ice_st, } /* - * Specify various options for this ICE stream transport. + * Specify various options for this ICE stream transport. */ PJ_DEF(pj_status_t) pj_ice_strans_set_options(pj_ice_strans *ice_st, const pj_ice_sess_options *opt) @@ -777,6 +797,15 @@ PJ_DEF(pj_status_t) pj_ice_strans_set_options(pj_ice_strans *ice_st, return PJ_SUCCESS; } +/** + * Get the group lock for this ICE stream transport. + */ +PJ_DEF(pj_grp_lock_t *) pj_ice_strans_get_grp_lock(pj_ice_strans *ice_st) +{ + PJ_ASSERT_RETURN(ice_st, NULL); + return ice_st->grp_lock; +} + /* * Create ICE! */ @@ -805,7 +834,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_init_ice(pj_ice_strans *ice_st, /* Create! */ status = pj_ice_sess_create(&ice_st->cfg.stun_cfg, ice_st->obj_name, role, - ice_st->comp_cnt, &ice_cb, + ice_st->comp_cnt, &ice_cb, local_ufrag, local_passwd, ice_st->grp_lock, &ice_st->ice); @@ -823,7 +852,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_init_ice(pj_ice_strans *ice_st, * checked first. */ if (ice_st->comp[0]->default_cand >= 0 && - ice_st->comp[0]->cand_list[ice_st->comp[0]->default_cand].type + ice_st->comp[0]->cand_list[ice_st->comp[0]->default_cand].type == PJ_ICE_CAND_TYPE_SRFLX) { pj_ice_sess_set_prefs(ice_st->ice, srflx_pref_table); @@ -836,7 +865,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_init_ice(pj_ice_strans *ice_st, /* Re-enable logging for Send/Data indications */ if (comp->turn_sock) { - PJ_LOG(5,(ice_st->obj_name, + PJ_LOG(5,(ice_st->obj_name, "Disabling STUN Indication logging for " "component %d", i+1)); pj_turn_sock_set_log(comp->turn_sock, 0xFFFF); @@ -849,7 +878,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_init_ice(pj_ice_strans *ice_st, /* Skip if candidate is not ready */ if (cand->status != PJ_SUCCESS) { - PJ_LOG(5,(ice_st->obj_name, + PJ_LOG(5,(ice_st->obj_name, "Candidate %d of comp %d is not added (pending)", j, i)); continue; @@ -859,10 +888,10 @@ PJ_DEF(pj_status_t) pj_ice_strans_init_ice(pj_ice_strans *ice_st, pj_assert(pj_sockaddr_has_addr(&cand->addr)); /* Add the candidate */ - status = pj_ice_sess_add_cand(ice_st->ice, comp->comp_id, - cand->transport_id, cand->type, - cand->local_pref, - &cand->foundation, &cand->addr, + status = pj_ice_sess_add_cand(ice_st->ice, comp->comp_id, + cand->transport_id, cand->type, + cand->local_pref, + &cand->foundation, &cand->addr, &cand->base_addr, &cand->rel_addr, pj_sockaddr_get_len(&cand->addr), (unsigned*)&ice_cand_id); @@ -882,7 +911,7 @@ on_error: } /* - * Check if the ICE stream transport has the ICE session created. + * Check if the ICE stream transport has the ICE session created. */ PJ_DEF(pj_bool_t) pj_ice_strans_has_sess(pj_ice_strans *ice_st) { @@ -955,7 +984,7 @@ PJ_DEF(unsigned) pj_ice_strans_get_cands_count(pj_ice_strans *ice_st, { unsigned i, cnt; - PJ_ASSERT_RETURN(ice_st && ice_st->ice && comp_id && + PJ_ASSERT_RETURN(ice_st && ice_st->ice && comp_id && comp_id <= ice_st->comp_cnt, 0); cnt = 0; @@ -978,7 +1007,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_enum_cands(pj_ice_strans *ice_st, { unsigned i, cnt; - PJ_ASSERT_RETURN(ice_st && ice_st->ice && comp_id && + PJ_ASSERT_RETURN(ice_st && ice_st->ice && comp_id && comp_id <= ice_st->comp_cnt && count && cand, PJ_EINVAL); cnt = 0; @@ -1012,7 +1041,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_get_def_cand( pj_ice_strans *ice_st, } else { pj_ice_strans_comp *comp = ice_st->comp[comp_id - 1]; pj_assert(comp->default_cand>=0 && comp->default_cand<comp->cand_cnt); - pj_memcpy(cand, &comp->cand_list[comp->default_cand], + pj_memcpy(cand, &comp->cand_list[comp->default_cand], sizeof(pj_ice_sess_cand)); } return PJ_SUCCESS; @@ -1078,7 +1107,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_start_ice( pj_ice_strans *ice_st, } if (count) { - status = pj_turn_sock_set_perm(comp->turn_sock, count, + status = pj_turn_sock_set_perm(comp->turn_sock, count, addrs, 0); if (status != PJ_SUCCESS) { pj_ice_strans_stop_ice(ice_st); @@ -1102,16 +1131,16 @@ PJ_DEF(pj_status_t) pj_ice_strans_start_ice( pj_ice_strans *ice_st, /* * Get valid pair. */ -PJ_DEF(const pj_ice_sess_check*) +PJ_DEF(const pj_ice_sess_check*) pj_ice_strans_get_valid_pair(const pj_ice_strans *ice_st, unsigned comp_id) { PJ_ASSERT_RETURN(ice_st && comp_id && comp_id <= ice_st->comp_cnt, NULL); - + if (ice_st->ice == NULL) return NULL; - + return ice_st->ice->comp[comp_id-1].valid_check; } @@ -1141,7 +1170,6 @@ PJ_DEF(pj_status_t) pj_ice_strans_sendto( pj_ice_strans *ice_st, const pj_sockaddr_t *dst_addr, int dst_addr_len) { - pj_ssize_t pkt_size; pj_ice_strans_comp *comp; unsigned def_cand; pj_status_t status; @@ -1162,7 +1190,7 @@ PJ_DEF(pj_status_t) pj_ice_strans_sendto( pj_ice_strans *ice_st, * https://trac.pjsip.org/repos/ticket/1416: * Once ICE has failed, also send data with the default candidate. */ - if (ice_st->ice && ice_st->state < PJ_ICE_STRANS_STATE_FAILED) { + if (ice_st->ice && ice_st->state == PJ_ICE_STRANS_STATE_RUNNING) { if (comp->turn_sock) { pj_turn_sock_lock(comp->turn_sock); } @@ -1190,22 +1218,24 @@ PJ_DEF(pj_status_t) pj_ice_strans_sendto( pj_ice_strans *ice_st, if (!comp->turn_log_off) { /* Disable logging for Send/Data indications */ - PJ_LOG(5,(ice_st->obj_name, + PJ_LOG(5,(ice_st->obj_name, "Disabling STUN Indication logging for " "component %d", comp->comp_id)); pj_turn_sock_set_log(comp->turn_sock, msg_disable_ind); comp->turn_log_off = PJ_TRUE; } - status = pj_turn_sock_sendto(comp->turn_sock, (const pj_uint8_t*)data, data_len, + status = pj_turn_sock_sendto(comp->turn_sock, + (const pj_uint8_t*)data, + (unsigned)data_len, dst_addr, dst_addr_len); - return (status==PJ_SUCCESS||status==PJ_EPENDING) ? + return (status==PJ_SUCCESS||status==PJ_EPENDING) ? PJ_SUCCESS : status; } else { - pkt_size = data_len; - status = pj_stun_sock_sendto(comp->stun_sock, NULL, data, - data_len, 0, dst_addr, dst_addr_len); - return (status==PJ_SUCCESS||status==PJ_EPENDING) ? + status = pj_stun_sock_sendto(comp->stun_sock, NULL, data, + (unsigned)data_len, 0, dst_addr, + dst_addr_len); + return (status==PJ_SUCCESS||status==PJ_EPENDING) ? PJ_SUCCESS : status; } @@ -1233,8 +1263,8 @@ static void on_ice_complete(pj_ice_sess *ice, pj_status_t status) if (status != PJ_SUCCESS) { char errmsg[PJ_ERR_MSG_SIZE]; pj_strerror(status, errmsg, sizeof(errmsg)); - PJ_LOG(4,(ice_st->obj_name, - "ICE negotiation failed after %ds:%03d: %s", + PJ_LOG(4,(ice_st->obj_name, + "ICE negotiation failed after %ds:%03d: %s", msec/1000, msec%1000, errmsg)); } else { unsigned i; @@ -1244,7 +1274,7 @@ static void on_ice_complete(pj_ice_sess *ice, pj_status_t status) PJ_STUN_SESS_LOG_RX_IND) }; - PJ_LOG(4,(ice_st->obj_name, + PJ_LOG(4,(ice_st->obj_name, "ICE negotiation success after %ds:%03d", msec/1000, msec%1000)); @@ -1256,9 +1286,9 @@ static void on_ice_complete(pj_ice_sess *ice, pj_status_t status) char lip[PJ_INET6_ADDRSTRLEN+10]; char rip[PJ_INET6_ADDRSTRLEN+10]; - pj_sockaddr_print(&check->lcand->addr, lip, + pj_sockaddr_print(&check->lcand->addr, lip, sizeof(lip), 3); - pj_sockaddr_print(&check->rcand->addr, rip, + pj_sockaddr_print(&check->rcand->addr, rip, sizeof(rip), 3); if (check->lcand->transport_id == TP_TURN) { @@ -1271,7 +1301,7 @@ static void on_ice_complete(pj_ice_sess *ice, pj_status_t status) sizeof(check->rcand->addr)); /* Disable logging for Send/Data indications */ - PJ_LOG(5,(ice_st->obj_name, + PJ_LOG(5,(ice_st->obj_name, "Disabling STUN Indication logging for " "component %d", i+1)); pj_turn_sock_set_log(ice_st->comp[i]->turn_sock, @@ -1282,14 +1312,14 @@ static void on_ice_complete(pj_ice_sess *ice, pj_status_t status) PJ_LOG(4,(ice_st->obj_name, " Comp %d: " "sending from %s candidate %s to " "%s candidate %s", - i+1, + i+1, pj_ice_get_cand_type_name(check->lcand->type), lip, pj_ice_get_cand_type_name(check->rcand->type), rip)); - + } else { - PJ_LOG(4,(ice_st->obj_name, + PJ_LOG(4,(ice_st->obj_name, "Comp %d: disabled", i+1)); } } @@ -1299,10 +1329,10 @@ static void on_ice_complete(pj_ice_sess *ice, pj_status_t status) PJ_ICE_STRANS_STATE_FAILED; pj_log_push_indent(); - (*ice_st->cb.on_ice_complete)(ice_st, PJ_ICE_STRANS_OP_NEGOTIATION, + (*ice_st->cb.on_ice_complete)(ice_st, PJ_ICE_STRANS_OP_NEGOTIATION, status); pj_log_pop_indent(); - + } pj_grp_lock_dec_ref(ice_st->grp_lock); @@ -1311,8 +1341,8 @@ static void on_ice_complete(pj_ice_sess *ice, pj_status_t status) /* * Callback called by ICE session when it wants to send outgoing packet. */ -static pj_status_t ice_tx_pkt(pj_ice_sess *ice, - unsigned comp_id, +static pj_status_t ice_tx_pkt(pj_ice_sess *ice, + unsigned comp_id, unsigned transport_id, const void *pkt, pj_size_t size, const pj_sockaddr_t *dst_addr, @@ -1329,38 +1359,39 @@ static pj_status_t ice_tx_pkt(pj_ice_sess *ice, comp = ice_st->comp[comp_id-1]; - TRACE_PKT((comp->ice_st->obj_name, + TRACE_PKT((comp->ice_st->obj_name, "Component %d TX packet to %s:%d with transport %d", - comp_id, + comp_id, pj_sockaddr_print(dst_addr, daddr, sizeof(addr), 0), pj_sockaddr_get_port(dst_addr), transport_id)); if (transport_id == TP_TURN) { if (comp->turn_sock) { - status = pj_turn_sock_sendto(comp->turn_sock, - (const pj_uint8_t*)pkt, size, + status = pj_turn_sock_sendto(comp->turn_sock, + (const pj_uint8_t*)pkt, + (unsigned)size, dst_addr, dst_addr_len); } else { status = PJ_EINVALIDOP; } } else if (transport_id == TP_STUN) { - status = pj_stun_sock_sendto(comp->stun_sock, NULL, - pkt, size, 0, + status = pj_stun_sock_sendto(comp->stun_sock, NULL, + pkt, (unsigned)size, 0, dst_addr, dst_addr_len); } else { pj_assert(!"Invalid transport ID"); status = PJ_EINVALIDOP; } - + return (status==PJ_SUCCESS||status==PJ_EPENDING) ? PJ_SUCCESS : status; } /* * Callback called by ICE session when it receives application data. */ -static void ice_rx_data(pj_ice_sess *ice, - unsigned comp_id, +static void ice_rx_data(pj_ice_sess *ice, + unsigned comp_id, unsigned transport_id, void *pkt, pj_size_t size, const pj_sockaddr_t *src_addr, @@ -1371,13 +1402,13 @@ static void ice_rx_data(pj_ice_sess *ice, PJ_UNUSED_ARG(transport_id); if (ice_st->cb.on_rx_data) { - (*ice_st->cb.on_rx_data)(ice_st, comp_id, pkt, size, + (*ice_st->cb.on_rx_data)(ice_st, comp_id, pkt, size, src_addr, src_addr_len); } } /* Notification when incoming packet has been received from - * the STUN socket. + * the STUN socket. */ static pj_bool_t stun_on_rx_data(pj_stun_sock *stun_sock, void *pkt, @@ -1405,19 +1436,19 @@ static pj_bool_t stun_on_rx_data(pj_stun_sock *stun_sock, * report this to application. */ if (ice_st->cb.on_rx_data) { - (*ice_st->cb.on_rx_data)(ice_st, comp->comp_id, pkt, pkt_len, + (*ice_st->cb.on_rx_data)(ice_st, comp->comp_id, pkt, pkt_len, src_addr, addr_len); } } else { /* Hand over the packet to ICE session */ - status = pj_ice_sess_on_rx_pkt(comp->ice_st->ice, comp->comp_id, + status = pj_ice_sess_on_rx_pkt(comp->ice_st->ice, comp->comp_id, TP_STUN, pkt, pkt_len, src_addr, addr_len); if (status != PJ_SUCCESS) { - ice_st_perror(comp->ice_st, "Error processing packet", + ice_st_perror(comp->ice_st, "Error processing packet", status); } } @@ -1426,7 +1457,7 @@ static pj_bool_t stun_on_rx_data(pj_stun_sock *stun_sock, } /* Notifification when asynchronous send operation to the STUN socket - * has completed. + * has completed. */ static pj_bool_t stun_on_data_sent(pj_stun_sock *stun_sock, pj_ioqueue_op_key_t *send_key, @@ -1439,7 +1470,7 @@ static pj_bool_t stun_on_data_sent(pj_stun_sock *stun_sock, } /* Notification when the status of the STUN transport has changed. */ -static pj_bool_t stun_on_status(pj_stun_sock *stun_sock, +static pj_bool_t stun_on_status(pj_stun_sock *stun_sock, pj_stun_sock_op op, pj_status_t status) { @@ -1520,7 +1551,7 @@ static pj_bool_t stun_on_status(pj_stun_sock *stun_sock, if (dup) { /* Duplicate found, remove the srflx candidate */ - unsigned idx = cand - comp->cand_list; + unsigned idx = (unsigned)(cand - comp->cand_list); /* Update default candidate index */ if (comp->default_cand > idx) { @@ -1539,11 +1570,11 @@ static pj_bool_t stun_on_status(pj_stun_sock *stun_sock, cand->status = PJ_SUCCESS; } - PJ_LOG(4,(comp->ice_st->obj_name, + PJ_LOG(4,(comp->ice_st->obj_name, "Comp %d: %s, " "srflx address is %s", - comp->comp_id, op_name, - pj_sockaddr_print(&info.mapped_addr, ipaddr, + comp->comp_id, op_name, + pj_sockaddr_print(&info.mapped_addr, ipaddr, sizeof(ipaddr), 3))); sess_init_update(ice_st); @@ -1563,7 +1594,7 @@ static pj_bool_t stun_on_status(pj_stun_sock *stun_sock, comp->comp_id)); if (cand) { - unsigned idx = cand - comp->cand_list; + unsigned idx = (unsigned)(cand - comp->cand_list); /* Update default candidate index */ if (comp->default_cand == idx) { @@ -1629,8 +1660,8 @@ static void turn_on_rx_data(pj_turn_sock *turn_sock, peer_addr, addr_len); if (status != PJ_SUCCESS) { - ice_st_perror(comp->ice_st, - "Error processing packet from TURN relay", + ice_st_perror(comp->ice_st, + "Error processing packet from TURN relay", status); } } @@ -1688,18 +1719,18 @@ static void turn_on_state(pj_turn_sock *turn_sock, pj_turn_state_t old_state, pj_sockaddr_cp(&cand->addr, &rel_info.relay_addr); pj_sockaddr_cp(&cand->base_addr, &rel_info.relay_addr); pj_sockaddr_cp(&cand->rel_addr, &rel_info.mapped_addr); - pj_ice_calc_foundation(comp->ice_st->pool, &cand->foundation, - PJ_ICE_CAND_TYPE_RELAYED, + pj_ice_calc_foundation(comp->ice_st->pool, &cand->foundation, + PJ_ICE_CAND_TYPE_RELAYED, &rel_info.relay_addr); cand->status = PJ_SUCCESS; /* Set default candidate to relay */ - comp->default_cand = cand - comp->cand_list; + comp->default_cand = (unsigned)(cand - comp->cand_list); - PJ_LOG(4,(comp->ice_st->obj_name, + PJ_LOG(4,(comp->ice_st->obj_name, "Comp %d: TURN allocation complete, relay address is %s", - comp->comp_id, - pj_sockaddr_print(&rel_info.relay_addr, ipaddr, + comp->comp_id, + pj_sockaddr_print(&rel_info.relay_addr, ipaddr, sizeof(ipaddr), 3))); sess_init_update(comp->ice_st); diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/nat_detect.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/nat_detect.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/nat_detect.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/nat_detect.c index 0eaf9bfec8e93af5ee25a3eb6fcc6f45c30e598d..7388ce4ec83ff51eee685eb8ab5f67fdd30a34dc 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/nat_detect.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/nat_detect.c @@ -1,4 +1,4 @@ -/* $Id: nat_detect.c 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: nat_detect.c 4573 2013-07-24 08:06:59Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -75,7 +75,7 @@ enum timer_type typedef struct nat_detect_session { pj_pool_t *pool; - pj_mutex_t *mutex; + pj_grp_lock_t *grp_lock; pj_timer_heap_t *timer_heap; pj_timer_entry timer; @@ -133,7 +133,7 @@ static pj_status_t send_test(nat_detect_session *sess, static void on_sess_timer(pj_timer_heap_t *th, pj_timer_entry *te); static void sess_destroy(nat_detect_session *sess); - +static void sess_on_destroy(void *member); /* * Get the NAT name from the specified NAT type. @@ -233,10 +233,16 @@ PJ_DEF(pj_status_t) pj_stun_detect_nat_type(const pj_sockaddr_in *server, sess->user_data = user_data; sess->cb = cb; - status = pj_mutex_create_recursive(pool, pool->obj_name, &sess->mutex); - if (status != PJ_SUCCESS) - goto on_error; - + status = pj_grp_lock_create(pool, NULL, &sess->grp_lock); + if (status != PJ_SUCCESS) { + /* Group lock not created yet, just destroy pool and return */ + pj_pool_release(pool); + return status; + } + + pj_grp_lock_add_ref(sess->grp_lock); + pj_grp_lock_add_handler(sess->grp_lock, pool, sess, &sess_on_destroy); + pj_memcpy(&sess->server, server, sizeof(pj_sockaddr_in)); /* @@ -294,9 +300,9 @@ PJ_DEF(pj_status_t) pj_stun_detect_nat_type(const pj_sockaddr_in *server, pj_bzero(&ioqueue_cb, sizeof(ioqueue_cb)); ioqueue_cb.on_read_complete = &on_read_complete; - status = pj_ioqueue_register_sock(sess->pool, stun_cfg->ioqueue, - sess->sock, sess, &ioqueue_cb, - &sess->key); + status = pj_ioqueue_register_sock2(sess->pool, stun_cfg->ioqueue, + sess->sock, sess->grp_lock, sess, + &ioqueue_cb, &sess->key); if (status != PJ_SUCCESS) goto on_error; @@ -307,7 +313,7 @@ PJ_DEF(pj_status_t) pj_stun_detect_nat_type(const pj_sockaddr_in *server, sess_cb.on_request_complete = &on_request_complete; sess_cb.on_send_msg = &on_send_msg; status = pj_stun_session_create(stun_cfg, pool->obj_name, &sess_cb, - PJ_FALSE, NULL, &sess->stun_sess); + PJ_FALSE, sess->grp_lock, &sess->stun_sess); if (status != PJ_SUCCESS) goto on_error; @@ -338,24 +344,31 @@ static void sess_destroy(nat_detect_session *sess) { if (sess->stun_sess) { pj_stun_session_destroy(sess->stun_sess); + sess->stun_sess = NULL; } if (sess->key) { pj_ioqueue_unregister(sess->key); + sess->key = NULL; + sess->sock = PJ_INVALID_SOCKET; } else if (sess->sock && sess->sock != PJ_INVALID_SOCKET) { pj_sock_close(sess->sock); + sess->sock = PJ_INVALID_SOCKET; } - if (sess->mutex) { - pj_mutex_destroy(sess->mutex); + if (sess->grp_lock) { + pj_grp_lock_dec_ref(sess->grp_lock); } +} +static void sess_on_destroy(void *member) +{ + nat_detect_session *sess = (nat_detect_session*)member; if (sess->pool) { pj_pool_release(sess->pool); } } - static void end_session(nat_detect_session *sess, pj_status_t status, pj_stun_nat_type nat_type) @@ -402,7 +415,11 @@ static void on_read_complete(pj_ioqueue_key_t *key, sess = (nat_detect_session *) pj_ioqueue_get_user_data(key); pj_assert(sess != NULL); - pj_mutex_lock(sess->mutex); + pj_grp_lock_acquire(sess->grp_lock); + + /* Ignore packet when STUN session has been destroyed */ + if (!sess->stun_sess) + goto on_return; if (bytes_read < 0) { if (-bytes_read != PJ_STATUS_FROM_OS(OSERR_EWOULDBLOCK) && @@ -410,7 +427,8 @@ static void on_read_complete(pj_ioqueue_key_t *key, -bytes_read != PJ_STATUS_FROM_OS(OSERR_ECONNRESET)) { /* Permanent error */ - end_session(sess, -bytes_read, PJ_STUN_NAT_TYPE_ERR_UNKNOWN); + end_session(sess, (pj_status_t)-bytes_read, + PJ_STUN_NAT_TYPE_ERR_UNKNOWN); goto on_return; } @@ -434,7 +452,7 @@ static void on_read_complete(pj_ioqueue_key_t *key, } on_return: - pj_mutex_unlock(sess->mutex); + pj_grp_lock_release(sess->grp_lock); } @@ -489,7 +507,7 @@ static void on_request_complete(pj_stun_session *stun_sess, sess = (nat_detect_session*) pj_stun_session_get_user_data(stun_sess); - pj_mutex_lock(sess->mutex); + pj_grp_lock_acquire(sess->grp_lock); /* Find errors in the response */ if (status == PJ_SUCCESS) { @@ -785,7 +803,7 @@ static void on_request_complete(pj_stun_session *stun_sess, } on_return: - pj_mutex_unlock(sess->mutex); + pj_grp_lock_release(sess->grp_lock); } @@ -864,12 +882,12 @@ static void on_sess_timer(pj_timer_heap_t *th, sess = (nat_detect_session*) te->user_data; if (te->id == TIMER_DESTROY) { - pj_mutex_lock(sess->mutex); + pj_grp_lock_acquire(sess->grp_lock); pj_ioqueue_unregister(sess->key); sess->key = NULL; sess->sock = PJ_INVALID_SOCKET; te->id = 0; - pj_mutex_unlock(sess->mutex); + pj_grp_lock_release(sess->grp_lock); sess_destroy(sess); @@ -877,7 +895,7 @@ static void on_sess_timer(pj_timer_heap_t *th, pj_bool_t next_timer; - pj_mutex_lock(sess->mutex); + pj_grp_lock_acquire(sess->grp_lock); next_timer = PJ_FALSE; @@ -902,7 +920,7 @@ static void on_sess_timer(pj_timer_heap_t *th, te->id = 0; } - pj_mutex_unlock(sess->mutex); + pj_grp_lock_release(sess->grp_lock); } else { pj_assert(!"Invalid timer ID"); diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_auth.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_auth.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_auth.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_auth.c index 9041186bfe7a832bbc654495e01ccffcff961b7d..d89c414c18b445fd1a4f3ed18fa7fff00f6384cc 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_auth.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_auth.c @@ -1,4 +1,4 @@ -/* $Id: stun_auth.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: stun_auth.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -98,7 +98,7 @@ static void calc_md5_key(pj_uint8_t digest[16], /* Add username */ s = *username; REMOVE_QUOTE(s); - pj_md5_update(&ctx, (pj_uint8_t*)s.ptr, s.slen); + pj_md5_update(&ctx, (pj_uint8_t*)s.ptr, (unsigned)s.slen); /* Add single colon */ pj_md5_update(&ctx, (pj_uint8_t*)":", 1); @@ -106,7 +106,7 @@ static void calc_md5_key(pj_uint8_t digest[16], /* Add realm */ s = *realm; REMOVE_QUOTE(s); - pj_md5_update(&ctx, (pj_uint8_t*)s.ptr, s.slen); + pj_md5_update(&ctx, (pj_uint8_t*)s.ptr, (unsigned)s.slen); #undef REMOVE_QUOTE @@ -114,7 +114,7 @@ static void calc_md5_key(pj_uint8_t digest[16], pj_md5_update(&ctx, (pj_uint8_t*)":", 1); /* Add password */ - pj_md5_update(&ctx, (pj_uint8_t*)passwd->ptr, passwd->slen); + pj_md5_update(&ctx, (pj_uint8_t*)passwd->ptr, (unsigned)passwd->slen); /* Done */ pj_md5_final(&ctx, digest); @@ -443,7 +443,7 @@ PJ_DEF(pj_status_t) pj_stun_authenticate_request(const pj_uint8_t *pkt, /* Now calculate HMAC of the message. */ pj_hmac_sha1_init(&ctx, (pj_uint8_t*)p_info->auth_key.ptr, - p_info->auth_key.slen); + (unsigned)p_info->auth_key.slen); #if PJ_STUN_OLD_STYLE_MI_FINGERPRINT /* Pre rfc3489bis-06 style of calculation */ @@ -587,7 +587,7 @@ PJ_DEF(pj_status_t) pj_stun_authenticate_response(const pj_uint8_t *pkt, } /* Now calculate HMAC of the message. */ - pj_hmac_sha1_init(&ctx, (pj_uint8_t*)key->ptr, key->slen); + pj_hmac_sha1_init(&ctx, (pj_uint8_t*)key->ptr, (unsigned)key->slen); #if PJ_STUN_OLD_STYLE_MI_FINGERPRINT /* Pre rfc3489bis-06 style of calculation */ diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_msg.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_msg.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_msg.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_msg.c index b29570584a31b7fca526b940d086454dd8f3e65f..a0d2296ce7675db184628523d943285bd5808f95 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_msg.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_msg.c @@ -1,4 +1,4 @@ -/* $Id: stun_msg.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: stun_msg.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -1111,7 +1111,7 @@ static pj_status_t encode_sockaddr_attr(const void *a, pj_uint8_t *buf, } /* Done */ - *printed = buf - start_buf; + *printed = (unsigned)(buf - start_buf); return PJ_SUCCESS; } @@ -1137,11 +1137,11 @@ PJ_DEF(pj_status_t) pj_stun_string_attr_init( pj_stun_string_attr *attr, int attr_type, const pj_str_t *value) { - INIT_ATTR(attr, attr_type, value->slen); - if (value && value->slen) + INIT_ATTR(attr, attr_type, 0); + if (value && value->slen) { + attr->value.slen = value->slen; pj_strdup(pool, &attr->value, value); - else - attr->value.slen = 0; + } return PJ_SUCCESS; } @@ -1227,7 +1227,7 @@ static pj_status_t encode_string_attr(const void *a, pj_uint8_t *buf, PJ_UNUSED_ARG(msghdr); /* Calculated total attr_len (add padding if necessary) */ - *printed = (ca->value.slen + ATTR_HDR_LEN + 3) & (~3); + *printed = ((unsigned)ca->value.slen + ATTR_HDR_LEN + 3) & (~3); if (len < *printed) { *printed = 0; return PJ_ETOOSMALL; @@ -1795,7 +1795,7 @@ static pj_status_t encode_errcode_attr(const void *a, pj_uint8_t *buf, pj_memcpy(buf + ATTR_HDR_LEN + 4, ca->reason.ptr, ca->reason.slen); /* Done */ - *printed = (ATTR_HDR_LEN + 4 + ca->reason.slen + 3) & (~3); + *printed = (ATTR_HDR_LEN + 4 + (unsigned)ca->reason.slen + 3) & (~3); return PJ_SUCCESS; } @@ -2190,7 +2190,7 @@ PJ_DEF(pj_status_t) pj_stun_msg_add_attr(pj_stun_msg *msg, PJ_DEF(pj_status_t) pj_stun_msg_check(const pj_uint8_t *pdu, pj_size_t pdu_len, unsigned options) { - pj_size_t msg_len; + pj_uint32_t msg_len; PJ_ASSERT_RETURN(pdu, PJ_EINVAL); @@ -2300,7 +2300,6 @@ PJ_DEF(pj_status_t) pj_stun_msg_decode(pj_pool_t *pool, { pj_stun_msg *msg; - unsigned uattr_cnt; const pj_uint8_t *start_pdu = pdu; pj_bool_t has_msg_int = PJ_FALSE; pj_bool_t has_fingerprint = PJ_FALSE; @@ -2339,7 +2338,6 @@ PJ_DEF(pj_status_t) pj_stun_msg_decode(pj_pool_t *pool, p_response = NULL; /* Parse attributes */ - uattr_cnt = 0; while (pdu_len >= 4) { unsigned attr_type, attr_val_len; const struct attr_desc *adesc; @@ -2451,7 +2449,8 @@ PJ_DEF(pj_status_t) pj_stun_msg_decode(pj_pool_t *pool, "%s in %s", err_msg1, pj_stun_get_attr_name(attr_type)); - + if (e.slen < 1 || e.slen >= (int)sizeof(err_msg2)) + e.slen = sizeof(err_msg2) - 1; pj_stun_msg_create_response(pool, msg, PJ_STUN_SC_BAD_REQUEST, &e, p_response); @@ -2626,15 +2625,15 @@ PJ_DEF(pj_status_t) pj_stun_msg_encode(pj_stun_msg *msg, adesc = find_attr_desc(attr_hdr->type); if (adesc) { - status = adesc->encode_attr(attr_hdr, buf, buf_size, &msg->hdr, - &printed); + status = adesc->encode_attr(attr_hdr, buf, (unsigned)buf_size, + &msg->hdr, &printed); } else { /* This may be a generic attribute */ const pj_stun_binary_attr *bin_attr = (const pj_stun_binary_attr*) attr_hdr; PJ_ASSERT_RETURN(bin_attr->magic == PJ_STUN_MAGIC, PJ_EBUG); - status = encode_binary_attr(bin_attr, buf, buf_size, &msg->hdr, - &printed); + status = encode_binary_attr(bin_attr, buf, (unsigned)buf_size, + &msg->hdr, &printed); } if (status != PJ_SUCCESS) @@ -2725,8 +2724,10 @@ PJ_DEF(pj_status_t) pj_stun_msg_encode(pj_stun_msg *msg, /* Calculate HMAC-SHA1 digest, add zero padding to input * if necessary to make the input 64 bytes aligned. */ - pj_hmac_sha1_init(&ctx, (const pj_uint8_t*)key->ptr, key->slen); - pj_hmac_sha1_update(&ctx, (const pj_uint8_t*)start, buf-start); + pj_hmac_sha1_init(&ctx, (const pj_uint8_t*)key->ptr, + (unsigned)key->slen); + pj_hmac_sha1_update(&ctx, (const pj_uint8_t*)start, + (unsigned)(buf-start)); #if PJ_STUN_OLD_STYLE_MI_FINGERPRINT // These are obsoleted in rfc3489bis-08 if ((buf-start) & 0x3F) { @@ -2738,7 +2739,7 @@ PJ_DEF(pj_status_t) pj_stun_msg_encode(pj_stun_msg *msg, pj_hmac_sha1_final(&ctx, amsgint->hmac); /* Put this attribute in the message */ - status = encode_msgint_attr(amsgint, buf, buf_size, + status = encode_msgint_attr(amsgint, buf, (unsigned)buf_size, &msg->hdr, &printed); if (status != PJ_SUCCESS) return status; @@ -2760,7 +2761,7 @@ PJ_DEF(pj_status_t) pj_stun_msg_encode(pj_stun_msg *msg, afingerprint->value ^= STUN_XOR_FINGERPRINT; /* Put this attribute in the message */ - status = encode_uint_attr(afingerprint, buf, buf_size, + status = encode_uint_attr(afingerprint, buf, (unsigned)buf_size, &msg->hdr, &printed); if (status != PJ_SUCCESS) return status; diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_msg_dump.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_msg_dump.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_msg_dump.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_msg_dump.c index c7488c93440ff7f7523ea52428c337fcc8642911..13f5d9528523f7b5bbcce57b71395a8a8bcaef0c 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_msg_dump.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_msg_dump.c @@ -1,4 +1,4 @@ -/* $Id: stun_msg_dump.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: stun_msg_dump.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -199,7 +199,7 @@ static int print_attr(char *buffer, unsigned length, const pj_stun_msgint_attr *attr; attr = (const pj_stun_msgint_attr*) ahdr; - len = print_binary(p, end-p, attr->hmac, 20); + len = print_binary(p, (unsigned)(end-p), attr->hmac, 20); APPLY(); } break; @@ -209,7 +209,7 @@ static int print_attr(char *buffer, unsigned length, const pj_stun_binary_attr *attr; attr = (const pj_stun_binary_attr*) ahdr; - len = print_binary(p, end-p, attr->data, attr->length); + len = print_binary(p, (unsigned)(end-p), attr->data, attr->length); APPLY(); } break; @@ -226,7 +226,7 @@ static int print_attr(char *buffer, unsigned length, for (i=0; i<8; ++i) data[i] = ((const pj_uint8_t*)&attr->value)[7-i]; - len = print_binary(p, end-p, data, 8); + len = print_binary(p, (unsigned)(end-p), data, 8); APPLY(); } break; @@ -238,7 +238,7 @@ static int print_attr(char *buffer, unsigned length, break; } - return (p-buffer); + return (int)(p-buffer); on_return: return len; @@ -280,14 +280,14 @@ PJ_DEF(char*) pj_stun_msg_dump(const pj_stun_msg *msg, APPLY(); for (i=0; i<msg->attr_count; ++i) { - len = print_attr(p, end-p, msg->attr[i]); + len = print_attr(p, (unsigned)(end-p), msg->attr[i]); APPLY(); } on_return: *p = '\0'; if (printed_len) - *printed_len = (p-buffer); + *printed_len = (unsigned)(p-buffer); return buffer; #undef APPLY diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_session.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_session.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_session.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_session.c index 4018b9380e7e72e6fd41746dea319c638aceed7b..7d5096c262679cef9dcb599b987403443addd30c 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_session.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_session.c @@ -1,4 +1,4 @@ -/* $Id: stun_session.c 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: stun_session.c 4606 2013-10-01 05:00:57Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -621,6 +621,12 @@ PJ_DEF(void*) pj_stun_session_get_user_data(pj_stun_session *sess) return sess->user_data; } +PJ_DEF(pj_grp_lock_t *) pj_stun_session_get_grp_lock(pj_stun_session *sess) +{ + PJ_ASSERT_RETURN(sess, NULL); + return sess->grp_lock; +} + PJ_DEF(pj_status_t) pj_stun_session_set_software_name(pj_stun_session *sess, const pj_str_t *sw) { @@ -953,7 +959,7 @@ PJ_DEF(pj_status_t) pj_stun_session_send_msg( pj_stun_session *sess, } /* Dump packet */ - dump_tx_msg(sess, tdata->msg, tdata->pkt_size, server); + dump_tx_msg(sess, tdata->msg, (unsigned)tdata->pkt_size, server); /* If this is a STUN request message, then send the request with * a new STUN client transaction. @@ -973,7 +979,8 @@ PJ_DEF(pj_status_t) pj_stun_session_send_msg( pj_stun_session *sess, /* Send the request! */ status = pj_stun_client_tsx_send_msg(tdata->client_tsx, retransmit, - tdata->pkt, tdata->pkt_size); + tdata->pkt, + (unsigned)tdata->pkt_size); if (status != PJ_SUCCESS && status != PJ_EPENDING) { pj_stun_msg_destroy_tdata(sess, tdata); LOG_ERR_(sess, "Error sending STUN request", status); @@ -1165,10 +1172,10 @@ static pj_status_t send_response(pj_stun_session *sess, void *token, } /* Print log */ - dump_tx_msg(sess, response, out_len, addr); + dump_tx_msg(sess, response, (unsigned)out_len, addr); /* Send packet */ - status = sess->cb.on_send_msg(sess, token, out_pkt, out_len, + status = sess->cb.on_send_msg(sess, token, out_pkt, (unsigned)out_len, addr, addr_len); return status; @@ -1442,7 +1449,7 @@ PJ_DEF(pj_status_t) pj_stun_session_on_rx_pkt(pj_stun_session *sess, goto on_return; } - dump_rx_msg(sess, msg, pkt_size, src_addr); + dump_rx_msg(sess, msg, (unsigned)pkt_size, src_addr); /* For requests, check if we have cached response */ status = check_cached_response(sess, sess->rx_pool, msg, @@ -1456,20 +1463,23 @@ PJ_DEF(pj_status_t) pj_stun_session_on_rx_pkt(pj_stun_session *sess, PJ_STUN_IS_ERROR_RESPONSE(msg->hdr.type)) { status = on_incoming_response(sess, options, - (const pj_uint8_t*) packet, pkt_size, - msg, src_addr, src_addr_len); + (const pj_uint8_t*) packet, + (unsigned)pkt_size, msg, + src_addr, src_addr_len); } else if (PJ_STUN_IS_REQUEST(msg->hdr.type)) { status = on_incoming_request(sess, options, token, sess->rx_pool, - (const pj_uint8_t*) packet, pkt_size, + (const pj_uint8_t*) packet, + (unsigned)pkt_size, msg, src_addr, src_addr_len); } else if (PJ_STUN_IS_INDICATION(msg->hdr.type)) { status = on_incoming_indication(sess, token, sess->rx_pool, - (const pj_uint8_t*) packet, pkt_size, - msg, src_addr, src_addr_len); + (const pj_uint8_t*) packet, + (unsigned)pkt_size, msg, src_addr, + src_addr_len); } else { pj_assert(!"Unexpected!"); diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_sock.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_sock.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_sock.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_sock.c index cc7bd2ca2e504591c189afd53a2248b9f216d036..b4b19735deaa9c84379ace34fe8a77a973c85174 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_sock.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_sock.c @@ -1,4 +1,4 @@ -/* $Id: stun_sock.c 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: stun_sock.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -119,7 +119,7 @@ static void start_ka_timer(pj_stun_sock *stun_sock); /* Keep-alive timer callback */ static void ka_timer_cb(pj_timer_heap_t *th, pj_timer_entry *te); -#define INTERNAL_MSG_TOKEN (void*)1 +#define INTERNAL_MSG_TOKEN (void*)(pj_ssize_t)1 /* @@ -211,7 +211,7 @@ PJ_DEF(pj_status_t) pj_stun_sock_create( pj_stun_config *stun_cfg, if (stun_sock->ka_interval == 0) stun_sock->ka_interval = PJ_STUN_KEEP_ALIVE_SEC; - if (cfg && cfg->grp_lock) { + if (cfg->grp_lock) { stun_sock->grp_lock = cfg->grp_lock; } else { status = pj_grp_lock_create(pool, NULL, &stun_sock->grp_lock); @@ -237,6 +237,46 @@ PJ_DEF(pj_status_t) pj_stun_sock_create( pj_stun_config *stun_cfg, if (status != PJ_SUCCESS && !cfg->qos_ignore_error) goto on_error; + /* Apply socket buffer size */ + if (cfg->so_rcvbuf_size > 0) { + unsigned sobuf_size = cfg->so_rcvbuf_size; + status = pj_sock_setsockopt_sobuf(stun_sock->sock_fd, pj_SO_RCVBUF(), + PJ_TRUE, &sobuf_size); + if (status != PJ_SUCCESS) { + pj_perror(3, stun_sock->obj_name, status, + "Failed setting SO_RCVBUF"); + } else { + if (sobuf_size < cfg->so_rcvbuf_size) { + PJ_LOG(4, (stun_sock->obj_name, + "Warning! Cannot set SO_RCVBUF as configured, " + "now=%d, configured=%d", + sobuf_size, cfg->so_rcvbuf_size)); + } else { + PJ_LOG(5, (stun_sock->obj_name, "SO_RCVBUF set to %d", + sobuf_size)); + } + } + } + if (cfg->so_sndbuf_size > 0) { + unsigned sobuf_size = cfg->so_sndbuf_size; + status = pj_sock_setsockopt_sobuf(stun_sock->sock_fd, pj_SO_SNDBUF(), + PJ_TRUE, &sobuf_size); + if (status != PJ_SUCCESS) { + pj_perror(3, stun_sock->obj_name, status, + "Failed setting SO_SNDBUF"); + } else { + if (sobuf_size < cfg->so_sndbuf_size) { + PJ_LOG(4, (stun_sock->obj_name, + "Warning! Cannot set SO_SNDBUF as configured, " + "now=%d, configured=%d", + sobuf_size, cfg->so_sndbuf_size)); + } else { + PJ_LOG(5, (stun_sock->obj_name, "SO_SNDBUF set to %d", + sobuf_size)); + } + } + } + /* Bind socket */ max_bind_retry = MAX_BIND_RETRY; if (cfg->port_range && cfg->port_range < max_bind_retry) @@ -488,6 +528,13 @@ PJ_DEF(void*) pj_stun_sock_get_user_data(pj_stun_sock *stun_sock) return stun_sock->user_data; } +/* Get group lock */ +PJ_DECL(pj_grp_lock_t *) pj_stun_sock_get_grp_lock(pj_stun_sock *stun_sock) +{ + PJ_ASSERT_RETURN(stun_sock, NULL); + return stun_sock->grp_lock; +} + /* Notify application that session has failed */ static pj_bool_t sess_fail(pj_stun_sock *stun_sock, pj_stun_sock_op op, @@ -907,10 +954,8 @@ static pj_bool_t on_data_recvfrom(pj_activesock_t *asock, process_app_data: if (stun_sock->cb.on_rx_data) { - pj_bool_t ret; - - ret = (*stun_sock->cb.on_rx_data)(stun_sock, data, size, - src_addr, addr_len); + (*stun_sock->cb.on_rx_data)(stun_sock, data, (unsigned)size, + src_addr, addr_len); status = pj_grp_lock_release(stun_sock->grp_lock); return status!=PJ_EGONE ? PJ_TRUE : PJ_FALSE; } diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_transaction.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_transaction.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_transaction.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_transaction.c index 58eca267235de46d4808e0316be434edbaf5c8d7..1f06f5c32ce214e720233011a04be7c5a7493e6b 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/stun_transaction.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/stun_transaction.c @@ -1,4 +1,4 @@ -/* $Id: stun_transaction.c 4413 2013-03-05 06:29:15Z ming $ */ +/* $Id: stun_transaction.c 4717 2014-01-29 06:33:38Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -201,7 +201,7 @@ static pj_status_t tsx_transmit_msg(pj_stun_client_tsx *tsx, pj_status_t status; PJ_ASSERT_RETURN(tsx->retransmit_timer.id == TIMER_INACTIVE || - !tsx->require_retransmit, PJ_EBUSY); + !tsx->require_retransmit || !mod_count, PJ_EBUSY); if (tsx->require_retransmit && mod_count) { /* Calculate retransmit/timeout delay */ @@ -387,8 +387,10 @@ PJ_DEF(pj_status_t) pj_stun_client_tsx_retransmit(pj_stun_client_tsx *tsx, return PJ_SUCCESS; } - pj_timer_heap_cancel_if_active(tsx->timer_heap, &tsx->retransmit_timer, - TIMER_INACTIVE); + if (mod_count) { + pj_timer_heap_cancel_if_active(tsx->timer_heap, &tsx->retransmit_timer, + TIMER_INACTIVE); + } return tsx_transmit_msg(tsx, mod_count); } diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/turn_session.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/turn_session.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/turn_session.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/turn_session.c index 7031cd3d820489cb3b477fbe8023020798650669..1492972cc4e230149074675df9c323c754390ec4 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/turn_session.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/turn_session.c @@ -1,4 +1,4 @@ -/* $Id: turn_session.c 4368 2013-02-21 21:53:28Z bennylp $ */ +/* $Id: turn_session.c 4606 2013-10-01 05:00:57Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -120,7 +120,6 @@ struct pj_turn_session pj_turn_state_t state; pj_status_t last_status; pj_bool_t pending_destroy; - pj_bool_t destroy_notified; pj_stun_session *stun; @@ -131,7 +130,6 @@ struct pj_turn_session pj_timer_heap_t *timer_heap; pj_timer_entry timer; - pj_dns_srv_async_query *dns_async; pj_uint16_t default_port; pj_uint16_t af; @@ -395,10 +393,12 @@ static void sess_shutdown(pj_turn_session *sess, case PJ_TURN_STATE_NULL: break; case PJ_TURN_STATE_RESOLVING: - if (sess->dns_async != NULL) { - pj_dns_srv_cancel_query(sess->dns_async, PJ_FALSE); - sess->dns_async = NULL; - } + /* Wait for DNS callback invoked, it will call the this function + * again. If the callback happens to get pending_destroy==FALSE, + * the TURN allocation will call this function again. + */ + sess->pending_destroy = PJ_TRUE; + can_destroy = PJ_FALSE; break; case PJ_TURN_STATE_RESOLVED: break; @@ -525,6 +525,14 @@ PJ_DEF(void*) pj_turn_session_get_user_data(pj_turn_session *sess) return sess->user_data; } +/** + * Get group lock. + */ +PJ_DEF(pj_grp_lock_t *) pj_turn_session_get_grp_lock(pj_turn_session *sess) +{ + PJ_ASSERT_RETURN(sess, NULL); + return sess->grp_lock; +} /* * Configure message logging. By default all flags are enabled. @@ -619,7 +627,7 @@ PJ_DEF(pj_status_t) pj_turn_session_set_server( pj_turn_session *sess, status = pj_dns_srv_resolve(domain, &res_name, default_port, sess->pool, resolver, opt, sess, - &dns_srv_resolver_cb, &sess->dns_async); + &dns_srv_resolver_cb, NULL); if (status != PJ_SUCCESS) { set_state(sess, PJ_TURN_STATE_NULL); goto on_return; @@ -807,7 +815,7 @@ PJ_DEF(pj_status_t) pj_turn_session_set_perm( pj_turn_session *sess, /* Create request token to map the request to the perm structures * which the request belongs. */ - req_token = (void*)(long)pj_rand(); + req_token = (void*)(pj_ssize_t)pj_rand(); /* Process the addresses */ for (i=0; i<addr_cnt; ++i) { @@ -1023,7 +1031,8 @@ PJ_DEF(pj_status_t) pj_turn_session_sendto( pj_turn_session *sess, goto on_return; /* Send the Send Indication */ - status = sess->cb.on_send_pkt(sess, sess->tx_pkt, send_ind_len, + status = sess->cb.on_send_pkt(sess, sess->tx_pkt, + (unsigned)send_ind_len, sess->srv_addr, pj_sockaddr_get_len(sess->srv_addr)); } @@ -1207,7 +1216,8 @@ static pj_status_t stun_on_send_msg(pj_stun_session *stun, PJ_UNUSED_ARG(token); sess = (pj_turn_session*) pj_stun_session_get_user_data(stun); - return (*sess->cb.on_send_pkt)(sess, (const pj_uint8_t*)pkt, pkt_size, + return (*sess->cb.on_send_pkt)(sess, (const pj_uint8_t*)pkt, + (unsigned)pkt_size, dst_addr, addr_len); } @@ -1680,11 +1690,9 @@ static void dns_srv_resolver_cb(void *user_data, pj_turn_session *sess = (pj_turn_session*) user_data; unsigned i, cnt, tot_cnt; - /* Clear async resolver */ - sess->dns_async = NULL; - /* Check failure */ - if (status != PJ_SUCCESS) { + if (status != PJ_SUCCESS || sess->pending_destroy) { + set_state(sess, PJ_TURN_STATE_DESTROYING); sess_shutdown(sess, status); return; } @@ -1887,7 +1895,7 @@ static unsigned refresh_permissions(pj_turn_session *sess, /* Create request token to map the request to the perm * structures which the request belongs. */ - req_token = (void*)(long)pj_rand(); + req_token = (void*)(pj_ssize_t)pj_rand(); } status = pj_stun_msg_add_sockaddr_attr( diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/turn_sock.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/turn_sock.c similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/turn_sock.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/turn_sock.c index 970a9558ca50a7a3296c50ca1c473f37fae2ebc0..76f2a58e1e4177e4c22aeaa594ac59c1cc12a188 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjnath/turn_sock.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjnath/turn_sock.c @@ -1,4 +1,4 @@ -/* $Id: turn_sock.c 4360 2013-02-21 11:26:35Z bennylp $ */ +/* $Id: turn_sock.c 4606 2013-10-01 05:00:57Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -324,6 +324,15 @@ PJ_DEF(void*) pj_turn_sock_get_user_data(pj_turn_sock *turn_sock) return turn_sock->user_data; } +/* + * Get group lock. + */ +PJ_DEF(pj_grp_lock_t *) pj_turn_sock_get_grp_lock(pj_turn_sock *turn_sock) +{ + PJ_ASSERT_RETURN(turn_sock, NULL); + return turn_sock->grp_lock; +} + /** * Get info. */ @@ -540,7 +549,7 @@ static unsigned has_packet(pj_turn_sock *turn_sock, const void *buf, pj_size_t b pj_bool_t is_stun; if (turn_sock->conn_type == PJ_TURN_TP_UDP) - return bufsize; + return (unsigned)bufsize; /* Quickly check if this is STUN message, by checking the first two bits and * size field which must be multiple of 4 bytes @@ -550,7 +559,7 @@ static unsigned has_packet(pj_turn_sock *turn_sock, const void *buf, pj_size_t b if (is_stun) { pj_size_t msg_len = GETVAL16H((const pj_uint8_t*)buf, 2); - return (msg_len+20 <= bufsize) ? msg_len+20 : 0; + return (unsigned)((msg_len+20 <= bufsize) ? msg_len+20 : 0); } else { /* This must be ChannelData. */ pj_turn_channel_data cd; @@ -810,6 +819,46 @@ static void turn_on_state(pj_turn_session *sess, return; } + /* Apply socket buffer size */ + if (turn_sock->setting.so_rcvbuf_size > 0) { + unsigned sobuf_size = turn_sock->setting.so_rcvbuf_size; + status = pj_sock_setsockopt_sobuf(sock, pj_SO_RCVBUF(), + PJ_TRUE, &sobuf_size); + if (status != PJ_SUCCESS) { + pj_perror(3, turn_sock->obj_name, status, + "Failed setting SO_RCVBUF"); + } else { + if (sobuf_size < turn_sock->setting.so_rcvbuf_size) { + PJ_LOG(4, (turn_sock->obj_name, + "Warning! Cannot set SO_RCVBUF as configured," + " now=%d, configured=%d", sobuf_size, + turn_sock->setting.so_rcvbuf_size)); + } else { + PJ_LOG(5, (turn_sock->obj_name, "SO_RCVBUF set to %d", + sobuf_size)); + } + } + } + if (turn_sock->setting.so_sndbuf_size > 0) { + unsigned sobuf_size = turn_sock->setting.so_sndbuf_size; + status = pj_sock_setsockopt_sobuf(sock, pj_SO_SNDBUF(), + PJ_TRUE, &sobuf_size); + if (status != PJ_SUCCESS) { + pj_perror(3, turn_sock->obj_name, status, + "Failed setting SO_SNDBUF"); + } else { + if (sobuf_size < turn_sock->setting.so_sndbuf_size) { + PJ_LOG(4, (turn_sock->obj_name, + "Warning! Cannot set SO_SNDBUF as configured," + " now=%d, configured=%d", sobuf_size, + turn_sock->setting.so_sndbuf_size)); + } else { + PJ_LOG(5, (turn_sock->obj_name, "SO_SNDBUF set to %d", + sobuf_size)); + } + } + } + /* Create active socket */ pj_activesock_cfg_default(&asock_cfg); asock_cfg.grp_lock = turn_sock->grp_lock; diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-client/client_main.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-client/client_main.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-client/client_main.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-client/client_main.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/allocation.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/allocation.c similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/allocation.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/allocation.c index f267bf80bdcac237ef21b458bcd105c338fc0a86..e33b0dd804a139902e1c13f0e77317daaa423b39 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/allocation.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/allocation.c @@ -1,5 +1,5 @@ -/* $Id: allocation.c 4360 2013-02-21 11:26:35Z bennylp $ */ -/* +/* $Id: allocation.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "turn.h" #include "auth.h" @@ -62,8 +62,8 @@ static pj_status_t create_relay(pj_turn_srv *srv, const alloc_request *req, pj_turn_relay_res *relay); static void destroy_relay(pj_turn_relay_res *relay); -static void on_rx_from_peer(pj_ioqueue_key_t *key, - pj_ioqueue_op_key_t *op_key, +static void on_rx_from_peer(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, pj_ssize_t bytes_read); static pj_status_t stun_on_send_msg(pj_stun_session *sess, void *token, @@ -124,7 +124,7 @@ static pj_status_t parse_allocate_req(alloc_request *cfg, /* Check if we can satisfy the bandwidth */ if (cfg->bandwidth > MAX_CLIENT_BANDWIDTH) { - pj_stun_session_respond(sess, rdata, + pj_stun_session_respond(sess, rdata, PJ_STUN_SC_ALLOCATION_QUOTA_REACHED, "Invalid bandwidth", NULL, PJ_TRUE, src_addr, src_addr_len); @@ -136,7 +136,7 @@ static pj_status_t parse_allocate_req(alloc_request *cfg, pj_stun_msg_find_attr(req, PJ_STUN_ATTR_REQ_TRANSPORT, 0); if (attr_req_tp == NULL) { pj_stun_session_respond(sess, rdata, PJ_STUN_SC_BAD_REQUEST, - "Missing REQUESTED-TRANSPORT attribute", + "Missing REQUESTED-TRANSPORT attribute", NULL, PJ_TRUE, src_addr, src_addr_len); return PJ_STATUS_FROM_STUN_CODE(PJ_STUN_SC_BAD_REQUEST); } @@ -156,9 +156,9 @@ static pj_status_t parse_allocate_req(alloc_request *cfg, 0); if (attr_res_token) { /* We don't support RESERVATION-TOKEN for now */ - pj_stun_session_respond(sess, rdata, + pj_stun_session_respond(sess, rdata, PJ_STUN_SC_BAD_REQUEST, - "RESERVATION-TOKEN is not supported", NULL, + "RESERVATION-TOKEN is not supported", NULL, PJ_TRUE, src_addr, src_addr_len); return PJ_STATUS_FROM_STUN_CODE(PJ_STUN_SC_BAD_REQUEST); } @@ -170,7 +170,7 @@ static pj_status_t parse_allocate_req(alloc_request *cfg, cfg->lifetime = attr_lifetime->value; if (cfg->lifetime < MIN_LIFETIME) { pj_stun_session_respond(sess, rdata, PJ_STUN_SC_BAD_REQUEST, - "LIFETIME too short", NULL, + "LIFETIME too short", NULL, PJ_TRUE, src_addr, src_addr_len); return PJ_STATUS_FROM_STUN_CODE(PJ_STUN_SC_BAD_REQUEST); } @@ -206,7 +206,7 @@ static pj_status_t send_allocate_response(pj_turn_allocation *alloc, /* Add LIFETIME. */ pj_stun_msg_add_uint_attr(tdata->pool, tdata->msg, - PJ_STUN_ATTR_LIFETIME, + PJ_STUN_ATTR_LIFETIME, (unsigned)alloc->relay.lifetime); /* Add BANDWIDTH */ @@ -222,10 +222,10 @@ static pj_status_t send_allocate_response(pj_turn_allocation *alloc, PJ_STUN_ATTR_XOR_MAPPED_ADDR, PJ_TRUE, &alloc->hkey.clt_addr, pj_sockaddr_get_len(&alloc->hkey.clt_addr)); - + /* Send the response */ return pj_stun_session_send_msg(srv_sess, transport, PJ_TRUE, - PJ_FALSE, &alloc->hkey.clt_addr, + PJ_FALSE, &alloc->hkey.clt_addr, pj_sockaddr_get_len(&alloc->hkey.clt_addr), tdata); } @@ -255,9 +255,9 @@ static pj_status_t init_cred(pj_turn_allocation *alloc, const pj_stun_msg *req) PJ_ASSERT_RETURN(nonce != NULL, PJ_EBUG); /* Lookup the password */ - status = pj_turn_get_password(NULL, NULL, &realm->value, - &user->value, alloc->pool, - &alloc->cred.data.static_cred.data_type, + status = pj_turn_get_password(NULL, NULL, &realm->value, + &user->value, alloc->pool, + &alloc->cred.data.static_cred.data_type, &alloc->cred.data.static_cred.data); if (status != PJ_SUCCESS) return status; @@ -314,7 +314,7 @@ PJ_DEF(pj_status_t) pj_turn_allocation_create(pj_turn_transport *transport, alloc->hkey.tp_type = transport->listener->tp_type; pj_memcpy(&alloc->hkey.clt_addr, src_addr, src_addr_len); - status = pj_lock_create_recursive_mutex(pool, alloc->obj_name, + status = pj_lock_create_recursive_mutex(pool, alloc->obj_name, &alloc->lock); if (status != PJ_SUCCESS) { goto on_error; @@ -327,7 +327,7 @@ PJ_DEF(pj_status_t) pj_turn_allocation_create(pj_turn_transport *transport, alloc->ch_table = pj_hash_create(pool, PEER_TABLE_SIZE); /* Print info */ - pj_ansi_strcpy(alloc->info, + pj_ansi_strcpy(alloc->info, pj_turn_tp_type_name(transport->listener->tp_type)); alloc->info[3] = ':'; pj_sockaddr_print(src_addr, alloc->info+4, sizeof(alloc->info)-4, 3); @@ -371,9 +371,9 @@ PJ_DEF(pj_status_t) pj_turn_allocation_create(pj_turn_transport *transport, goto on_error; /* Done */ - pj_sockaddr_print(&alloc->relay.hkey.addr, str_tmp, + pj_sockaddr_print(&alloc->relay.hkey.addr, str_tmp, sizeof(str_tmp), 3); - PJ_LOG(4,(alloc->obj_name, "Client %s created, relay addr=%s:%s", + PJ_LOG(4,(alloc->obj_name, "Client %s created, relay addr=%s:%s", alloc->info, pj_turn_tp_type_name(req.tp_type), str_tmp)); /* Success */ @@ -383,7 +383,7 @@ PJ_DEF(pj_status_t) pj_turn_allocation_create(pj_turn_transport *transport, on_error: /* Send reply to the ALLOCATE request */ pj_strerror(status, str_tmp, sizeof(str_tmp)); - pj_stun_session_respond(srv_sess, rdata, PJ_STUN_SC_BAD_REQUEST, str_tmp, + pj_stun_session_respond(srv_sess, rdata, PJ_STUN_SC_BAD_REQUEST, str_tmp, transport, PJ_TRUE, src_addr, src_addr_len); /* Cleanup */ @@ -396,7 +396,7 @@ on_error: static void destroy_relay(pj_turn_relay_res *relay) { if (relay->timer.id) { - pj_timer_heap_cancel(relay->allocation->server->core.timer_heap, + pj_timer_heap_cancel(relay->allocation->server->core.timer_heap, &relay->timer); relay->timer.id = PJ_FALSE; } @@ -482,8 +482,8 @@ PJ_DEF(void) pj_turn_allocation_on_transport_closed( pj_turn_allocation *alloc, /* Initiate shutdown sequence for this allocation and start destroy timer. - * Once allocation is marked as shutting down, any packets will be - * rejected/discarded + * Once allocation is marked as shutting down, any packets will be + * rejected/discarded */ static void alloc_shutdown(pj_turn_allocation *alloc) { @@ -501,7 +501,7 @@ static void alloc_shutdown(pj_turn_allocation *alloc) * shutdown request. */ return; - } + } pj_assert(alloc->relay.timer.id == TIMER_ID_NONE); @@ -530,7 +530,7 @@ static pj_status_t resched_timeout(pj_turn_allocation *alloc) pj_assert(alloc->relay.timer.id != TIMER_ID_DESTROY); if (alloc->relay.timer.id != 0) { - pj_timer_heap_cancel(alloc->server->core.timer_heap, + pj_timer_heap_cancel(alloc->server->core.timer_heap, &alloc->relay.timer); alloc->relay.timer.id = TIMER_ID_NONE; } @@ -539,7 +539,7 @@ static pj_status_t resched_timeout(pj_turn_allocation *alloc) delay.msec = 0; alloc->relay.timer.id = TIMER_ID_TIMEOUT; - status = pj_timer_heap_schedule(alloc->server->core.timer_heap, + status = pj_timer_heap_schedule(alloc->server->core.timer_heap, &alloc->relay.timer, &delay); if (status != PJ_SUCCESS) { alloc->relay.timer.id = TIMER_ID_NONE; @@ -565,8 +565,8 @@ static void relay_timeout_cb(pj_timer_heap_t *heap, pj_timer_entry *e) e->id = TIMER_ID_NONE; - PJ_LOG(4,(alloc->obj_name, - "Client %s refresh timed-out, shutting down..", + PJ_LOG(4,(alloc->obj_name, + "Client %s refresh timed-out, shutting down..", alloc->info)); alloc_shutdown(alloc); @@ -574,7 +574,7 @@ static void relay_timeout_cb(pj_timer_heap_t *heap, pj_timer_entry *e) } else if (e->id == TIMER_ID_DESTROY) { e->id = TIMER_ID_NONE; - PJ_LOG(4,(alloc->obj_name, "Client %s destroying..", + PJ_LOG(4,(alloc->obj_name, "Client %s destroying..", alloc->info)); destroy_allocation(alloc); @@ -600,10 +600,10 @@ static pj_status_t create_relay(pj_turn_srv *srv, pj_status_t status; pj_bzero(relay, sizeof(*relay)); - + relay->allocation = alloc; relay->tp.sock = PJ_INVALID_SOCKET; - + /* TODO: get the requested address family from somewhere */ af = alloc->transport->listener->addr.addr.sa_family; @@ -621,10 +621,10 @@ static pj_status_t create_relay(pj_turn_srv *srv, /* Lifetime and timeout */ relay->lifetime = req->lifetime; - pj_timer_entry_init(&relay->timer, TIMER_ID_NONE, relay, + pj_timer_entry_init(&relay->timer, TIMER_ID_NONE, relay, &relay_timeout_cb); resched_timeout(alloc); - + /* Transport type */ relay->hkey.tp_type = req->tp_type; @@ -676,7 +676,7 @@ static pj_status_t create_relay(pj_turn_srv *srv, pj_sockaddr_init(af, &bound_addr, NULL, port); - status = pj_sock_bind(relay->tp.sock, &bound_addr, + status = pj_sock_bind(relay->tp.sock, &bound_addr, pj_sockaddr_get_len(&bound_addr)); if (status == PJ_SUCCESS) break; @@ -684,7 +684,7 @@ static pj_status_t create_relay(pj_turn_srv *srv, if (status != PJ_SUCCESS) { /* Unable to allocate port */ - PJ_LOG(4,(THIS_FILE, "Unable to allocate relay, giving up: err %d", + PJ_LOG(4,(THIS_FILE, "Unable to allocate relay, giving up: err %d", status)); pj_sock_close(relay->tp.sock); relay->tp.sock = PJ_INVALID_SOCKET; @@ -695,14 +695,14 @@ static pj_status_t create_relay(pj_turn_srv *srv, namelen = sizeof(relay->hkey.addr); status = pj_sock_getsockname(relay->tp.sock, &relay->hkey.addr, &namelen); if (status != PJ_SUCCESS) { - PJ_LOG(4,(THIS_FILE, "pj_sock_getsockname() failed: err %d", + PJ_LOG(4,(THIS_FILE, "pj_sock_getsockname() failed: err %d", status)); pj_sock_close(relay->tp.sock); relay->tp.sock = PJ_INVALID_SOCKET; return status; } if (!pj_sockaddr_has_addr(&relay->hkey.addr)) { - pj_sockaddr_copy_addr(&relay->hkey.addr, + pj_sockaddr_copy_addr(&relay->hkey.addr, &alloc->transport->listener->addr); } if (!pj_sockaddr_has_addr(&relay->hkey.addr)) { @@ -718,7 +718,7 @@ static pj_status_t create_relay(pj_turn_srv *srv, status = pj_ioqueue_register_sock(pool, srv->core.ioqueue, relay->tp.sock, relay, &icb, &relay->tp.key); if (status != PJ_SUCCESS) { - PJ_LOG(4,(THIS_FILE, "pj_ioqueue_register_sock() failed: err %d", + PJ_LOG(4,(THIS_FILE, "pj_ioqueue_register_sock() failed: err %d", status)); pj_sock_close(relay->tp.sock); relay->tp.sock = PJ_INVALID_SOCKET; @@ -736,12 +736,12 @@ static pj_status_t create_relay(pj_turn_srv *srv, /* Create and send error response */ static void send_reply_err(pj_turn_allocation *alloc, const pj_stun_rx_data *rdata, - pj_bool_t cache, + pj_bool_t cache, int code, const char *errmsg) { pj_status_t status; - status = pj_stun_session_respond(alloc->sess, rdata, code, errmsg, NULL, + status = pj_stun_session_respond(alloc->sess, rdata, code, errmsg, NULL, cache, &alloc->hkey.clt_addr, pj_sockaddr_get_len(&alloc->hkey.clt_addr.addr)); if (status != PJ_SUCCESS) { @@ -786,9 +786,9 @@ static void send_reply_ok(pj_turn_allocation *alloc, } } - status = pj_stun_session_send_msg(alloc->sess, NULL, PJ_TRUE, - PJ_FALSE, &alloc->hkey.clt_addr, - pj_sockaddr_get_len(&alloc->hkey.clt_addr), + status = pj_stun_session_send_msg(alloc->sess, NULL, PJ_TRUE, + PJ_FALSE, &alloc->hkey.clt_addr, + pj_sockaddr_get_len(&alloc->hkey.clt_addr), tdata); if (status != PJ_SUCCESS) { alloc_err(alloc, "Error sending STUN success response", status); @@ -806,7 +806,7 @@ static pj_turn_permission *create_permission(pj_turn_allocation *alloc, perm = PJ_POOL_ZALLOC_T(alloc->pool, pj_turn_permission); pj_memcpy(&perm->hkey.peer_addr, peer_addr, addr_len); - + perm->allocation = alloc; perm->channel = PJ_TURN_INVALID_CHANNEL; @@ -814,8 +814,8 @@ static pj_turn_permission *create_permission(pj_turn_allocation *alloc, perm->expiry.sec += PJ_TURN_PERM_TIMEOUT; /* Register to hash table (only the address part!) */ - pj_hash_set(alloc->pool, alloc->peer_table, - pj_sockaddr_get_addr(&perm->hkey.peer_addr), + pj_hash_set(alloc->pool, alloc->peer_table, + pj_sockaddr_get_addr(&perm->hkey.peer_addr), pj_sockaddr_get_addr_len(&perm->hkey.peer_addr), 0, perm); return perm; @@ -834,13 +834,13 @@ static pj_turn_permission *check_permission_expiry(pj_turn_permission *perm) } /* Remove from permission hash table */ - pj_hash_set(NULL, alloc->peer_table, - pj_sockaddr_get_addr(&perm->hkey.peer_addr), + pj_hash_set(NULL, alloc->peer_table, + pj_sockaddr_get_addr(&perm->hkey.peer_addr), pj_sockaddr_get_addr_len(&perm->hkey.peer_addr), 0, NULL); /* Remove from channel hash table, if assigned a channel number */ if (perm->channel != PJ_TURN_INVALID_CHANNEL) { - pj_hash_set(NULL, alloc->ch_table, &perm->channel, + pj_hash_set(NULL, alloc->ch_table, &perm->channel, sizeof(perm->channel), 0, NULL); } @@ -858,10 +858,10 @@ lookup_permission_by_addr(pj_turn_allocation *alloc, PJ_UNUSED_ARG(addr_len); /* Lookup in peer hash table */ - perm = (pj_turn_permission*) - pj_hash_get(alloc->peer_table, + perm = (pj_turn_permission*) + pj_hash_get(alloc->peer_table, pj_sockaddr_get_addr(peer_addr), - pj_sockaddr_get_addr_len(peer_addr), + pj_sockaddr_get_addr_len(peer_addr), NULL); return perm ? check_permission_expiry(perm) : NULL; } @@ -880,7 +880,7 @@ lookup_permission_by_chnum(pj_turn_allocation *alloc, return perm ? check_permission_expiry(perm) : NULL; } -/* Update permission because of data from client to peer. +/* Update permission because of data from client to peer. * Return PJ_TRUE is permission is found. */ static pj_bool_t refresh_permission(pj_turn_permission *perm) @@ -916,7 +916,7 @@ PJ_DEF(void) pj_turn_allocation_on_rx_client_pkt(pj_turn_allocation *alloc, * our stun_on_rx_request() or stun_on_rx_indication() * callbacks. * - * Note: currently it is necessary to specify the + * Note: currently it is necessary to specify the * PJ_STUN_NO_FINGERPRINT_CHECK otherwise the FINGERPRINT * attribute inside STUN Send Indication message will mess up * with fingerprint checking. @@ -929,7 +929,7 @@ PJ_DEF(void) pj_turn_allocation_on_rx_client_pkt(pj_turn_allocation *alloc, status = pj_stun_session_on_rx_pkt(alloc->sess, pkt->pkt, pkt->len, options, NULL, &parsed_len, - &pkt->src.clt_addr, + &pkt->src.clt_addr, pkt->src_addr_len); if (pkt->transport->listener->tp_type == PJ_TURN_TP_UDP) { @@ -962,7 +962,7 @@ PJ_DEF(void) pj_turn_allocation_on_rx_client_pkt(pj_turn_allocation *alloc, /* For UDP check the packet length */ if (alloc->transport->listener->tp_type == PJ_TURN_TP_UDP) { if (pkt->len < pj_ntohs(cd->length)+sizeof(*cd)) { - PJ_LOG(4,(alloc->obj_name, + PJ_LOG(4,(alloc->obj_name, "ChannelData from %s discarded: UDP size error", alloc->info)); goto on_return; @@ -975,7 +975,7 @@ PJ_DEF(void) pj_turn_allocation_on_rx_client_pkt(pj_turn_allocation *alloc, perm = lookup_permission_by_chnum(alloc, pj_ntohs(cd->ch_number)); if (!perm) { /* Discard */ - PJ_LOG(4,(alloc->obj_name, + PJ_LOG(4,(alloc->obj_name, "ChannelData from %s discarded: ch#0x%x not found", alloc->info, pj_ntohs(cd->ch_number))); goto on_return; @@ -998,7 +998,7 @@ on_return: /* - * Handle incoming packet from peer. This function is called by + * Handle incoming packet from peer. This function is called by * on_rx_from_peer(). */ static void handle_peer_pkt(pj_turn_allocation *alloc, @@ -1009,7 +1009,7 @@ static void handle_peer_pkt(pj_turn_allocation *alloc, pj_turn_permission *perm; /* Lookup permission */ - perm = lookup_permission_by_addr(alloc, src_addr, + perm = lookup_permission_by_addr(alloc, src_addr, pj_sockaddr_get_len(src_addr)); if (perm == NULL) { /* No permission, discard data */ @@ -1049,23 +1049,23 @@ static void handle_peer_pkt(pj_turn_allocation *alloc, pj_stun_tx_data *tdata; pj_status_t status; - status = pj_stun_session_create_ind(alloc->sess, + status = pj_stun_session_create_ind(alloc->sess, PJ_STUN_DATA_INDICATION, &tdata); if (status != PJ_SUCCESS) { alloc_err(alloc, "Error creating Data indication", status); return; } - pj_stun_msg_add_sockaddr_attr(tdata->pool, tdata->msg, + pj_stun_msg_add_sockaddr_attr(tdata->pool, tdata->msg, PJ_STUN_ATTR_XOR_PEER_ADDR, PJ_TRUE, src_addr, pj_sockaddr_get_len(src_addr)); pj_stun_msg_add_binary_attr(tdata->pool, tdata->msg, - PJ_STUN_ATTR_DATA, + PJ_STUN_ATTR_DATA, (const pj_uint8_t*)pkt, len); - pj_stun_session_send_msg(alloc->sess, NULL, PJ_FALSE, - PJ_FALSE, &alloc->hkey.clt_addr, - pj_sockaddr_get_len(&alloc->hkey.clt_addr), + pj_stun_session_send_msg(alloc->sess, NULL, PJ_FALSE, + PJ_FALSE, &alloc->hkey.clt_addr, + pj_sockaddr_get_len(&alloc->hkey.clt_addr), tdata); } } @@ -1073,8 +1073,8 @@ static void handle_peer_pkt(pj_turn_allocation *alloc, /* * ioqueue notification on RX packets from the relay socket. */ -static void on_rx_from_peer(pj_ioqueue_key_t *key, - pj_ioqueue_op_key_t *op_key, +static void on_rx_from_peer(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, pj_ssize_t bytes_read) { pj_turn_relay_res *rel; @@ -1096,7 +1096,7 @@ static void on_rx_from_peer(pj_ioqueue_key_t *key, rel->tp.src_addr_len = sizeof(rel->tp.src_addr); status = pj_ioqueue_recvfrom(key, op_key, rel->tp.rx_pkt, &bytes_read, 0, - &rel->tp.src_addr, + &rel->tp.src_addr, &rel->tp.src_addr_len); if (status != PJ_EPENDING && status != PJ_SUCCESS) @@ -1156,14 +1156,14 @@ static pj_status_t stun_on_rx_request(pj_stun_session *sess, /* Refuse to serve any request if we've been shutdown */ if (alloc->relay.lifetime == 0) { /* Reject with 437 if we're shutting down */ - send_reply_err(alloc, rdata, PJ_TRUE, + send_reply_err(alloc, rdata, PJ_TRUE, PJ_STUN_SC_ALLOCATION_MISMATCH, NULL); return PJ_SUCCESS; } if (msg->hdr.type == PJ_STUN_REFRESH_REQUEST) { - /* - * Handle REFRESH request + /* + * Handle REFRESH request */ pj_stun_lifetime_attr *lifetime; pj_stun_bandwidth_attr *bandwidth; @@ -1176,6 +1176,9 @@ static pj_status_t stun_on_rx_request(pj_stun_session *sess, bandwidth = (pj_stun_bandwidth_attr*) pj_stun_msg_find_attr(msg, PJ_STUN_ATTR_BANDWIDTH, 0); + /* TODO: process bandwidth */ + PJ_UNUSED_ARG(bandwidth); + if (lifetime && lifetime->value==0) { /* * This is deallocation request. @@ -1186,7 +1189,7 @@ static pj_status_t stun_on_rx_request(pj_stun_session *sess, send_reply_ok(alloc, rdata); /* Shutdown allocation */ - PJ_LOG(4,(alloc->obj_name, + PJ_LOG(4,(alloc->obj_name, "Client %s request to dealloc, shutting down", alloc->info)); @@ -1196,7 +1199,7 @@ static pj_status_t stun_on_rx_request(pj_stun_session *sess, /* * This is a refresh request. */ - + /* Update lifetime */ if (lifetime) { alloc->relay.lifetime = lifetime->value; @@ -1226,7 +1229,7 @@ static pj_status_t stun_on_rx_request(pj_stun_session *sess, pj_stun_msg_find_attr(msg, PJ_STUN_ATTR_XOR_PEER_ADDR, 0); if (!ch_attr || !peer_attr) { - send_reply_err(alloc, rdata, PJ_TRUE, + send_reply_err(alloc, rdata, PJ_TRUE, PJ_STUN_SC_BAD_REQUEST, NULL); return PJ_SUCCESS; } @@ -1234,14 +1237,14 @@ static pj_status_t stun_on_rx_request(pj_stun_session *sess, /* Find permission with the channel number */ p1 = lookup_permission_by_chnum(alloc, PJ_STUN_GET_CH_NB(ch_attr->value)); - /* If permission is found, this is supposed to be a channel bind + /* If permission is found, this is supposed to be a channel bind * refresh. Make sure it's for the same peer. */ if (p1) { if (pj_sockaddr_cmp(&p1->hkey.peer_addr, &peer_attr->sockaddr)) { /* Address mismatch. Send 400 */ - send_reply_err(alloc, rdata, PJ_TRUE, - PJ_STUN_SC_BAD_REQUEST, + send_reply_err(alloc, rdata, PJ_TRUE, + PJ_STUN_SC_BAD_REQUEST, "Peer address mismatch"); return PJ_SUCCESS; } @@ -1262,7 +1265,7 @@ static pj_status_t stun_on_rx_request(pj_stun_session *sess, p2 = lookup_permission_by_addr(alloc, &peer_attr->sockaddr, pj_sockaddr_get_len(&peer_attr->sockaddr)); if (p2 && p2->channel != PJ_TURN_INVALID_CHANNEL) { - send_reply_err(alloc, rdata, PJ_TRUE, PJ_STUN_SC_BAD_REQUEST, + send_reply_err(alloc, rdata, PJ_TRUE, PJ_STUN_SC_BAD_REQUEST, "Peer address already assigned a channel number"); return PJ_SUCCESS; } @@ -1280,7 +1283,7 @@ static pj_status_t stun_on_rx_request(pj_stun_session *sess, /* Register to hash table */ pj_assert(sizeof(p2->channel==2)); - pj_hash_set(alloc->pool, alloc->ch_table, &p2->channel, + pj_hash_set(alloc->pool, alloc->ch_table, &p2->channel, sizeof(p2->channel), 0, p2); /* Update */ @@ -1367,7 +1370,7 @@ static pj_status_t stun_on_rx_indication(pj_stun_session *sess, /* Relay the data to peer */ len = data_attr->length; - pj_sock_sendto(alloc->relay.tp.sock, data_attr->data, + pj_sock_sendto(alloc->relay.tp.sock, data_attr->data, &len, 0, &peer_attr->sockaddr, pj_sockaddr_get_len(&peer_attr->sockaddr)); diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/auth.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/auth.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/auth.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/auth.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/auth.h b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/auth.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/auth.h rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/auth.h diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/listener_tcp.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/listener_tcp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/listener_tcp.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/listener_tcp.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/listener_udp.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/listener_udp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/listener_udp.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/listener_udp.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/main.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/main.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/main.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/main.c diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/server.c b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/server.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/server.c rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/server.c index f27d3a9c84093a264289969ea5b1f3fe50cefba2..fd576b0de18fee3ccb2cdd9b664c79b4fa695211 100644 --- a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/server.c +++ b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/server.c @@ -1,5 +1,5 @@ -/* $Id: server.c 4360 2013-02-21 11:26:35Z bennylp $ */ -/* +/* $Id: server.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "turn.h" #include "auth.h" @@ -76,7 +76,7 @@ PJ_DEF(const char*) pj_turn_tp_type_name(int tp_type) /* * Create server. */ -PJ_DEF(pj_status_t) pj_turn_srv_create(pj_pool_factory *pf, +PJ_DEF(pj_status_t) pj_turn_srv_create(pj_pool_factory *pf, pj_turn_srv **p_srv) { pj_pool_t *pool; @@ -94,14 +94,14 @@ PJ_DEF(pj_status_t) pj_turn_srv_create(pj_pool_factory *pf, srv->core.pf = pf; srv->core.pool = pool; srv->core.tls_key = srv->core.tls_data = -1; - + /* Create ioqueue */ status = pj_ioqueue_create(pool, MAX_HANDLES, &srv->core.ioqueue); if (status != PJ_SUCCESS) goto on_error; /* Server mutex */ - status = pj_lock_create_recursive_mutex(pool, srv->obj_name, + status = pj_lock_create_recursive_mutex(pool, srv->obj_name, &srv->core.lock); if (status != PJ_SUCCESS) goto on_error; @@ -114,7 +114,7 @@ PJ_DEF(pj_status_t) pj_turn_srv_create(pj_pool_factory *pf, status = pj_thread_local_alloc(&srv->core.tls_data); if (status != PJ_SUCCESS) goto on_error; - + /* Create timer heap */ status = pj_timer_heap_create(pool, MAX_TIMER, &srv->core.timer_heap); if (status != PJ_SUCCESS) @@ -125,7 +125,7 @@ PJ_DEF(pj_status_t) pj_turn_srv_create(pj_pool_factory *pf, /* Array of listeners */ srv->core.listener = (pj_turn_listener**) - pj_pool_calloc(pool, MAX_LISTENERS, + pj_pool_calloc(pool, MAX_LISTENERS, sizeof(srv->core.listener[0])); /* Create hash tables */ @@ -169,19 +169,19 @@ PJ_DEF(pj_status_t) pj_turn_srv_create(pj_pool_factory *pf, /* Array of worker threads */ srv->core.thread_cnt = MAX_THREADS; srv->core.thread = (pj_thread_t**) - pj_pool_calloc(pool, srv->core.thread_cnt, + pj_pool_calloc(pool, srv->core.thread_cnt, sizeof(pj_thread_t*)); /* Start the worker threads */ for (i=0; i<srv->core.thread_cnt; ++i) { - status = pj_thread_create(pool, srv->obj_name, &server_thread_proc, + status = pj_thread_create(pool, srv->obj_name, &server_thread_proc, srv, 0, 0, &srv->core.thread[i]); if (status != PJ_SUCCESS) goto on_error; } /* We're done. Application should add listeners now */ - PJ_LOG(4,(srv->obj_name, "TURN server v%s is running", + PJ_LOG(4,(srv->obj_name, "TURN server v%s is running", pj_get_version())); *p_srv = srv; @@ -193,8 +193,8 @@ on_error: } -/* - * Handle timer and network events +/* + * Handle timer and network events */ static void srv_handle_events(pj_turn_srv *srv, const pj_time_val *max_timeout) { @@ -203,8 +203,8 @@ static void srv_handle_events(pj_turn_srv *srv, const pj_time_val *max_timeout) unsigned net_event_count = 0; int c; - /* Poll the timer. The timer heap has its own mutex for better - * granularity, so we don't need to lock the server. + /* Poll the timer. The timer heap has its own mutex for better + * granularity, so we don't need to lock the server. */ timeout.sec = timeout.msec = 0; c = pj_timer_heap_poll( srv->core.timer_heap, &timeout ); @@ -222,7 +222,7 @@ static void srv_handle_events(pj_turn_srv *srv, const pj_time_val *max_timeout) timeout = *max_timeout; } - /* Poll ioqueue. + /* Poll ioqueue. * Repeat polling the ioqueue while we have immediate events, because * timer heap may process more than one events, so if we only process * one network events at a time (such as when IOCP backend is used), @@ -292,7 +292,7 @@ PJ_DEF(pj_status_t) pj_turn_srv_destroy(pj_turn_srv *srv) it = next; } } - + /* Destroy all listeners. */ for (i=0; i<srv->core.lis_cnt; ++i) { if (srv->core.listener[i]) { @@ -312,7 +312,7 @@ PJ_DEF(pj_status_t) pj_turn_srv_destroy(pj_turn_srv *srv) srv->tables.alloc = NULL; srv->tables.res = NULL; } - + /* Destroy timer heap */ if (srv->core.timer_heap) { pj_timer_heap_destroy(srv->core.timer_heap); @@ -460,7 +460,7 @@ PJ_DEF(pj_status_t) pj_turn_srv_unregister_allocation(pj_turn_srv *srv, } -/* Callback from our own STUN session whenever it needs to send +/* Callback from our own STUN session whenever it needs to send * outgoing STUN packet. */ static pj_status_t on_tx_stun_msg( pj_stun_session *sess, @@ -471,24 +471,24 @@ static pj_status_t on_tx_stun_msg( pj_stun_session *sess, unsigned addr_len) { pj_turn_transport *transport = (pj_turn_transport*) token; - + PJ_ASSERT_RETURN(transport!=NULL, PJ_EINVALIDOP); PJ_UNUSED_ARG(sess); - return transport->sendto(transport, pdu, pdu_size, 0, + return transport->sendto(transport, pdu, pdu_size, 0, dst_addr, addr_len); } /* Respond to STUN request */ -static pj_status_t stun_respond(pj_stun_session *sess, +static pj_status_t stun_respond(pj_stun_session *sess, pj_turn_transport *transport, const pj_stun_rx_data *rdata, - unsigned code, + unsigned code, const char *errmsg, - pj_bool_t cache, - const pj_sockaddr_t *dst_addr, + pj_bool_t cache, + const pj_sockaddr_t *dst_addr, unsigned addr_len) { pj_status_t status; @@ -496,14 +496,14 @@ static pj_status_t stun_respond(pj_stun_session *sess, pj_stun_tx_data *tdata; /* Create response */ - status = pj_stun_session_create_res(sess, rdata, code, + status = pj_stun_session_create_res(sess, rdata, code, (errmsg?pj_cstr(&reason,errmsg):NULL), &tdata); if (status != PJ_SUCCESS) return status; /* Send the response */ - return pj_stun_session_send_msg(sess, transport, cache, PJ_FALSE, + return pj_stun_session_send_msg(sess, transport, cache, PJ_FALSE, dst_addr, addr_len, tdata); } @@ -522,7 +522,6 @@ static pj_status_t on_rx_stun_request(pj_stun_session *sess, { pj_turn_transport *transport; const pj_stun_msg *msg = rdata->msg; - pj_turn_srv *srv; pj_turn_allocation *alloc; pj_status_t status; @@ -530,7 +529,6 @@ static pj_status_t on_rx_stun_request(pj_stun_session *sess, PJ_UNUSED_ARG(pdu_len); transport = (pj_turn_transport*) token; - srv = transport->listener->server; /* Respond any requests other than ALLOCATE with 437 response */ if (msg->hdr.type != PJ_STUN_ALLOCATE_REQUEST) { @@ -569,13 +567,13 @@ static void handle_binding_request(pj_turn_pkt *pkt, return; /* Create response */ - status = pj_stun_msg_create_response(pkt->pool, request, 0, NULL, + status = pj_stun_msg_create_response(pkt->pool, request, 0, NULL, &response); if (status != PJ_SUCCESS) return; /* Add XOR-MAPPED-ADDRESS */ - pj_stun_msg_add_sockaddr_attr(pkt->pool, response, + pj_stun_msg_add_sockaddr_attr(pkt->pool, response, PJ_STUN_ATTR_XOR_MAPPED_ADDR, PJ_TRUE, &pkt->src.clt_addr, @@ -587,7 +585,7 @@ static void handle_binding_request(pj_turn_pkt *pkt, return; /* Send response */ - pkt->transport->sendto(pkt->transport, pdu, len, 0, + pkt->transport->sendto(pkt->transport, pdu, len, 0, &pkt->src.clt_addr, pkt->src_addr_len); } @@ -598,7 +596,7 @@ static void handle_binding_request(pj_turn_pkt *pkt, * is found for the client address, or handed over to owned STUN session * if an allocation is not found. */ -PJ_DEF(void) pj_turn_srv_on_rx_pkt(pj_turn_srv *srv, +PJ_DEF(void) pj_turn_srv_on_rx_pkt(pj_turn_srv *srv, pj_turn_pkt *pkt) { pj_turn_allocation *alloc; @@ -638,7 +636,7 @@ PJ_DEF(void) pj_turn_srv_on_rx_pkt(pj_turn_srv *srv, */ if ((*pkt->pkt != 0x00 && *pkt->pkt != 0x01) || pkt->len > 1600 || - (options & PJ_STUN_IS_DATAGRAM)) + (options & PJ_STUN_IS_DATAGRAM)) { char errmsg[PJ_ERR_MSG_SIZE]; char ip[PJ_INET6_ADDRSTRLEN+10]; @@ -646,7 +644,7 @@ PJ_DEF(void) pj_turn_srv_on_rx_pkt(pj_turn_srv *srv, pkt->len = 0; pj_strerror(status, errmsg, sizeof(errmsg)); - PJ_LOG(5,(srv->obj_name, + PJ_LOG(5,(srv->obj_name, "Non-STUN packet from %s is dropped: %s", pj_sockaddr_print(&pkt->src.clt_addr, ip, sizeof(ip), 3), errmsg)); @@ -654,7 +652,7 @@ PJ_DEF(void) pj_turn_srv_on_rx_pkt(pj_turn_srv *srv, return; } - /* Special handling for Binding Request. We won't give it to the + /* Special handling for Binding Request. We won't give it to the * STUN session since this request is not authenticated. */ if (pkt->pkt[1] == 1) { @@ -668,16 +666,16 @@ PJ_DEF(void) pj_turn_srv_on_rx_pkt(pj_turn_srv *srv, */ options &= ~PJ_STUN_CHECK_PACKET; parsed_len = 0; - status = pj_stun_session_on_rx_pkt(srv->core.stun_sess, pkt->pkt, + status = pj_stun_session_on_rx_pkt(srv->core.stun_sess, pkt->pkt, pkt->len, options, pkt->transport, - &parsed_len, &pkt->src.clt_addr, + &parsed_len, &pkt->src.clt_addr, pkt->src_addr_len); if (status != PJ_SUCCESS) { char errmsg[PJ_ERR_MSG_SIZE]; char ip[PJ_INET6_ADDRSTRLEN+10]; pj_strerror(status, errmsg, sizeof(errmsg)); - PJ_LOG(5,(srv->obj_name, + PJ_LOG(5,(srv->obj_name, "Error processing STUN packet from %s: %s", pj_sockaddr_print(&pkt->src.clt_addr, ip, sizeof(ip), 3), errmsg)); diff --git a/daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/turn.h b/daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/turn.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjnath/src/pjturn-srv/turn.h rename to daemon/libs/pjproject-2.2.1/pjnath/src/pjturn-srv/turn.h diff --git a/daemon/libs/pjproject-2.1.0/pjproject-vs8.sln b/daemon/libs/pjproject-2.2.1/pjproject-vs8.sln similarity index 88% rename from daemon/libs/pjproject-2.1.0/pjproject-vs8.sln rename to daemon/libs/pjproject-2.2.1/pjproject-vs8.sln index ebe4abaa6aa3a9e5271e7d2a5acb2c1a614f00b4..6d4c572b9ab098ae26d2642fc38886fc2f9f1537 100644 --- a/daemon/libs/pjproject-2.1.0/pjproject-vs8.sln +++ b/daemon/libs/pjproject-2.2.1/pjproject-vs8.sln @@ -35,6 +35,7 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sample_debug", "pjsip-apps\build\sample_debug.vcproj", "{A0F1AA62-0F6F-420D-B09A-AC04B6862821}" ProjectSection(ProjectDependencies) = postProject {23D7679C-764C-4E02-8B29-BB882CEEEFE2} = {23D7679C-764C-4E02-8B29-BB882CEEEFE2} + {B82CDD25-6903-430E-BD38-D8129A2015C1} = {B82CDD25-6903-430E-BD38-D8129A2015C1} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjnath", "pjnath\build\pjnath.vcproj", "{A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}" @@ -78,6 +79,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution build\vs\pjproject-vs8-release-static-defaults.vsprops = build\vs\pjproject-vs8-release-static-defaults.vsprops build\vs\pjproject-vs8-win32-common-defaults.vsprops = build\vs\pjproject-vs8-win32-common-defaults.vsprops build\vs\pjproject-vs8-win32-release-defaults.vsprops = build\vs\pjproject-vs8-win32-release-defaults.vsprops + build\vs\pjproject-vs8-win64-common-defaults.vsprops = build\vs\pjproject-vs8-win64-common-defaults.vsprops + build\vs\pjproject-vs8-win64-release-defaults.vsprops = build\vs\pjproject-vs8-win64-release-defaults.vsprops build\vs\pjproject-vs8-wm2003-common-defaults.vsprops = build\vs\pjproject-vs8-wm2003-common-defaults.vsprops build\vs\pjproject-vs8-wm2003-release-defaults.vsprops = build\vs\pjproject-vs8-wm2003-release-defaults.vsprops build\vs\pjproject-vs8-wm5-common-defaults.vsprops = build\vs\pjproject-vs8-wm5-common-defaults.vsprops @@ -96,18 +99,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsip_test", "pjsip\build\p {23D7679C-764C-4E02-8B29-BB882CEEEFE2} = {23D7679C-764C-4E02-8B29-BB882CEEEFE2} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PocketPJ", "pjsip-apps\src\pocketpj\PocketPJ.vcproj", "{48450961-D0DF-4B59-BD8D-39455AA02DF8}" - ProjectSection(ProjectDependencies) = postProject - {23D7679C-764C-4E02-8B29-BB882CEEEFE2} = {23D7679C-764C-4E02-8B29-BB882CEEEFE2} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsua_wince", "pjsip-apps\src\pjsua_wince\pjsua_wince.vcproj", "{C014B29B-4A42-414B-B567-988469F032D8}" - ProjectSection(ProjectDependencies) = postProject - {23D7679C-764C-4E02-8B29-BB882CEEEFE2} = {23D7679C-764C-4E02-8B29-BB882CEEEFE2} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpjproject", "pjsip-apps\build\libpjproject.vcproj", "{23D7679C-764C-4E02-8B29-BB882CEEEFE2}" ProjectSection(ProjectDependencies) = postProject + {B82CDD25-6903-430E-BD38-D8129A2015C1} = {B82CDD25-6903-430E-BD38-D8129A2015C1} {2BB84911-C1B4-4747-B93D-36AA82CC5031} = {2BB84911-C1B4-4747-B93D-36AA82CC5031} {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA} = {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA} {2A3F241E-682C-47E1-9543-DC28708B406A} = {2A3F241E-682C-47E1-9543-DC28708B406A} @@ -124,10 +118,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpjproject", "pjsip-apps\ {B8719FD5-E8A6-4A36-943C-891D07F5DD21} = {B8719FD5-E8A6-4A36-943C-891D07F5DD21} {DA0E03ED-53A7-4050-8A85-90541C5509F8} = {DA0E03ED-53A7-4050-8A85-90541C5509F8} {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D} = {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D} + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37} = {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37} {E53AA5FF-B737-40AA-BD13-387EFA99023D} = {E53AA5FF-B737-40AA-BD13-387EFA99023D} {A1989FF3-9894-40F4-B5A6-6EA364476E45} = {A1989FF3-9894-40F4-B5A6-6EA364476E45} {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858} = {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858} - {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37} = {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python_pjsua", "pjsip-apps\build\python_pjsua.vcproj", "{0C91838B-3372-40B4-A764-DE075A4BC94B}" @@ -144,6 +138,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjmedia_videodev", "pjmedia EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbaseclasses", "third_party\build\baseclasses\libbaseclasses.vcproj", "{E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pjsua2_lib", "pjsip\build\pjsua2_lib.vcproj", "{B82CDD25-6903-430E-BD38-D8129A2015C1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Pocket PC 2003 (ARMV4) = Debug|Pocket PC 2003 (ARMV4) @@ -153,6 +149,7 @@ Global Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) Debug|Windows Mobile 6 Professional SDK (ARMV4I) = Debug|Windows Mobile 6 Professional SDK (ARMV4I) Debug|Windows Mobile 6 Standard SDK (ARMV4I) = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + Debug|x64 = Debug|x64 Debug-Dynamic|Pocket PC 2003 (ARMV4) = Debug-Dynamic|Pocket PC 2003 (ARMV4) Debug-Dynamic|Smartphone 2003 (ARMV4) = Debug-Dynamic|Smartphone 2003 (ARMV4) Debug-Dynamic|Win32 = Debug-Dynamic|Win32 @@ -160,6 +157,7 @@ Global Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + Debug-Dynamic|x64 = Debug-Dynamic|x64 Debug-Static|Pocket PC 2003 (ARMV4) = Debug-Static|Pocket PC 2003 (ARMV4) Debug-Static|Smartphone 2003 (ARMV4) = Debug-Static|Smartphone 2003 (ARMV4) Debug-Static|Win32 = Debug-Static|Win32 @@ -167,6 +165,7 @@ Global Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + Debug-Static|x64 = Debug-Static|x64 Release|Pocket PC 2003 (ARMV4) = Release|Pocket PC 2003 (ARMV4) Release|Smartphone 2003 (ARMV4) = Release|Smartphone 2003 (ARMV4) Release|Win32 = Release|Win32 @@ -174,6 +173,7 @@ Global Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) Release|Windows Mobile 6 Professional SDK (ARMV4I) = Release|Windows Mobile 6 Professional SDK (ARMV4I) Release|Windows Mobile 6 Standard SDK (ARMV4I) = Release|Windows Mobile 6 Standard SDK (ARMV4I) + Release|x64 = Release|x64 Release-Dynamic|Pocket PC 2003 (ARMV4) = Release-Dynamic|Pocket PC 2003 (ARMV4) Release-Dynamic|Smartphone 2003 (ARMV4) = Release-Dynamic|Smartphone 2003 (ARMV4) Release-Dynamic|Win32 = Release-Dynamic|Win32 @@ -181,6 +181,7 @@ Global Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + Release-Dynamic|x64 = Release-Dynamic|x64 Release-Static|Pocket PC 2003 (ARMV4) = Release-Static|Pocket PC 2003 (ARMV4) Release-Static|Smartphone 2003 (ARMV4) = Release-Static|Smartphone 2003 (ARMV4) Release-Static|Win32 = Release-Static|Win32 @@ -188,6 +189,7 @@ Global Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + Release-Static|x64 = Release-Static|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) @@ -204,6 +206,8 @@ Global {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug|x64.ActiveCfg = Debug|x64 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug|x64.Build.0 = Debug|x64 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -218,6 +222,8 @@ Global {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -232,6 +238,8 @@ Global {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Debug-Static|x64.Build.0 = Debug-Static|x64 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -246,6 +254,8 @@ Global {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release|x64.ActiveCfg = Release|x64 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release|x64.Build.0 = Release|x64 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -260,6 +270,8 @@ Global {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release-Static|Smartphone 2003 (ARMV4) @@ -274,6 +286,8 @@ Global {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {DA0E03ED-53A7-4050-8A85-90541C5509F8}.Release-Static|x64.Build.0 = Release-Static|x64 {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -294,6 +308,8 @@ Global {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug|x64.ActiveCfg = Debug|x64 + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug|x64.Build.0 = Debug|x64 {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) @@ -314,6 +330,8 @@ Global {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -334,6 +352,8 @@ Global {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Debug-Static|x64.Build.0 = Debug-Static|x64 {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -354,6 +374,8 @@ Global {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release|x64.ActiveCfg = Release|x64 + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release|x64.Build.0 = Release|x64 {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) @@ -374,6 +396,8 @@ Global {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -394,6 +418,8 @@ Global {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}.Release-Static|x64.Build.0 = Release-Static|x64 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -408,6 +434,8 @@ Global {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug|x64.ActiveCfg = Debug|x64 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug|x64.Build.0 = Debug|x64 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -423,6 +451,8 @@ Global {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -438,6 +468,8 @@ Global {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Debug-Static|x64.Build.0 = Debug-Static|x64 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -452,6 +484,8 @@ Global {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release|x64.ActiveCfg = Release|x64 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release|x64.Build.0 = Release|x64 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -467,6 +501,8 @@ Global {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -482,6 +518,8 @@ Global {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {FE07F272-AE7F-4549-9E9F-EF9B80CB1693}.Release-Static|x64.Build.0 = Release-Static|x64 {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -502,6 +540,8 @@ Global {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug|x64.ActiveCfg = Debug|x64 + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug|x64.Build.0 = Debug|x64 {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) @@ -522,6 +562,8 @@ Global {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -542,6 +584,8 @@ Global {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Debug-Static|x64.Build.0 = Debug-Static|x64 {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -562,6 +606,8 @@ Global {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release|x64.ActiveCfg = Release|x64 + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release|x64.Build.0 = Release|x64 {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) @@ -582,6 +628,8 @@ Global {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -602,6 +650,8 @@ Global {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {ED02BE13-8297-4770-8097-27DC2CCABF9A}.Release-Static|x64.Build.0 = Release-Static|x64 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -616,6 +666,8 @@ Global {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug|x64.ActiveCfg = Debug|x64 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug|x64.Build.0 = Debug|x64 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -631,6 +683,8 @@ Global {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -646,6 +700,8 @@ Global {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Debug-Static|x64.Build.0 = Debug-Static|x64 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -660,6 +716,8 @@ Global {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release|x64.ActiveCfg = Release|x64 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release|x64.Build.0 = Release|x64 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -675,6 +733,8 @@ Global {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -690,6 +750,8 @@ Global {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {7FDE3880-A4AB-49E3-B439-EBEF0A0C7A65}.Release-Static|x64.Build.0 = Release-Static|x64 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -704,6 +766,8 @@ Global {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug|x64.ActiveCfg = Debug|x64 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug|x64.Build.0 = Debug|x64 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -718,6 +782,8 @@ Global {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -732,6 +798,8 @@ Global {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Debug-Static|x64.Build.0 = Debug-Static|x64 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -746,6 +814,8 @@ Global {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release|x64.ActiveCfg = Release|x64 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release|x64.Build.0 = Release|x64 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -760,6 +830,8 @@ Global {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -775,6 +847,8 @@ Global {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {855DC8C0-D3E9-4A2E-AE47-116605A7BC9B}.Release-Static|x64.Build.0 = Release-Static|x64 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -789,6 +863,8 @@ Global {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug|x64.ActiveCfg = Debug|x64 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug|x64.Build.0 = Debug|x64 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -803,6 +879,8 @@ Global {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -817,6 +895,8 @@ Global {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Debug-Static|x64.Build.0 = Debug-Static|x64 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -831,6 +911,8 @@ Global {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release|x64.ActiveCfg = Release|x64 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release|x64.Build.0 = Release|x64 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -845,6 +927,8 @@ Global {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -860,6 +944,8 @@ Global {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {2BB84911-C1B4-4747-B93D-36AA82CC5031}.Release-Static|x64.Build.0 = Release-Static|x64 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -874,6 +960,8 @@ Global {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug|x64.ActiveCfg = Debug|x64 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug|x64.Build.0 = Debug|x64 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -888,6 +976,8 @@ Global {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -902,6 +992,8 @@ Global {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Debug-Static|x64.Build.0 = Debug-Static|x64 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -916,6 +1008,8 @@ Global {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release|x64.ActiveCfg = Release|x64 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release|x64.Build.0 = Release|x64 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -930,6 +1024,8 @@ Global {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -945,6 +1041,8 @@ Global {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {4B5945CD-0CB3-49AA-A7FF-7612D93F82C0}.Release-Static|x64.Build.0 = Release-Static|x64 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -959,6 +1057,8 @@ Global {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug|x64.ActiveCfg = Debug|x64 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug|x64.Build.0 = Debug|x64 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -973,6 +1073,8 @@ Global {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -986,7 +1088,8 @@ Global {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Debug-Static|x64.Build.0 = Debug-Static|x64 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -1001,6 +1104,8 @@ Global {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release|x64.ActiveCfg = Release|x64 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release|x64.Build.0 = Release|x64 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -1015,6 +1120,8 @@ Global {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1030,54 +1137,116 @@ Global {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {B8719FD5-E8A6-4A36-943C-891D07F5DD21}.Release-Static|x64.Build.0 = Release-Static|x64 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Smartphone 2003 (ARMV4).Build.0 = Debug|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Smartphone 2003 (ARMV4).Deploy.0 = Debug|Smartphone 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Win32.ActiveCfg = Debug|Win32 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Win32.Build.0 = Debug|Win32 - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|x64.ActiveCfg = Debug|x64 + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug|x64.Build.0 = Debug|x64 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Smartphone 2003 (ARMV4).Build.0 = Debug-Dynamic|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Smartphone 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Smartphone 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Win32.ActiveCfg = Debug-Dynamic|Win32 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Win32.Build.0 = Debug-Dynamic|Win32 - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Smartphone 2003 (ARMV4).Build.0 = Debug-Static|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Smartphone 2003 (ARMV4).Deploy.0 = Debug-Static|Smartphone 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Win32.ActiveCfg = Debug-Static|Win32 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Win32.Build.0 = Debug-Static|Win32 - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Debug-Static|x64.Build.0 = Debug-Static|x64 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Smartphone 2003 (ARMV4).Build.0 = Release|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Smartphone 2003 (ARMV4).Deploy.0 = Release|Smartphone 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Win32.ActiveCfg = Release|Win32 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Win32.Build.0 = Release|Win32 - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|x64.ActiveCfg = Release|x64 + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release|x64.Build.0 = Release|x64 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Smartphone 2003 (ARMV4).Build.0 = Release-Dynamic|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Smartphone 2003 (ARMV4).Deploy.0 = Release-Dynamic|Smartphone 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Win32.ActiveCfg = Release-Dynamic|Win32 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Win32.Build.0 = Release-Dynamic|Win32 - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release-Static|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Smartphone 2003 (ARMV4).Build.0 = Release-Static|Smartphone 2003 (ARMV4) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Smartphone 2003 (ARMV4).Deploy.0 = Release-Static|Smartphone 2003 (ARMV4) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Win32.ActiveCfg = Release-Static|Win32 {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Win32.Build.0 = Release-Static|Win32 - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {8310649E-A25E-4AF0-91E8-9E3CC659BB89}.Release-Static|x64.Build.0 = Release-Static|x64 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -1092,6 +1261,8 @@ Global {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug|x64.ActiveCfg = Debug|x64 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug|x64.Build.0 = Debug|x64 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -1106,6 +1277,8 @@ Global {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -1121,6 +1294,8 @@ Global {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Debug-Static|x64.Build.0 = Debug-Static|x64 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -1135,6 +1310,8 @@ Global {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release|x64.ActiveCfg = Release|x64 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release|x64.Build.0 = Release|x64 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -1150,6 +1327,8 @@ Global {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1165,6 +1344,8 @@ Global {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {9CA0FDFB-2172-41FC-B7F1-5CE915EDCB37}.Release-Static|x64.Build.0 = Release-Static|x64 {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -1173,6 +1354,8 @@ Global {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug|x64.ActiveCfg = Debug|x64 + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug|x64.Build.0 = Debug|x64 {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Dynamic|Win32.ActiveCfg = Debug-Dynamic|Win32 @@ -1181,6 +1364,8 @@ Global {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Static|Win32.ActiveCfg = Debug-Static|Win32 @@ -1189,6 +1374,8 @@ Global {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Debug-Static|x64.Build.0 = Debug-Static|x64 {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release|Win32.ActiveCfg = Release|Win32 @@ -1197,6 +1384,8 @@ Global {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release|x64.ActiveCfg = Release|x64 + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release|x64.Build.0 = Release|x64 {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Dynamic|Win32.ActiveCfg = Release-Dynamic|Win32 @@ -1205,6 +1394,8 @@ Global {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release-Static|Smartphone 2003 (ARMV4) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Static|Win32.ActiveCfg = Release-Static|Win32 @@ -1213,6 +1404,8 @@ Global {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {A0F1AA62-0F6F-420D-B09A-AC04B6862821}.Release-Static|x64.Build.0 = Release-Static|x64 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -1227,6 +1420,8 @@ Global {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug|x64.ActiveCfg = Debug|x64 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug|x64.Build.0 = Debug|x64 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -1241,6 +1436,8 @@ Global {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -1256,6 +1453,8 @@ Global {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Debug-Static|x64.Build.0 = Debug-Static|x64 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -1270,6 +1469,8 @@ Global {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release|x64.ActiveCfg = Release|x64 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release|x64.Build.0 = Release|x64 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -1285,6 +1486,8 @@ Global {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1300,6 +1503,8 @@ Global {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {A5D9AA24-08ED-48B9-BD65-F0A25E96BFC4}.Release-Static|x64.Build.0 = Release-Static|x64 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -1314,6 +1519,8 @@ Global {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug|x64.ActiveCfg = Debug|x64 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug|x64.Build.0 = Debug|x64 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -1328,6 +1535,8 @@ Global {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -1342,6 +1551,8 @@ Global {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Debug-Static|x64.Build.0 = Debug-Static|x64 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -1356,6 +1567,8 @@ Global {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release|x64.ActiveCfg = Release|x64 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release|x64.Build.0 = Release|x64 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -1370,6 +1583,8 @@ Global {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1385,6 +1600,8 @@ Global {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {E53AA5FF-B737-40AA-BD13-387EFA99023D}.Release-Static|x64.Build.0 = Release-Static|x64 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -1399,6 +1616,8 @@ Global {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug|x64.ActiveCfg = Debug|x64 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug|x64.Build.0 = Debug|x64 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -1413,6 +1632,8 @@ Global {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -1427,6 +1648,8 @@ Global {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Debug-Static|x64.Build.0 = Debug-Static|x64 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -1441,6 +1664,8 @@ Global {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release|x64.ActiveCfg = Release|x64 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release|x64.Build.0 = Release|x64 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -1455,6 +1680,8 @@ Global {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1470,6 +1697,8 @@ Global {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {B5FE16F8-3EDB-4110-BD80-B4238CC01E8D}.Release-Static|x64.Build.0 = Release-Static|x64 {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -1484,6 +1713,8 @@ Global {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug|x64.ActiveCfg = Debug|x64 + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug|x64.Build.0 = Debug|x64 {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -1498,6 +1729,8 @@ Global {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -1512,6 +1745,8 @@ Global {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Debug-Static|x64.Build.0 = Debug-Static|x64 {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -1526,6 +1761,8 @@ Global {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release|x64.ActiveCfg = Release|x64 + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release|x64.Build.0 = Release|x64 {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -1540,6 +1777,8 @@ Global {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1555,6 +1794,8 @@ Global {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {3CF9FFA9-8387-4635-9D1B-E7944CBEFEAA}.Release-Static|x64.Build.0 = Release-Static|x64 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -1569,6 +1810,8 @@ Global {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug|x64.ActiveCfg = Debug|x64 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug|x64.Build.0 = Debug|x64 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -1583,6 +1826,8 @@ Global {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -1597,6 +1842,8 @@ Global {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Debug-Static|x64.Build.0 = Debug-Static|x64 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -1611,6 +1858,8 @@ Global {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release|x64.ActiveCfg = Release|x64 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release|x64.Build.0 = Release|x64 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -1625,6 +1874,8 @@ Global {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1640,6 +1891,8 @@ Global {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {6794B975-4E84-4F49-B2DC-C31F2224E03E}.Release-Static|x64.Build.0 = Release-Static|x64 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -1654,6 +1907,8 @@ Global {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug|x64.ActiveCfg = Debug|x64 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug|x64.Build.0 = Debug|x64 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -1668,6 +1923,8 @@ Global {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -1682,6 +1939,8 @@ Global {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Debug-Static|x64.Build.0 = Debug-Static|x64 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -1696,6 +1955,8 @@ Global {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release|x64.ActiveCfg = Release|x64 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release|x64.Build.0 = Release|x64 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -1710,6 +1971,8 @@ Global {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1725,76 +1988,64 @@ Global {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}.Release-Static|x64.Build.0 = Release-Static|x64 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Smartphone 2003 (ARMV4).Build.0 = Debug|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Win32.ActiveCfg = Debug|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Win32.Build.0 = Debug|Win32 - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|x64.ActiveCfg = Debug|x64 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug|x64.Build.0 = Debug|x64 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Smartphone 2003 (ARMV4).Build.0 = Debug-Dynamic|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Win32.ActiveCfg = Debug-Dynamic|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Win32.Build.0 = Debug-Dynamic|Win32 - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Smartphone 2003 (ARMV4).Build.0 = Debug-Static|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Win32.ActiveCfg = Debug-Static|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Win32.Build.0 = Debug-Static|Win32 - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Smartphone 2003 (ARMV4).Build.0 = Release|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Win32.ActiveCfg = Release|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Win32.Build.0 = Release|Win32 - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release|x64.ActiveCfg = Release|x64 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Smartphone 2003 (ARMV4).Build.0 = Release-Dynamic|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Win32.ActiveCfg = Release-Dynamic|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Win32.Build.0 = Release-Dynamic|Win32 - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1802,14 +2053,11 @@ Global {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Smartphone 2003 (ARMV4).Build.0 = Release-Static|Smartphone 2003 (ARMV4) {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Win32.ActiveCfg = Release-Static|Win32 {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Win32.Build.0 = Release-Static|Win32 - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Win32 + {4BF51C21-5A30-423B-82FE-1ED410E5769D}.Release-Static|x64.ActiveCfg = Release-Static|x64 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -1824,6 +2072,8 @@ Global {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug|x64.ActiveCfg = Debug|x64 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug|x64.Build.0 = Debug|x64 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -1838,6 +2088,8 @@ Global {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -1852,6 +2104,8 @@ Global {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Debug-Static|x64.Build.0 = Debug-Static|x64 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -1866,6 +2120,8 @@ Global {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release|x64.ActiveCfg = Release|x64 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release|x64.Build.0 = Release|x64 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -1880,6 +2136,8 @@ Global {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -1895,6 +2153,8 @@ Global {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {F0DBAA03-1BA3-4E3B-A2CA-727E3D3AB858}.Release-Static|x64.Build.0 = Release-Static|x64 {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -1915,6 +2175,8 @@ Global {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug|x64.ActiveCfg = Debug|x64 + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug|x64.Build.0 = Debug|x64 {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) @@ -1934,6 +2196,8 @@ Global {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -1954,6 +2218,8 @@ Global {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Debug-Static|x64.Build.0 = Debug-Static|x64 {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -1974,6 +2240,8 @@ Global {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release|x64.ActiveCfg = Release|x64 + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release|x64.Build.0 = Release|x64 {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) @@ -1993,6 +2261,8 @@ Global {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -2013,6 +2283,8 @@ Global {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {553C094C-F581-4A80-9540-D5D7B398A2C6}.Release-Static|x64.Build.0 = Release-Static|x64 {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -2033,6 +2305,8 @@ Global {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug|x64.ActiveCfg = Debug|x64 + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug|x64.Build.0 = Debug|x64 {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) @@ -2053,6 +2327,8 @@ Global {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -2073,6 +2349,8 @@ Global {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Debug-Static|x64.Build.0 = Debug-Static|x64 {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -2093,6 +2371,8 @@ Global {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release|x64.ActiveCfg = Release|x64 + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release|x64.Build.0 = Release|x64 {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) @@ -2113,6 +2393,8 @@ Global {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -2133,6 +2415,8 @@ Global {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {21C0CECF-69DD-4F70-BC2B-9B4DE7F15277}.Release-Static|x64.Build.0 = Release-Static|x64 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -2147,6 +2431,8 @@ Global {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug|x64.ActiveCfg = Debug|x64 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug|x64.Build.0 = Debug|x64 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -2161,6 +2447,8 @@ Global {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -2176,6 +2464,8 @@ Global {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Debug-Static|x64.Build.0 = Debug-Static|x64 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -2190,6 +2480,8 @@ Global {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release|x64.ActiveCfg = Release|x64 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release|x64.Build.0 = Release|x64 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -2205,6 +2497,7 @@ Global {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -2220,6 +2513,8 @@ Global {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {4281CA5E-1D48-45D4-A991-2718A454B4BA}.Release-Static|x64.Build.0 = Release-Static|x64 {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -2234,6 +2529,8 @@ Global {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug|x64.ActiveCfg = Debug|x64 + {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug|x64.Build.0 = Debug|x64 {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -2248,6 +2545,8 @@ Global {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -2262,6 +2561,8 @@ Global {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {2A3F241E-682C-47E1-9543-DC28708B406A}.Debug-Static|x64.Build.0 = Debug-Static|x64 {2A3F241E-682C-47E1-9543-DC28708B406A}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -2276,6 +2577,8 @@ Global {2A3F241E-682C-47E1-9543-DC28708B406A}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {2A3F241E-682C-47E1-9543-DC28708B406A}.Release|x64.ActiveCfg = Release|x64 + {2A3F241E-682C-47E1-9543-DC28708B406A}.Release|x64.Build.0 = Release|x64 {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -2291,6 +2594,8 @@ Global {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -2306,6 +2611,8 @@ Global {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {2A3F241E-682C-47E1-9543-DC28708B406A}.Release-Static|x64.Build.0 = Release-Static|x64 {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -2314,6 +2621,8 @@ Global {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug|x64.ActiveCfg = Debug|x64 + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug|x64.Build.0 = Debug|x64 {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Dynamic|Win32.ActiveCfg = Debug-Dynamic|Win32 @@ -2322,6 +2631,8 @@ Global {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Static|Win32.ActiveCfg = Debug-Static|Win32 @@ -2330,6 +2641,8 @@ Global {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Debug-Static|x64.Build.0 = Debug-Static|x64 {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release|Win32.ActiveCfg = Release|Win32 @@ -2338,6 +2651,8 @@ Global {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release|x64.ActiveCfg = Release|x64 + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release|x64.Build.0 = Release|x64 {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Dynamic|Win32.ActiveCfg = Release-Dynamic|Win32 @@ -2346,6 +2661,8 @@ Global {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release-Static|Smartphone 2003 (ARMV4) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Static|Win32.ActiveCfg = Release-Static|Win32 @@ -2354,6 +2671,8 @@ Global {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {E378A1FC-0C9C-4462-860F-7E60BC1BF84E}.Release-Static|x64.Build.0 = Release-Static|x64 {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) @@ -2367,13 +2686,14 @@ Global {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|x64.ActiveCfg = Debug|x64 + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug|x64.Build.0 = Debug|x64 {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) @@ -2394,6 +2714,8 @@ Global {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -2414,6 +2736,8 @@ Global {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Debug-Static|x64.Build.0 = Debug-Static|x64 {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -2434,6 +2758,8 @@ Global {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release|x64.ActiveCfg = Release|x64 + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release|x64.Build.0 = Release|x64 {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) @@ -2454,6 +2780,8 @@ Global {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -2474,198 +2802,8 @@ Global {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Win32.ActiveCfg = Debug|Win32 - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Win32.ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Win32.ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Win32.ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Win32.ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release-Static|Smartphone 2003 (ARMV4) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Win32.ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {48450961-D0DF-4B59-BD8D-39455AA02DF8}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Smartphone 2003 (ARMV4).Build.0 = Debug|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Smartphone 2003 (ARMV4).Deploy.0 = Debug|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Win32.ActiveCfg = Debug|Win32 - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Smartphone 2003 (ARMV4).Build.0 = Debug-Dynamic|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Smartphone 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Win32.ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Smartphone 2003 (ARMV4).Build.0 = Debug-Static|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Smartphone 2003 (ARMV4).Deploy.0 = Debug-Static|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Win32.ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Smartphone 2003 (ARMV4).Build.0 = Release|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Smartphone 2003 (ARMV4).Deploy.0 = Release|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Win32.ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Smartphone 2003 (ARMV4).Build.0 = Release-Dynamic|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Smartphone 2003 (ARMV4).Deploy.0 = Release-Dynamic|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Win32.ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release-Static|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Smartphone 2003 (ARMV4).Build.0 = Release-Static|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Smartphone 2003 (ARMV4).Deploy.0 = Release-Static|Smartphone 2003 (ARMV4) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Win32.ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {C014B29B-4A42-414B-B567-988469F032D8}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}.Release-Static|x64.Build.0 = Release-Static|x64 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) @@ -2673,9 +2811,13 @@ Global {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Win32.ActiveCfg = Debug|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Win32.Build.0 = Debug|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).Build.0 = Debug|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Win32 - {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|x64.ActiveCfg = Debug|x64 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug|x64.Build.0 = Debug|x64 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -2686,6 +2828,8 @@ Global {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) @@ -2696,6 +2840,8 @@ Global {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Debug-Static|x64.Build.0 = Debug-Static|x64 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) @@ -2706,6 +2852,8 @@ Global {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release|x64.ActiveCfg = Release|x64 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release|x64.Build.0 = Release|x64 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) @@ -2716,6 +2864,8 @@ Global {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release-Static|Smartphone 2003 (ARMV4) @@ -2726,6 +2876,8 @@ Global {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Win32 {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Win32 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {23D7679C-764C-4E02-8B29-BB882CEEEFE2}.Release-Static|x64.Build.0 = Release-Static|x64 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -2733,6 +2885,7 @@ Global {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Win32 + {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug|x64.ActiveCfg = Debug|x64 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Dynamic|Win32.ActiveCfg = Debug|Win32 @@ -2740,6 +2893,7 @@ Global {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Win32 + {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Dynamic|x64.ActiveCfg = Debug|x64 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Static|Win32.ActiveCfg = Debug|Win32 @@ -2747,6 +2901,7 @@ Global {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Win32 + {0C91838B-3372-40B4-A764-DE075A4BC94B}.Debug-Static|x64.ActiveCfg = Debug|x64 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release|Win32.ActiveCfg = Release|Win32 @@ -2754,6 +2909,7 @@ Global {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Win32 + {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release|x64.ActiveCfg = Release|x64 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Dynamic|Win32.ActiveCfg = Release|Win32 @@ -2761,6 +2917,7 @@ Global {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Win32 + {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Dynamic|x64.ActiveCfg = Release|x64 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Static|Win32.ActiveCfg = Release|Win32 @@ -2768,6 +2925,7 @@ Global {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Win32 {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Win32 + {0C91838B-3372-40B4-A764-DE075A4BC94B}.Release-Static|x64.ActiveCfg = Release|x64 {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -2780,6 +2938,8 @@ Global {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug|x64.ActiveCfg = Debug|x64 + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug|x64.Build.0 = Debug|x64 {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Dynamic|Win32.ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) @@ -2789,6 +2949,8 @@ Global {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Dynamic|x64.ActiveCfg = Debug|x64 + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Dynamic|x64.Build.0 = Debug|x64 {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Static|Win32.ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) @@ -2798,6 +2960,8 @@ Global {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Static|x64.ActiveCfg = Debug|x64 + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Debug-Static|x64.Build.0 = Debug|x64 {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release|Win32.ActiveCfg = Release|Win32 @@ -2810,6 +2974,8 @@ Global {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release|x64.ActiveCfg = Release|x64 + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release|x64.Build.0 = Release|x64 {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Dynamic|Win32.ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) @@ -2819,6 +2985,8 @@ Global {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Dynamic|x64.ActiveCfg = Release|x64 + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Dynamic|x64.Build.0 = Release|x64 {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Static|Win32.ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) @@ -2828,9 +2996,10 @@ Global {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Static|x64.ActiveCfg = Release|x64 + {5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}.Release-Static|x64.Build.0 = Release|x64 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Smartphone 2003 (ARMV4).Build.0 = Debug|Smartphone 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Smartphone 2003 (ARMV4).Deploy.0 = Debug|Smartphone 2003 (ARMV4) @@ -2844,13 +3013,12 @@ Global {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|x64.ActiveCfg = Debug|x64 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug|x64.Build.0 = Debug|x64 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Smartphone 2003 (ARMV4).Build.0 = Debug-Dynamic|Smartphone 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Smartphone 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Smartphone 2003 (ARMV4) @@ -2864,10 +3032,10 @@ Global {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) @@ -2884,10 +3052,10 @@ Global {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Debug-Static|x64.Build.0 = Debug-Static|x64 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) @@ -2904,10 +3072,10 @@ Global {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|x64.ActiveCfg = Release|x64 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release|x64.Build.0 = Release|x64 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) @@ -2924,10 +3092,10 @@ Global {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) @@ -2944,10 +3112,10 @@ Global {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) - {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {A1989FF3-9894-40F4-B5A6-6EA364476E45}.Release-Static|x64.Build.0 = Release-Static|x64 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -2956,6 +3124,8 @@ Global {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug|x64.ActiveCfg = Debug|x64 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug|x64.Build.0 = Debug|x64 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Dynamic|Win32.ActiveCfg = Debug-Dynamic|Win32 @@ -2964,6 +3134,8 @@ Global {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Static|Win32.ActiveCfg = Debug-Static|Win32 @@ -2972,6 +3144,8 @@ Global {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Debug-Static|x64.Build.0 = Debug-Static|x64 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release|Win32.ActiveCfg = Release|Win32 @@ -2980,6 +3154,8 @@ Global {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release|x64.ActiveCfg = Release|x64 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release|x64.Build.0 = Release|x64 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Dynamic|Win32.ActiveCfg = Release-Dynamic|Win32 @@ -2988,6 +3164,8 @@ Global {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|Win32.ActiveCfg = Release-Static|Win32 @@ -2996,6 +3174,116 @@ Global {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Win32 {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Win32 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {E8A3F6FA-AE1C-4C8E-A0B6-9C8480324EAA}.Release-Static|x64.Build.0 = Release-Static|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Pocket PC 2003 (ARMV4).ActiveCfg = Debug|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Pocket PC 2003 (ARMV4).Build.0 = Debug|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Pocket PC 2003 (ARMV4).Deploy.0 = Debug|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Smartphone 2003 (ARMV4).ActiveCfg = Debug|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Smartphone 2003 (ARMV4).Build.0 = Debug|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Smartphone 2003 (ARMV4).Deploy.0 = Debug|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Win32.ActiveCfg = Debug|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Win32.Build.0 = Debug|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|x64.ActiveCfg = Debug|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug|x64.Build.0 = Debug|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Dynamic|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Smartphone 2003 (ARMV4).Build.0 = Debug-Dynamic|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Smartphone 2003 (ARMV4).Deploy.0 = Debug-Dynamic|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Win32.ActiveCfg = Debug-Dynamic|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Win32.Build.0 = Debug-Dynamic|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|x64.ActiveCfg = Debug-Dynamic|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Dynamic|x64.Build.0 = Debug-Dynamic|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Debug-Static|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Pocket PC 2003 (ARMV4).Build.0 = Debug-Static|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Debug-Static|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Smartphone 2003 (ARMV4).ActiveCfg = Debug-Static|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Smartphone 2003 (ARMV4).Build.0 = Debug-Static|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Smartphone 2003 (ARMV4).Deploy.0 = Debug-Static|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Win32.ActiveCfg = Debug-Static|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Win32.Build.0 = Debug-Static|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|x64.ActiveCfg = Debug-Static|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Debug-Static|x64.Build.0 = Debug-Static|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Pocket PC 2003 (ARMV4).ActiveCfg = Release|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Pocket PC 2003 (ARMV4).Build.0 = Release|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Pocket PC 2003 (ARMV4).Deploy.0 = Release|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Smartphone 2003 (ARMV4).ActiveCfg = Release|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Smartphone 2003 (ARMV4).Build.0 = Release|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Smartphone 2003 (ARMV4).Deploy.0 = Release|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Win32.ActiveCfg = Release|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Win32.Build.0 = Release|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|x64.ActiveCfg = Release|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release|x64.Build.0 = Release|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Dynamic|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Pocket PC 2003 (ARMV4).Build.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Dynamic|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Smartphone 2003 (ARMV4).ActiveCfg = Release-Dynamic|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Smartphone 2003 (ARMV4).Build.0 = Release-Dynamic|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Smartphone 2003 (ARMV4).Deploy.0 = Release-Dynamic|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Win32.ActiveCfg = Release-Dynamic|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Win32.Build.0 = Release-Dynamic|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|x64.ActiveCfg = Release-Dynamic|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Dynamic|x64.Build.0 = Release-Dynamic|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Pocket PC 2003 (ARMV4).ActiveCfg = Release-Static|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Pocket PC 2003 (ARMV4).Build.0 = Release-Static|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Pocket PC 2003 (ARMV4).Deploy.0 = Release-Static|Pocket PC 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Smartphone 2003 (ARMV4).ActiveCfg = Release-Static|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Smartphone 2003 (ARMV4).Build.0 = Release-Static|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Smartphone 2003 (ARMV4).Deploy.0 = Release-Static|Smartphone 2003 (ARMV4) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Win32.ActiveCfg = Release-Static|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Win32.Build.0 = Release-Static|Win32 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Windows Mobile 6 Professional SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Professional SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).ActiveCfg = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Build.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|Windows Mobile 6 Standard SDK (ARMV4I).Deploy.0 = Release-Static|Windows Mobile 6 Standard SDK (ARMV4I) + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|x64.ActiveCfg = Release-Static|x64 + {B82CDD25-6903-430E-BD38-D8129A2015C1}.Release-Static|x64.Build.0 = Release-Static|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/Footprint.mak b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/Footprint.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/Footprint.mak rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/Footprint.mak diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/Makefile b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/Makefile similarity index 60% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/Makefile rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/Makefile index 146e841e85c8e1d01d9358ac4a13c55df12ec2ab..917b1deb3d8f852c2958f05b602a08793024c03a 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/Makefile +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/Makefile @@ -1,6 +1,8 @@ include ../../build.mak include $(PJDIR)/build/common.mak +export LIBDIR := ../lib +export BINDIR := ../bin RULES_MAK := $(PJDIR)/build/rules.mak @@ -27,16 +29,20 @@ export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ $(CC_INC)../../pjmedia/include export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ $(HOST_CXXFLAGS) $(CXXFLAGS) +export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(APP_LDFLAGS) $(APP_LDLIBS) $(LDFLAGS) ############################################################################### # Defines for building PJSUA # export PJSUA_SRCDIR = ../src/pjsua export PJSUA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ - main.o pjsua_app.o -export PJSUA_CFLAGS += $(_CFLAGS) -export PJSUA_LDFLAGS += $(APP_LDFLAGS) $(APP_LDLIBS) $(LDFLAGS) -export PJSUA_EXE:=../bin/pjsua-$(TARGET_NAME)$(HOST_EXE) + main.o pjsua_app.o pjsua_app_cli.o pjsua_app_common.o \ + pjsua_app_config.o pjsua_app_legacy.o +export PJSUA_CFLAGS += $(PJ_CFLAGS) $(CFLAGS) +export PJSUA_CXXFLAGS += $(PJ_CXXFLAGS) $(CFLAGS) +export PJSUA_LDFLAGS += $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS) +export PJSUA_EXE:=pjsua-$(TARGET_NAME)$(HOST_EXE) ############################################################################### @@ -45,49 +51,52 @@ export PJSUA_EXE:=../bin/pjsua-$(TARGET_NAME)$(HOST_EXE) export PJSYSTEST_SRCDIR = ../src/pjsystest export PJSYSTEST_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ systest.o main_console.o -export PJSYSTEST_CFLAGS += $(_CFLAGS) -export PJSYSTEST_LDFLAGS += $(APP_LDFLAGS) $(APP_LDLIBS) $(LDFLAGS) -export PJSYSTEST_EXE:=../bin/pjsystest-$(TARGET_NAME)$(HOST_EXE) +export PJSYSTEST_CFLAGS += $(PJ_CFLAGS) $(CFLAGS) +export PJSYSTEST_CXXFLAGS += $(PJ_CXXFLAGS) $(CFLAGS) +export PJSYSTEST_LDFLAGS += $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS) +export PJSYSTEST_EXE:=pjsystest-$(TARGET_NAME)$(HOST_EXE) export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT -############################################################################### -# Main entry -# -# -TARGETS := pjsua pjsystest samples -.PHONY: $(TARGETS) +TARGETS := $(PJSUA_EXE) $(PJSYSTEST_EXE) samples all: $(TARGETS) +swig: + $(MAKE) -C ../src/swig + doc: dep: depend distclean: realclean -.PHONY: dep depend pjsua clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PJSUA_EXE) $(PJSYSTEST_EXE) -pjsua: - $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(PJSUA_EXE) +pjsua: $(PJSUA_EXE) +$(PJSUA_EXE): + $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(subst /,$(HOST_PSEP),$(BINDIR)/$@) -pjsystest: - $(MAKE) -f $(RULES_MAK) APP=PJSYSTEST app=pjsystest $(PJSYSTEST_EXE) +pjsystest: $(PJSYSTEST_EXE) +$(PJSYSTEST_EXE): + $(MAKE) -f $(RULES_MAK) APP=PJSYSTEST app=pjsystest $(subst /,$(HOST_PSEP),$(BINDIR)/$@) samples: $(MAKE) -f Samples.mak -.PHONY: ../lib/pjsua.ko -../lib/pjsua.ko: - $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $@ +.PHONY: pjsua.ko +pjsua.ko: + $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean depend realclean: $(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $@ $(MAKE) -f $(RULES_MAK) APP=PJSYSTEST app=pjsystest $@ $(MAKE) -f Samples.mak $@ @if test "$@" = "depend"; then \ - echo '$(PJSUA_EXE): $(APP_LIB_FILES)' >> .pjsua-$(TARGET_NAME).depend; \ - echo '$(PJSYSTEST_EXE): $(APP_LIB_FILES)' >> .pjsystest-$(TARGET_NAME).depend; \ + echo '$(BINDIR)/$(PJSUA_EXE): $(APP_LIB_FILES)' >> .pjsua-$(TARGET_NAME).depend; \ + echo '$(BINDIR)/$(PJSYSTEST_EXE): $(APP_LIB_FILES)' >> .pjsystest-$(TARGET_NAME).depend; \ fi diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/Samples-vc.mak b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/Samples-vc.mak similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/Samples-vc.mak rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/Samples-vc.mak index 279c78edfc82e1499dde4c68c79de680a0b9a0c9..fed970f1b556ec2410af5f7e583163eb4e09c257 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/Samples-vc.mak +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/Samples-vc.mak @@ -1,7 +1,14 @@ LIBEXT = .lib +!if "$(ARCH)" == "win64" +TARGET = x86_64-x64-vc$(VC_VER)-$(BUILD_MODE) +TARGET_FLAGS = /DPJ_WIN64=1 /DPJ_M_X86_64=1 +!else + TARGET = i386-win32-vc$(VC_VER)-$(BUILD_MODE) +TARGET_FLAGS = /DPJ_WIN32=1 /DPJ_M_I386=1 +!endif !if "$(BUILD_MODE)" == "debug" BUILD_FLAGS = /MTd /Od /Zi /W4 @@ -45,7 +52,7 @@ LIBS = $(PJSUA_LIB_LIB) $(PJSIP_UA_LIB) $(PJSIP_SIMPLE_LIB) \ $(PJMEDIA_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB) \ $(THIRD_PARTY_LIBS) -CFLAGS = /DPJ_WIN32=1 /DPJ_M_I386=1 \ +CFLAGS = $(TARGET_FLAGS) \ $(BUILD_FLAGS) \ -I..\..\pjsip\include \ -I..\..\pjlib\include \ @@ -64,6 +71,7 @@ BINDIR = ..\bin\samples\$(TARGET) SAMPLES = $(BINDIR)\auddemo.exe \ $(BINDIR)\aectest.exe \ $(BINDIR)\aviplay.exe \ + $(BINDIR)\clidemo.exe \ $(BINDIR)\confsample.exe \ $(BINDIR)\confbench.exe \ $(BINDIR)\encdec.exe \ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/build/Samples.mak b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/Samples.mak new file mode 100644 index 0000000000000000000000000000000000000000..82256213a3f17310d61936a7daa9ff0ac20c0436 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/Samples.mak @@ -0,0 +1,75 @@ +include ../../build.mak +include ../../version.mak +include ../../build/common.mak + +RULES_MAK := $(PJDIR)/build/rules.mak + +############################################################################### +# Gather all flags. +# +export _CFLAGS := $(PJ_CFLAGS) $(CFLAGS) +export _CXXFLAGS:= $(PJ_CXXFLAGS) $(CFLAGS) +export _LDFLAGS := $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS) +export _LDXXFLAGS := $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS) + +SRCDIR := ../src/samples +OBJDIR := ./output/samples-$(TARGET_NAME) +BINDIR := ../bin/samples/$(TARGET_NAME) + +SAMPLES := auddemo \ + aviplay \ + aectest \ + clidemo \ + confsample \ + encdec \ + httpdemo \ + icedemo \ + jbsim \ + latency \ + level \ + mix \ + pjsip-perf \ + pcaputil \ + playfile \ + playsine \ + recfile \ + resampleplay \ + simpleua \ + simple_pjsua \ + sipecho \ + siprtp \ + sipstateless \ + stateful_proxy \ + stateless_proxy \ + stereotest \ + streamutil \ + strerror \ + tonegen \ + vid_streamutil + +PJSUA2_SAMPLES := pjsua2_demo + +EXES := $(foreach file, $(SAMPLES), $(file)$(HOST_EXE)) +PJSUA2_EXES := $(foreach file, $(PJSUA2_SAMPLES), $(file)$(HOST_EXE)) + +.PHONY: $(EXES) +.PHONY: $(PJSUA2_EXES) + +all: $(EXES) $(PJSUA2_EXES) + +$(EXES): + $(MAKE) --no-print-directory -f $(RULES_MAK) SAMPLE_SRCDIR=$(SRCDIR) SAMPLE_OBJS=$@.o SAMPLE_CFLAGS="$(_CFLAGS)" SAMPLE_CXXFLAGS="$(_CXXFLAGS)" SAMPLE_LDFLAGS="$(_LDFLAGS)" SAMPLE_EXE=$@ APP=SAMPLE app=sample $(subst /,$(HOST_PSEP),$(BINDIR)/$@) + +$(PJSUA2_EXES): + $(MAKE) --no-print-directory -f $(RULES_MAK) PJSUA2_SAMPLE_SRCDIR=$(SRCDIR) PJSUA2_SAMPLE_OBJS=$@.o PJSUA2_SAMPLE_CFLAGS="$(_CFLAGS)" PJSUA2_SAMPLE_CXXFLAGS="$(_CXXFLAGS)" PJSUA2_SAMPLE_LDFLAGS="$(_LDXXFLAGS)" PJSUA2_SAMPLE_EXE=$@ APP=PJSUA2_SAMPLE app=pjsua2_sample $(subst /,$(HOST_PSEP),$(BINDIR)/$@) + +depend: + +clean: + $(MAKE) -f $(RULES_MAK) APP=SAMPLE app=sample $@ + $(subst @@,$(EXES),$(HOST_RM)) + $(subst @@,$(BINDIR),$(HOST_RMDIR)) + +distclean realclean: clean + $(MAKE) -f $(RULES_MAK) APP=SAMPLE app=sample $@ + diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/dummy.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/dummy.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/dummy.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/dummy.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/get-footprint.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/get-footprint.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/get-footprint.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/get-footprint.py diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/libpjproject.vcproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/libpjproject.vcproj similarity index 84% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/libpjproject.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/libpjproject.vcproj index 8bf1552e03965265b2ec1cb52b3d7654e0c826f3..66eb6b63e8e1d70582522c85bec10200214645de 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/libpjproject.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/libpjproject.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -91,9 +94,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -130,7 +133,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -157,9 +160,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -196,7 +199,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -223,9 +226,127 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + LinkLibraryDependencies="true" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + LinkLibraryDependencies="true" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -289,9 +410,9 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -355,9 +476,126 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + LinkLibraryDependencies="true" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + LinkLibraryDependencies="true" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -394,7 +632,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -421,9 +659,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -460,7 +698,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -487,7 +725,67 @@ /> </Configuration> <Configuration - Name="Release|Win32" + Name="Debug-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + LinkLibraryDependencies="true" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Win32" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" @@ -545,9 +843,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -584,7 +882,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -611,9 +909,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -650,7 +948,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -673,15 +971,75 @@ RegisterOutput="0" AdditionalFiles="" /> - <DebuggerTool + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + LinkLibraryDependencies="true" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -700,7 +1058,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -716,7 +1073,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -728,24 +1085,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -782,7 +1131,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -809,9 +1158,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -848,7 +1197,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -875,11 +1224,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -895,12 +1245,13 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -914,7 +1265,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -926,24 +1277,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -999,9 +1342,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1038,7 +1381,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1065,9 +1408,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1104,7 +1447,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1131,11 +1474,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1151,10 +1495,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -1170,7 +1514,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1182,24 +1526,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1236,7 +1572,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1263,9 +1599,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1302,7 +1638,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1329,7 +1665,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -1368,7 +1704,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1395,12 +1731,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1419,6 +1754,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -1434,7 +1770,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1446,14 +1782,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -1519,7 +1863,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -1585,9 +1929,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1624,7 +1968,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1651,9 +1995,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1690,7 +2034,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1717,9 +2061,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1743,7 +2087,6 @@ ExecutionBucket="7" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - EnableFloatingPointEmulation="false" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1757,8 +2100,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - AdditionalOptions="" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1785,9 +2127,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1824,7 +2166,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1851,12 +2193,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1875,6 +2216,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -1890,7 +2232,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1902,16 +2244,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1948,7 +2298,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1975,9 +2325,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2014,7 +2364,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2041,9 +2391,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2080,7 +2430,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2107,9 +2457,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2133,6 +2483,7 @@ ExecutionBucket="7" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + EnableFloatingPointEmulation="false" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2146,7 +2497,8 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + AdditionalOptions="" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2173,9 +2525,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2212,7 +2564,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2239,9 +2591,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2278,7 +2630,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2305,12 +2657,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2329,6 +2680,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> @@ -2344,7 +2696,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2356,16 +2708,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2402,7 +2762,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2429,9 +2789,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2468,7 +2828,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2495,9 +2855,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2534,7 +2894,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2561,9 +2921,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2600,7 +2960,7 @@ <Tool Name="VCLibrarianTool" LinkLibraryDependencies="true" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/os-win32.mak b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/os-win32.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/os-win32.mak rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/os-win32.mak diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/pjsua.vcproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/pjsua.vcproj similarity index 78% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/pjsua.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/pjsua.vcproj index 717d7dca914bc07de12af03a75f95daf2ca8a8a7..fcde7495591311fac848a8f0e99748fa369de857 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/pjsua.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/pjsua.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -139,7 +142,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool @@ -161,7 +164,7 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> @@ -206,7 +209,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool @@ -228,15 +231,15 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug|Win32" + Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -255,6 +258,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -273,8 +277,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - IgnoreDefaultLibraryNames="msvcrt.lib" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -302,12 +306,12 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -326,8 +330,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -342,11 +346,14 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="msvcrt.lib" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -354,22 +361,20 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" @@ -408,8 +413,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -430,18 +435,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -460,8 +465,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -475,14 +480,12 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -490,25 +493,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -524,12 +529,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -543,11 +550,15 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="msvcrt.lib" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -555,27 +566,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -594,8 +603,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -610,11 +619,13 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -622,27 +633,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -661,8 +670,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -676,14 +685,12 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -691,22 +698,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -743,8 +752,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -765,18 +774,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -792,12 +801,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -810,12 +821,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -823,24 +837,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -877,7 +889,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" /> <Tool Name="VCALinkTool" @@ -905,9 +917,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -944,7 +956,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool @@ -966,15 +978,15 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1011,7 +1023,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool @@ -1033,15 +1045,15 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Dynamic|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1060,6 +1072,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -1079,6 +1092,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -1106,12 +1120,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1130,8 +1144,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1145,12 +1159,14 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1158,24 +1174,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1212,8 +1226,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1234,18 +1248,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1279,8 +1293,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1301,18 +1315,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1328,12 +1342,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1346,12 +1362,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1359,27 +1378,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Win32" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1398,8 +1415,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1414,11 +1431,13 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1426,27 +1445,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1480,8 +1497,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1502,18 +1519,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1547,8 +1564,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1569,18 +1586,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|x64" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1596,11 +1613,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1614,12 +1632,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1627,27 +1648,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1681,8 +1700,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -1703,18 +1723,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1748,8 +1768,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -1770,18 +1791,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" - UseOfMFC="0" > <Tool Name="VCPreBuildEventTool" @@ -1815,8 +1836,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -1837,18 +1859,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" - UseOfMFC="0" > <Tool Name="VCPreBuildEventTool" @@ -1882,8 +1904,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -1904,18 +1927,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1949,8 +1972,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -1971,18 +1995,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2016,8 +2040,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -2038,18 +2063,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" - UseOfMFC="0" > <Tool Name="VCPreBuildEventTool" @@ -2083,8 +2108,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -2105,18 +2131,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" - ConfigurationType="1" - UseOfMFC="0" > <Tool Name="VCPreBuildEventTool" @@ -2150,8 +2176,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -2172,18 +2199,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2217,8 +2244,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -2239,18 +2267,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2284,8 +2312,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -2306,18 +2335,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2351,8 +2380,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -2373,18 +2403,18 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2418,8 +2448,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="oldnames.lib" /> <Tool Name="VCALinkTool" @@ -2440,14 +2471,14 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="" + AdditionalFiles="pjsua.bmp|$(ProjectDir)\..\src\pjsua\wm\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="1" @@ -2485,7 +2516,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool @@ -2513,8 +2544,8 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="1" @@ -2552,7 +2583,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool @@ -2580,8 +2611,8 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="1" @@ -2619,8 +2650,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2647,8 +2678,8 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="1" @@ -2686,8 +2717,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" - OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2714,8 +2745,8 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" ConfigurationType="1" @@ -2753,7 +2784,7 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool @@ -2781,7 +2812,409 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + UseOfMFC="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + UseOfMFC="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + UseOfMFC="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + UseOfMFC="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + UseOfMFC="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + UseOfMFC="0" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + OutputFile="..\bin\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2868,7 +3301,65 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2877,7 +3368,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2886,7 +3377,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2895,7 +3387,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2904,7 +3397,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2913,7 +3406,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2922,7 +3415,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2931,7 +3425,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2940,7 +3435,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2949,7 +3444,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2958,7 +3453,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2967,7 +3463,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -2976,7 +3473,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2985,7 +3482,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2994,7 +3491,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3003,7 +3501,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3012,7 +3511,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3022,6 +3521,7 @@ </FileConfiguration> <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3031,6 +3531,7 @@ </FileConfiguration> <FileConfiguration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3039,7 +3540,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3048,7 +3550,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3057,7 +3560,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3066,7 +3570,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3075,7 +3580,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3084,7 +3590,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3093,7 +3600,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3102,7 +3610,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3111,7 +3620,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3120,7 +3630,8 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" @@ -3129,7 +3640,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3138,7 +3649,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3147,7 +3658,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3156,7 +3667,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3165,7 +3676,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3174,7 +3685,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3183,7 +3694,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3192,7 +3703,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3201,7 +3712,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3210,7 +3721,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3237,6 +3748,106 @@ /> </FileConfiguration> </File> + <File + RelativePath="..\src\pjsua\wm\main_wm.c" + > + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + </File> <File RelativePath="..\src\pjsua\pjsua_app.c" > @@ -3267,6 +3878,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -3294,6 +3914,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3321,6 +3950,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3348,6 +3986,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3375,6 +4022,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3402,6 +4058,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" > @@ -3421,7 +4086,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3430,7 +4095,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3439,7 +4104,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3448,7 +4113,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3457,7 +4122,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3466,7 +4131,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3475,7 +4140,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3484,7 +4149,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3493,7 +4158,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3502,7 +4167,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3511,7 +4176,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3520,7 +4185,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3529,7 +4194,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3538,7 +4203,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3547,7 +4212,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3556,7 +4221,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3565,7 +4230,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3574,7 +4239,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3583,7 +4248,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3592,7 +4257,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3619,11 +4284,35 @@ /> </FileConfiguration> </File> + <File + RelativePath="..\src\pjsua\pjsua_app_cli.c" + > + </File> + <File + RelativePath="..\src\pjsua\pjsua_app_common.c" + > + </File> + <File + RelativePath="..\src\pjsua\pjsua_app_config.c" + > + </File> + <File + RelativePath="..\src\pjsua\pjsua_app_legacy.c" + > + </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl" > + <File + RelativePath="..\src\pjsua\pjsua_app.h" + > + </File> + <File + RelativePath="..\src\pjsua\pjsua_app_common.h" + > + </File> </Filter> <Filter Name="Resource Files" diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/pjsystest.vcproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/pjsystest.vcproj similarity index 62% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/pjsystest.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/pjsystest.vcproj index 5f72a58be65fe6c52201be879c8284512ba1d177..48727ef0058aa1ea6045a9a47f7b35be7e383cb6 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/pjsystest.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/pjsystest.vcproj @@ -9,23 +9,28 @@ > <Platforms> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Win32" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Win32" + Name="x64" + /> + <Platform + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> </Platforms> <ToolFiles> </ToolFiles> <Configurations> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - CharacterSet="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" > <Tool Name="VCPreBuildEventTool" @@ -42,28 +47,91 @@ <Tool Name="VCMIDLTool" /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Pocket PC 2003 (ARMV4)" + OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" + IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="1" + /> <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../pjmedia/include,../../pjsip/include" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG" - AdditionalIncludeDirectories="" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLinkerTool" - AdditionalOptions=" /subsystem:windowsce,5.02" - AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" - IgnoreDefaultLibraryNames="oldnames.lib" - DelayLoadDLLs="" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + TargetMachine="0" /> <Tool Name="VCALinkTool" @@ -84,16 +152,146 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="input.8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;tock8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" + AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - CharacterSet="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Pocket PC 2003 (ARMV4)" + OutputDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" + IntermediateDirectory="Pocket PC 2003 (ARMV4)\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" > <Tool Name="VCPreBuildEventTool" @@ -114,26 +312,21 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../pjmedia/include,../../pjsip/include" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES)" - Culture="1033" - AdditionalIncludeDirectories="$(IntDir)" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLinkerTool" - AdditionalOptions=" /subsystem:windowsce,5.02" - AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" - IgnoreDefaultLibraryNames="oldnames.lib" - DelayLoadDLLs="$(NOINHERIT)" + AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" TargetMachine="0" /> <Tool @@ -155,15 +348,15 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="input.8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;tock8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" + AdditionalFiles="" /> <DebuggerTool /> </Configuration> <Configuration - Name="Debug|Win32" + Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" > <Tool Name="VCPreBuildEventTool" @@ -179,6 +372,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -197,6 +391,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -224,9 +419,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops;..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" CharacterSet="1" > <Tool @@ -254,7 +449,7 @@ /> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG" + PreprocessorDefinitions="_DEBUG" AdditionalIncludeDirectories="" /> <Tool @@ -286,15 +481,15 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;input.8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;tock8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" + AdditionalFiles="input.8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;tock8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" CharacterSet="1" > <Tool @@ -317,16 +512,15 @@ Name="VCCLCompilerTool" ExecutionBucket="7" AdditionalIncludeDirectories="../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../pjmedia/include,../../pjsip/include" - BufferSecurityCheck="false" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" - PreprocessorDefinitions="NDEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES)" + PreprocessorDefinitions="_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES)" Culture="1033" - AdditionalIncludeDirectories=""$(IntDir)"" + AdditionalIncludeDirectories="$(IntDir)" /> <Tool Name="VCPreLinkEventTool" @@ -336,7 +530,8 @@ AdditionalOptions=" /subsystem:windowsce,5.02" AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" IgnoreDefaultLibraryNames="oldnames.lib" - DelayLoadDLLs="" + DelayLoadDLLs="$(NOINHERIT)" + TargetMachine="0" /> <Tool Name="VCALinkTool" @@ -357,15 +552,16 @@ ForceDirty="-1" RemoteDirectory="" RegisterOutput="0" - AdditionalFiles="msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;input.8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;tock8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" + AdditionalFiles="input.8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;tock8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" /> <DebuggerTool /> </Configuration> <Configuration - Name="Release|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops;..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -384,28 +580,30 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../pjmedia/include,../../pjsip/include" /> <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + AdditionalIncludeDirectories="" /> <Tool Name="VCPreLinkEventTool" /> <Tool Name="VCLinkerTool" - AdditionalDependencies="Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + AdditionalOptions=" /subsystem:windowsce,5.02" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + IgnoreDefaultLibraryNames="oldnames.lib" + DelayLoadDLLs="" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -413,17 +611,90 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;input.8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;tock8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" + /> + <DebuggerTool /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + CharacterSet="1" + > <Tool - Name="VCWebDeploymentTool" + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="1" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjlib/include,../../pjlib-util/include,../../pjnath/include,../../pjmedia/include,../../pjsip/include" + BufferSecurityCheck="false" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG;_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES)" + Culture="1033" + AdditionalIncludeDirectories=""$(IntDir)"" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalOptions=" /subsystem:windowsce,5.02" + AdditionalDependencies="aygshell.lib coredll.lib winsock.lib ws2.lib" + IgnoreDefaultLibraryNames="oldnames.lib" + DelayLoadDLLs="" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;input.8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;tock8.wav|$(ProjectDir)\..\..\tests\pjsua\wavs\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0;" + /> + <DebuggerTool + /> </Configuration> </Configurations> <References> @@ -481,6 +752,22 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" ExcludedFromBuild="true" @@ -489,6 +776,22 @@ Name="VCCLCompilerTool" /> </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsystest\systest.c" diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/py_pjsua.vcproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/py_pjsua.vcproj similarity index 50% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/py_pjsua.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/py_pjsua.vcproj index 93998d00c526db40fe9b1ce308f94c2352593fa5..e03a20c09bb7a310d62da63984c0b0ff382c6558 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/py_pjsua.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/py_pjsua.vcproj @@ -1,244 +1,438 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="py_pjsua" - ProjectGUID="{C44FC030-D46A-47FF-B731-B47ECA5B2B10}" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Release|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - ConfigurationType="2" - UseOfMFC="0" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - AdditionalIncludeDirectories="..\..\pjlib\include,..\..\pjlib-util\include,..\..\pjmedia\include,..\..\pjsip\include,../../pjnath/include" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="python24.lib ole32.lib shell32.lib user32.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib" - OutputFile="..\bin\py-pjsua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug|Win32" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - ConfigurationType="2" - UseOfMFC="0" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" - AdditionalIncludeDirectories="..\..\pjlib\include,..\..\pjlib-util\include,..\..\pjmedia\include,..\..\pjsip\include,../../pjnath/include" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="python24_d.lib ole32.lib shell32.lib user32.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib" - OutputFile="..\bin\py-pjsua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" - > - <File - RelativePath="..\src\py_pjsua\pjsua.py" - > - <FileConfiguration - Name="Release|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\py_pjsua\pjsua_app.py" - > - <FileConfiguration - Name="Release|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - ExcludedFromBuild="true" - > - <Tool - Name="VCCustomBuildTool" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\py_pjsua\py_pjsua.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\py_pjsua\py_pjsua.def" - > - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl" - > - <File - RelativePath="..\src\py_pjsua\py_pjsua.h" - > - </File> - </Filter> - <Filter - Name="Resource Files" - Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="py_pjsua" + ProjectGUID="{C44FC030-D46A-47FF-B731-B47ECA5B2B10}" + > + <Platforms> + <Platform + Name="Win32" + /> + <Platform + Name="x64" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + ConfigurationType="2" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\pjlib\include,..\..\pjlib-util\include,..\..\pjmedia\include,..\..\pjsip\include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="python24.lib ole32.lib shell32.lib user32.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib" + OutputFile="..\bin\py-pjsua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Win32" + ConfigurationType="2" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\pjlib\include,..\..\pjlib-util\include,..\..\pjmedia\include,..\..\pjsip\include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="python24_d.lib ole32.lib shell32.lib user32.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib" + OutputFile="..\bin\py-pjsua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|x64" + ConfigurationType="2" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\pjlib\include,..\..\pjlib-util\include,..\..\pjmedia\include,..\..\pjsip\include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="python24.lib ole32.lib shell32.lib user32.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib" + OutputFile="..\bin\py-pjsua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="2" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\pjlib\include,..\..\pjlib-util\include,..\..\pjmedia\include,..\..\pjsip\include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="python24_d.lib ole32.lib shell32.lib user32.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib" + OutputFile="..\bin\py-pjsua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\py_pjsua\pjsua.py" + > + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\py_pjsua\pjsua_app.py" + > + <FileConfiguration + Name="Release|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + ExcludedFromBuild="true" + > + <Tool + Name="VCCustomBuildTool" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\py_pjsua\py_pjsua.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\py_pjsua\py_pjsua.def" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl" + > + <File + RelativePath="..\src\py_pjsua\py_pjsua.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/python_pjsua.vcproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/python_pjsua.vcproj similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/python_pjsua.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/python_pjsua.vcproj diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/sample_debug.vcproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/sample_debug.vcproj similarity index 83% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/sample_debug.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/sample_debug.vcproj index f9e7726671d47dbc53ec21fffa0482f399d31c8f..1f821e4718d182ced81335908e7771fb71b72f31 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/sample_debug.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/sample_debug.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -101,6 +104,212 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Debug|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Smartphone 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" + OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" @@ -236,9 +445,78 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" + OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -303,9 +581,9 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -370,9 +648,80 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" + OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -410,7 +759,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -437,9 +786,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -477,7 +826,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -504,9 +853,9 @@ /> </Configuration> <Configuration - Name="Release|Win32" + Name="Debug-Static|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -545,7 +894,7 @@ Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="" + IgnoreDefaultLibraryNames="MSVCRT.LIB" /> <Tool Name="VCALinkTool" @@ -563,19 +912,86 @@ Name="VCFxCopTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" /> <Tool - Name="VCWebDeploymentTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -613,7 +1029,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -640,12 +1056,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -661,12 +1077,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -680,11 +1098,16 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -692,24 +1115,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -747,7 +1168,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -774,9 +1195,9 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -814,7 +1235,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -841,12 +1262,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -865,8 +1286,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -881,11 +1302,15 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -893,24 +1318,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -948,7 +1371,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -975,12 +1398,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -999,8 +1422,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1015,15 +1438,11 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="MSVCRT.LIB" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -1031,25 +1450,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1065,11 +1486,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1084,11 +1506,16 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1096,24 +1523,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1151,7 +1576,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1178,9 +1603,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1218,7 +1643,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1245,12 +1670,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1269,8 +1694,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1285,11 +1710,15 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1297,24 +1726,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1352,7 +1779,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1379,9 +1806,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1419,7 +1846,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1446,9 +1873,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1467,12 +1894,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1487,7 +1916,8 @@ Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="" + IgnoreDefaultLibraryNames="MSVCRT.LIB" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -1515,9 +1945,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1582,9 +2012,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1649,12 +2079,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1673,8 +2103,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1689,11 +2119,15 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1701,24 +2135,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1756,7 +2188,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1783,9 +2215,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1823,7 +2255,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1850,12 +2282,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1871,11 +2303,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1890,11 +2323,16 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + IgnoreDefaultLibraryNames="MSVCRT.LIB" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1902,27 +2340,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1941,8 +2377,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1957,15 +2393,11 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="MSVCRT.LIB" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -1973,22 +2405,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2026,7 +2460,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2053,9 +2487,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2093,7 +2527,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2120,9 +2554,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2160,7 +2594,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2187,9 +2621,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2227,7 +2661,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2254,9 +2688,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2294,7 +2728,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2321,9 +2755,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2361,7 +2795,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2388,12 +2822,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2412,8 +2846,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" - PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -2428,15 +2862,11 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" - IgnoreDefaultLibraryNames="MSVCRT.LIB" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -2444,22 +2874,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2497,7 +2929,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2524,9 +2956,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2564,7 +2996,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2591,9 +3023,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2631,7 +3063,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2658,9 +3090,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2698,7 +3130,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib uuid.lib ole32.lib user32.lib" - OutputFile="..\bin\sample-debug-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\sample-debug-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2867,7 +3299,7 @@ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" > <File - RelativePath="..\src\samples\debug.c" + RelativePath="..\src\samples\debug.cpp" > <FileConfiguration Name="Debug|Win32" @@ -2879,7 +3311,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2888,7 +3320,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2897,7 +3329,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2906,7 +3338,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -2915,7 +3347,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -2924,7 +3356,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -2933,7 +3365,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2942,7 +3374,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2951,7 +3383,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2960,7 +3392,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -2969,7 +3401,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -2978,7 +3410,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2987,7 +3419,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2996,7 +3428,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3005,7 +3437,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3014,7 +3446,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3023,7 +3455,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3032,7 +3464,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3041,7 +3473,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3050,7 +3482,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3059,7 +3491,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3086,7 +3518,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3095,7 +3527,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3104,7 +3536,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3113,7 +3545,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3122,7 +3554,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3131,7 +3563,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3140,7 +3572,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3149,7 +3581,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3158,7 +3590,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3167,7 +3599,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3176,7 +3608,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3185,7 +3617,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3194,7 +3626,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3203,7 +3635,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3212,7 +3644,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3221,7 +3653,61 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/samples.vcproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/samples.vcproj similarity index 86% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/samples.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/samples.vcproj index fb0c6d52e76392b33c00f0aefea576920f13822f..5a9294c74be5e878ffc627f2c8571c293e4a5a12 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/samples.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/samples.vcproj @@ -17,6 +17,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -136,8 +139,8 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm6std-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release|x64" + OutputDirectory=".\output\$(ProjectName)-x86_64-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -147,9 +150,57 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 ARCH=win64" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 ARCH=win64 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 ARCH=win64 clean" + Output="All samples" + PreprocessorDefinitions="" + IncludeSearchPath="" + ForcedIncludes="" + AssemblySearchPath="" + ForcedUsingAssemblies="" + CompileAsManaged="" + /> + </Configuration> + <Configuration + Name="Debug|Win32" + OutputDirectory=".\output\$(ProjectName)-i386-$(PlatformName)-vs8-$(ConfigurationName)" + IntermediateDirectory="$(OutDir)" + ConfigurationType="0" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + BuildLogFile="" + > + <Tool + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 ARCH=win32" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 ARCH=win32 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 ARCH=win32 clean" + Output="All samples" + PreprocessorDefinitions="" + IncludeSearchPath="" + ForcedIncludes="" + AssemblySearchPath="" + ForcedUsingAssemblies="" + CompileAsManaged="" + /> + </Configuration> + <Configuration + Name="Debug|Pocket PC 2003 (ARMV4)" + OutputDirectory=".\output\$(ProjectName)-wm2003ppc-$(PlatformName)-vs8-$(ConfigurationName)" + IntermediateDirectory="$(OutDir)" + ConfigurationType="0" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + BuildLogFile="" + > + <Tool + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -175,8 +226,8 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm6pro-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug|Smartphone 2003 (ARMV4)" + OutputDirectory=".\output\$(ProjectName)-wm2003sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -186,9 +237,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -214,8 +265,8 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm5ppc-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug|x64" + OutputDirectory=".\output\$(ProjectName)-x86_64-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -225,9 +276,57 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 ARCH=win64" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 ARCH=win64 /a " + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 ARCH=win64 clean" + Output="All samples" + PreprocessorDefinitions="" + IncludeSearchPath="" + ForcedIncludes="" + AssemblySearchPath="" + ForcedUsingAssemblies="" + CompileAsManaged="" + /> + </Configuration> + <Configuration + Name="Debug-Static|Win32" + OutputDirectory=".\output\$(ProjectName)-i386-$(PlatformName)-vs8-$(ConfigurationName)" + IntermediateDirectory="$(OutDir)" + ConfigurationType="0" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + BuildLogFile="" + > + <Tool + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 ARCH=win32s" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 ARCH=win32 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 ARCH=win32 clean" + Output="All samples" + PreprocessorDefinitions="" + IncludeSearchPath="" + ForcedIncludes="" + AssemblySearchPath="" + ForcedUsingAssemblies="" + CompileAsManaged="" + /> + </Configuration> + <Configuration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + OutputDirectory=".\output\$(ProjectName)-wm2003ppc-$(PlatformName)-vs8-$(ConfigurationName)" + IntermediateDirectory="$(OutDir)" + ConfigurationType="0" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + BuildLogFile="" + > + <Tool + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -253,8 +352,8 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm5sp-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" + OutputDirectory=".\output\$(ProjectName)-wm2003sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -264,9 +363,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -292,7 +391,31 @@ /> </Configuration> <Configuration - Name="Debug|Win32" + Name="Debug-Static|x64" + OutputDirectory=".\output\$(ProjectName)-x86_64-$(PlatformName)-vs8-$(ConfigurationName)" + IntermediateDirectory="$(OutDir)" + ConfigurationType="0" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + BuildLogFile="" + > + <Tool + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 ARCH=win64" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 ARCH=win64 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 ARCH=win64 clean" + Output="All samples" + PreprocessorDefinitions="" + IncludeSearchPath="" + ForcedIncludes="" + AssemblySearchPath="" + ForcedUsingAssemblies="" + CompileAsManaged="" + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Win32" OutputDirectory=".\output\$(ProjectName)-i386-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" @@ -303,9 +426,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 ARCH=win32" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 ARCH=win32 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 ARCH=win32 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -316,7 +439,7 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" OutputDirectory=".\output\$(ProjectName)-wm2003ppc-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" @@ -327,9 +450,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -355,7 +478,7 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" OutputDirectory=".\output\$(ProjectName)-wm2003sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" @@ -366,9 +489,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -394,8 +517,8 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm6std-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release-Dynamic|x64" + OutputDirectory=".\output\$(ProjectName)-x86_64-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -405,9 +528,57 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 ARCH=win64" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 ARCH=win64 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 ARCH=win64 clean" + Output="All samples" + PreprocessorDefinitions="" + IncludeSearchPath="" + ForcedIncludes="" + AssemblySearchPath="" + ForcedUsingAssemblies="" + CompileAsManaged="" + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Win32" + OutputDirectory=".\output\$(ProjectName)-i386-$(PlatformName)-vs8-$(ConfigurationName)" + IntermediateDirectory="$(OutDir)" + ConfigurationType="0" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + BuildLogFile="" + > + <Tool + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 ARCH=win32" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 ARCH=win32 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 ARCH=win32 clean" + Output="All samples" + PreprocessorDefinitions="" + IncludeSearchPath="" + ForcedIncludes="" + AssemblySearchPath="" + ForcedUsingAssemblies="" + CompileAsManaged="" + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + OutputDirectory=".\output\$(ProjectName)-wm2003ppc-$(PlatformName)-vs8-$(ConfigurationName)" + IntermediateDirectory="$(OutDir)" + ConfigurationType="0" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + BuildLogFile="" + > + <Tool + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -433,8 +604,8 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm6pro-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + OutputDirectory=".\output\$(ProjectName)-wm2003sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -444,9 +615,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -472,8 +643,8 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm5ppc-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug-Dynamic|x64" + OutputDirectory=".\output\$(ProjectName)-x86_64-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -483,9 +654,57 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 ARCH=win64" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 ARCH=win64 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 ARCH=win64 clean" + Output="All samples" + PreprocessorDefinitions="" + IncludeSearchPath="" + ForcedIncludes="" + AssemblySearchPath="" + ForcedUsingAssemblies="" + CompileAsManaged="" + /> + </Configuration> + <Configuration + Name="Release-Static|Win32" + OutputDirectory=".\output\$(ProjectName)-i386-$(PlatformName)-vs8-$(ConfigurationName)" + IntermediateDirectory="$(OutDir)" + ConfigurationType="0" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + BuildLogFile="" + > + <Tool + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 ARCH=win32" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 ARCH=win32 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 ARCH=win32 clean" + Output="All samples" + PreprocessorDefinitions="" + IncludeSearchPath="" + ForcedIncludes="" + AssemblySearchPath="" + ForcedUsingAssemblies="" + CompileAsManaged="" + /> + </Configuration> + <Configuration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + OutputDirectory=".\output\$(ProjectName)-wm2003ppc-$(PlatformName)-vs8-$(ConfigurationName)" + IntermediateDirectory="$(OutDir)" + ConfigurationType="0" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + BuildLogFile="" + > + <Tool + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -511,8 +730,8 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm5sp-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release-Static|Smartphone 2003 (ARMV4)" + OutputDirectory=".\output\$(ProjectName)-wm2003sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -522,9 +741,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -550,8 +769,8 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" - OutputDirectory=".\output\$(ProjectName)-i386-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release-Static|x64" + OutputDirectory=".\output\$(ProjectName)-x86_64-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -560,10 +779,10 @@ BuildLogFile="" > <Tool - Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" + Name="VCNMakeTool" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 ARCH=win64" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 ARCH=win64 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 ARCH=win64 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -574,8 +793,8 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - OutputDirectory=".\output\$(ProjectName)-wm2003ppc-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm6std-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -585,9 +804,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -613,8 +832,8 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - OutputDirectory=".\output\$(ProjectName)-wm2003sp-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm6pro-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -624,9 +843,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -652,8 +871,8 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm6std-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm5ppc-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -663,9 +882,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -691,8 +910,8 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm6pro-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm5sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -702,9 +921,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -730,8 +949,8 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm5ppc-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm6std-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -741,9 +960,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -769,8 +988,8 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm5sp-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm6pro-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -780,9 +999,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -808,32 +1027,8 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" - OutputDirectory=".\output\$(ProjectName)-i386-$(PlatformName)-vs8-$(ConfigurationName)" - IntermediateDirectory="$(OutDir)" - ConfigurationType="0" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - BuildLogFile="" - > - <Tool - Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" - Output="All samples" - PreprocessorDefinitions="" - IncludeSearchPath="" - ForcedIncludes="" - AssemblySearchPath="" - ForcedUsingAssemblies="" - CompileAsManaged="" - /> - </Configuration> - <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - OutputDirectory=".\output\$(ProjectName)-wm2003ppc-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm5ppc-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -843,9 +1038,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -871,8 +1066,8 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - OutputDirectory=".\output\$(ProjectName)-wm2003sp-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm5sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -882,9 +1077,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -910,7 +1105,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" OutputDirectory=".\output\$(ProjectName)-wm6std-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" @@ -921,9 +1116,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -949,7 +1144,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" OutputDirectory=".\output\$(ProjectName)-wm6pro-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" @@ -960,9 +1155,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -988,7 +1183,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" OutputDirectory=".\output\$(ProjectName)-wm5ppc-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" @@ -999,9 +1194,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -1027,7 +1222,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" OutputDirectory=".\output\$(ProjectName)-wm5sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" @@ -1038,9 +1233,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -1066,32 +1261,8 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" - OutputDirectory=".\output\$(ProjectName)-i386-$(PlatformName)-vs8-$(ConfigurationName)" - IntermediateDirectory="$(OutDir)" - ConfigurationType="0" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - BuildLogFile="" - > - <Tool - Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 clean" - Output="All samples" - PreprocessorDefinitions="" - IncludeSearchPath="" - ForcedIncludes="" - AssemblySearchPath="" - ForcedUsingAssemblies="" - CompileAsManaged="" - /> - </Configuration> - <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - OutputDirectory=".\output\$(ProjectName)-wm2003ppc-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm6std-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -1101,9 +1272,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -1129,8 +1300,8 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - OutputDirectory=".\output\$(ProjectName)-wm2003sp-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm6pro-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -1140,9 +1311,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -1168,8 +1339,8 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm6std-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm5ppc-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -1179,9 +1350,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -1207,8 +1378,8 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm6pro-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm5sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -1218,9 +1389,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -1246,8 +1417,8 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm5ppc-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm6std-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -1285,8 +1456,8 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - OutputDirectory=".\output\$(ProjectName)-wm5sp-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm6pro-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -1324,32 +1495,8 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" - OutputDirectory=".\output\$(ProjectName)-i386-$(PlatformName)-vs8-$(ConfigurationName)" - IntermediateDirectory="$(OutDir)" - ConfigurationType="0" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" - UseOfMFC="0" - ATLMinimizesCRunTimeLibraryUsage="false" - BuildLogFile="" - > - <Tool - Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 clean" - Output="All samples" - PreprocessorDefinitions="" - IncludeSearchPath="" - ForcedIncludes="" - AssemblySearchPath="" - ForcedUsingAssemblies="" - CompileAsManaged="" - /> - </Configuration> - <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - OutputDirectory=".\output\$(ProjectName)-wm2003ppc-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm5ppc-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -1359,9 +1506,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -1387,8 +1534,8 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - OutputDirectory=".\output\$(ProjectName)-wm2003sp-$(PlatformName)-vs8-$(ConfigurationName)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + OutputDirectory=".\output\$(ProjectName)-wm5sp-$(PlatformName)-vs8-$(ConfigurationName)" IntermediateDirectory="$(OutDir)" ConfigurationType="0" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" @@ -1398,9 +1545,9 @@ > <Tool Name="VCNMakeTool" - BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8" - ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 /a" - CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=8 clean" + BuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8" + ReBuildCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 /a" + CleanCommandLine="nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=8 clean" Output="All samples" PreprocessorDefinitions="" IncludeSearchPath="" @@ -1601,6 +1748,10 @@ RelativePath="..\src\samples\aviplay.c" > </File> + <File + RelativePath="..\src\samples\clidemo.c" + > + </File> <File RelativePath="..\src\samples\confbench.c" > diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/vidgui.vcproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/vidgui.vcproj similarity index 55% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/vidgui.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/vidgui.vcproj index 31cf7db82f9de1a757ba9ce2286cf0841dab9880..922595a359510194cba7e73098afa000e41c1355 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/vidgui.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/vidgui.vcproj @@ -11,6 +11,9 @@ <Platform Name="Win32" /> + <Platform + Name="x64" + /> </Platforms> <ToolFiles> </ToolFiles> @@ -155,6 +158,150 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../pjsip/include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include,../../pjnath/include" + PreprocessorDefinitions="_CONSOLE;" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="QtGui4.lib QtCore4.lib Iphlpapi.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib gdi32.lib advapi32.lib" + GenerateDebugInformation="true" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|x64" + OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" + IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + LinkIncremental="1" + GenerateDebugInformation="true" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> </Configurations> <References> </References> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/build/wince-evc4/wince_demos.vcw b/daemon/libs/pjproject-2.2.1/pjsip-apps/build/wince-evc4/wince_demos.vcw similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/build/wince-evc4/wince_demos.vcw rename to daemon/libs/pjproject-2.2.1/pjsip-apps/build/wince-evc4/wince_demos.vcw diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/3rdparty_media_sample/Makefile b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/3rdparty_media_sample/Makefile similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/3rdparty_media_sample/Makefile rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/3rdparty_media_sample/Makefile diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c index fd2bf71cbc73e3aa68e654b7f611cb4aba280a3d..5e0709b4808817a91d65cf37488c253dc53ba92c 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_aud.c @@ -1,4 +1,4 @@ -/* $Id: alt_pjsua_aud.c 4174 2012-06-21 08:09:53Z bennylp $ */ +/* $Id: alt_pjsua_aud.c 4793 2014-03-14 04:09:50Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -496,6 +496,21 @@ PJ_DEF(pj_status_t) pjsua_player_get_port( pjsua_player_id id, return PJ_ENOTSUP; } +/* Get number of bits per sample of the WAV payload */ +PJ_DEF(pj_status_t) pjsua_player_get_info(pjsua_player_id id, + pjmedia_wav_player_info *info) +{ + UNIMPLEMENTED(pjsua_player_get_info) + return PJ_ENOTSUP; +} + +/* Get position in samples */ +PJ_DEF(pj_ssize_t) pjsua_player_get_pos(pjsua_player_id id) +{ + UNIMPLEMENTED(pjsua_player_get_pos) + return -PJ_ENOTSUP; +} + /* Set playback position. */ PJ_DEF(pj_status_t) pjsua_player_set_pos( pjsua_player_id id, pj_uint32_t samples) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/3rdparty_media_sample/alt_pjsua_vid.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/3rdparty_media_sample/config_site.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/3rdparty_media_sample/config_site.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/3rdparty_media_sample/config_site.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/3rdparty_media_sample/config_site.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/confbot/confbot.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/confbot/confbot.py similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/confbot/confbot.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/confbot/confbot.py index 572c50c117f38440cf176c3cbb31b44cbf12eb9b..308f336ec24818c0b638fe6ecfa3c36cb98a3359 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/confbot/confbot.py +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/confbot/confbot.py @@ -1,4 +1,4 @@ -# $Id: confbot.py 2912 2009-08-24 11:56:13Z bennylp $ +# $Id: confbot.py 4724 2014-01-31 08:52:09Z nanang $ # # SIP Conference Bot # @@ -197,7 +197,7 @@ class Member: self.bot.broadcast_pager(None, msg) def on_call_transfer_request(self, call, dst, code): - msg = "%(uri)s is transfering the call to %(dst)s" % \ + msg = "%(uri)s is transferring the call to %(dst)s" % \ {'uri': self.uri, 'dst': dst} self.bot.broadcast_pager(None, msg) return 202 diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/confbot/config.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/confbot/config.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/confbot/config.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/confbot/config.py diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/RootViewController.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/RootViewController.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/RootViewController.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/RootViewController.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/RootViewController.m b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/RootViewController.m similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/RootViewController.m rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/RootViewController.m diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/TestViewController.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/TestViewController.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/TestViewController.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/TestViewController.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/TestViewController.m b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/TestViewController.m similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/TestViewController.m rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/TestViewController.m diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.m b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.m similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.m rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/Classes/ipjsystestAppDelegate.m diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/MainWindow.xib b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/MainWindow.xib similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/MainWindow.xib rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/MainWindow.xib diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/RootViewController.xib b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/RootViewController.xib similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/RootViewController.xib rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/RootViewController.xib diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/TestViewController.xib b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/TestViewController.xib similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/TestViewController.xib rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/TestViewController.xib diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/ipjsystest-Info.plist b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/ipjsystest-Info.plist similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/ipjsystest-Info.plist rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/ipjsystest-Info.plist diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/ipjsystest.xcodeproj/project.pbxproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/ipjsystest.xcodeproj/project.pbxproj similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/ipjsystest.xcodeproj/project.pbxproj rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/ipjsystest.xcodeproj/project.pbxproj diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/ipjsystest_Prefix.pch b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/ipjsystest_Prefix.pch similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/ipjsystest_Prefix.pch rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/ipjsystest_Prefix.pch diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/main.m b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/main.m similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsystest/main.m rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/ipjsystest/main.m diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/.classpath b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..3f9691c5dda29b09cb96060fd6ec7017f6c671d2 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/.project b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/.project new file mode 100644 index 0000000000000000000000000000000000000000..937a12d5f9fca08a6fd4ed97dd50c68ed359f8ec --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>pjsua</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/AndroidManifest.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/AndroidManifest.xml new file mode 100644 index 0000000000000000000000000000000000000000..e5a0088a25dbed1d76dd2178be1c5818d2788fa4 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/AndroidManifest.xml @@ -0,0 +1,45 @@ +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.pjsip.pjsua" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk + android:minSdkVersion="15" + android:targetSdkVersion="15" /> + + <uses-permission android:name="android.permission.INTERNET" /> + <uses-permission android:name="android.permission.RECORD_AUDIO" /> + <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> + <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> + <uses-permission android:name="android.permission.WRITE_SETTINGS" /> + <uses-permission android:name="android.permission.READ_PHONE_STATE" /> + <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> + <uses-permission android:name="android.permission.WAKE_LOCK" /> + <uses-permission android:name="android.permission.VIBRATE" /> + <uses-permission android:name="android.permission.READ_LOGS" /> + <uses-permission android:name="android.permission.USE_SIP" /> + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> + <uses-permission android:name="android.permission.CAMERA" /> + + <uses-feature + android:name="android.hardware.microphone" + android:required="true" /> + + <application + android:icon="@drawable/main_image" + android:label="@string/app_name" + android:theme="@android:style/Theme.DeviceDefault.NoActionBar" > + <activity + android:name=".MainActivity" + android:windowSoftInputMode="stateHidden" + android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/Android.mk b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/Android.mk new file mode 100644 index 0000000000000000000000000000000000000000..b1f99af62446441b8074b95f8018541657b1dc74 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/Android.mk @@ -0,0 +1,38 @@ +# $Id$ + +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +# Get PJ build settings +include ../../../../build.mak +include $(PJDIR)/build/common.mak + +# Path to SWIG +MY_SWIG := swig + +MY_MODULE_PATH := $(PJDIR)/pjsip-apps/build/output/pjsua-$(TARGET_NAME) +MY_MODULES := $(MY_MODULE_PATH)/pjsua_app.o \ + $(MY_MODULE_PATH)/pjsua_app_cli.o \ + $(MY_MODULE_PATH)/pjsua_app_common.o \ + $(MY_MODULE_PATH)/pjsua_app_config.o \ + $(MY_MODULE_PATH)/pjsua_app_legacy.o + +# Constants +MY_JNI_WRAP := pjsua_wrap.cpp +MY_JNI_DIR := jni + +# Android build settings +LOCAL_MODULE := libpjsua +LOCAL_CFLAGS := -Werror $(APP_CFLAGS) -frtti +LOCAL_LDFLAGS := $(APP_LDFLAGS) +LOCAL_LDLIBS := $(MY_MODULES) $(APP_LDLIBS) +LOCAL_SRC_FILES := $(MY_JNI_WRAP) pjsua_app_callback.cpp + +# Invoke SWIG +$(MY_JNI_DIR)/$(MY_JNI_WRAP): + @echo "Invoking SWIG..." + $(MY_SWIG) -c++ -o $(MY_JNI_DIR)/$(MY_JNI_WRAP) -package org.pjsip.pjsua -outdir src/org/pjsip/pjsua -java $(MY_JNI_DIR)/pjsua.i + +.PHONY: $(MY_JNI_DIR)/$(MY_JNI_WRAP) + +include $(BUILD_SHARED_LIBRARY) diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/pjsua.i b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/pjsua.i new file mode 100755 index 0000000000000000000000000000000000000000..99443160e90dfd6b9c2b9c34da346bda3fe2d0a8 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/pjsua.i @@ -0,0 +1,29 @@ +%module (directors="1") pjsua + +%{ +#include "pjsua_app_callback.h" +#include "../../pjsua_app.h" + +#ifdef __cplusplus +extern "C" { +#endif + int pjsuaStart(); + void pjsuaDestroy(); + int pjsuaRestart(); + void setCallbackObject(PjsuaAppCallback* callback); +#ifdef __cplusplus +} +#endif +%} + +int pjsuaStart(); +void pjsuaDestroy(); +int pjsuaRestart(); + +/* turn on director wrapping PjsuaAppCallback */ +%feature("director") PjsuaAppCallback; + +%include "pjsua_app_callback.h" + +void setCallbackObject(PjsuaAppCallback* callback); + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp new file mode 100644 index 0000000000000000000000000000000000000000..6268b55e0305a6d3faaaf4b035410069fef6da3f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp @@ -0,0 +1,113 @@ +/* $Id: pjsua_app_callback.cpp $ */ +/* + * Copyright (C) 2012-2012 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "pjsua_app_callback.h" +#include "../../pjsua_app.h" +#include "../../pjsua_app_config.h" + +#if defined(PJ_ANDROID) && PJ_ANDROID != 0 + +static PjsuaAppCallback* registeredCallbackObject = NULL; +static pjsua_app_cfg_t android_app_config; +static int restart_argc; +static char **restart_argv; + +extern const char *pjsua_app_def_argv[]; + +#define THIS_FILE "pjsua_app_callback.cpp" + +/** Callback wrapper **/ +void on_cli_started(pj_status_t status, const char *msg) +{ + char errmsg[PJ_ERR_MSG_SIZE]; + if (registeredCallbackObject) { + if ((status != PJ_SUCCESS) && (!msg || !*msg)) { + pj_strerror(status, errmsg, sizeof(errmsg)); + msg = errmsg; + } + registeredCallbackObject->onStarted(msg); + } +} + +void on_cli_stopped(pj_bool_t restart, int argc, char **argv) +{ + if (restart) { + restart_argc = argc; + restart_argv = argv; + } + + if (registeredCallbackObject) { + registeredCallbackObject->onStopped(restart); + } +} + +static int initMain(int argc, char **argv) +{ + pj_status_t status; + android_app_config.argc = argc; + android_app_config.argv = argv; + + status = pjsua_app_init(&android_app_config); + if (status == PJ_SUCCESS) { + status = pjsua_app_run(PJ_FALSE); + } else { + pjsua_app_destroy(); + } + + return status; +} + +int pjsuaStart() +{ + pj_status_t status; + + const char **argv = pjsua_app_def_argv; + int argc = pjsua_app_def_argc; + + pj_bzero(&android_app_config, sizeof(android_app_config)); + + android_app_config.on_started = &on_cli_started; + android_app_config.on_stopped = &on_cli_stopped; + + return initMain(argc, (char**)argv); +} + +void pjsuaDestroy() +{ + pjsua_app_destroy(); + + /** This is on purpose **/ + pjsua_app_destroy(); +} + +int pjsuaRestart() +{ + pj_status_t status; + + pjsuaDestroy(); + + return initMain(restart_argc, restart_argv); +} + +void setCallbackObject(PjsuaAppCallback* callback) +{ + registeredCallbackObject = callback; +} + +#endif diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/main.m b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.h similarity index 58% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/main.m rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.h index f656b635630382a2b80fb168ed2252ecbcb09252..561b5ce381bee9273fa2615049b0a2851f486d01 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/main.m +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.h @@ -1,6 +1,6 @@ -/* $Id: main.m 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) +/* $Id: pjsua_app_callback.h $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,14 +14,23 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#import <UIKit/UIKit.h> +#ifndef __PJSUA_APP_CALLBACK_H__ +#define __PJSUA_APP_CALLBACK_H__ -int main(int argc, char *argv[]) { - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - int retVal = UIApplicationMain(argc, argv, nil, nil); - [pool release]; - return retVal; +class PjsuaAppCallback { +public: + virtual ~PjsuaAppCallback() {} + virtual void onStarted(const char *msg) {} + virtual void onStopped(int restart) {} +}; + +extern "C" { +int pjsuaStart(); +void pjsuaDestroy(); +int pjsuaRestart(); +void setCallbackObject(PjsuaAppCallback* callback); } +#endif /* __PJSUA_APP_CALLBACK_H__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/lint.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/lint.xml new file mode 100644 index 0000000000000000000000000000000000000000..ee0eead5bb7d90f91387b589a7940b0fcd1f16f5 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/lint.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<lint> +</lint> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/proguard-project.txt b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/proguard-project.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2fe1559a217865a5454add526dcc446f892385b --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/project.properties b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/project.properties new file mode 100644 index 0000000000000000000000000000000000000000..9b84a6b4bf98e3a34bdd89c1d1f327611ce05b1b --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-16 diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-hdpi/main_image.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-hdpi/main_image.png new file mode 100755 index 0000000000000000000000000000000000000000..a9c5328c8cbafa52d3d662a6a7e2334c0974a845 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-hdpi/main_image.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-ldpi/main_image.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-ldpi/main_image.png new file mode 100755 index 0000000000000000000000000000000000000000..969971f84fac1e5dd795db6c65b9dc0b50af5ea4 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-ldpi/main_image.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-mdpi/main_image.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-mdpi/main_image.png new file mode 100755 index 0000000000000000000000000000000000000000..8312fcf2ac627fc39f4f53072db75842bf256a62 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-mdpi/main_image.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-xhdpi/main_image.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-xhdpi/main_image.png new file mode 100755 index 0000000000000000000000000000000000000000..9978b0af35555f5ae05a7cf33bb0fff31d5e85f8 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/drawable-xhdpi/main_image.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/layout/activity_main.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/layout/activity_main.xml new file mode 100644 index 0000000000000000000000000000000000000000..da258b76e5b7058d2b077835e118a62a55470cc1 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/layout/activity_main.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <ImageView + android:id="@+id/imageApp" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_above="@+id/textApp" + android:layout_centerHorizontal="true" + android:contentDescription="@string/app_name" + android:src="@drawable/main_image" /> + + <TextView + android:id="@+id/textApp" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerHorizontal="true" + android:layout_centerVertical="true" + android:text="@string/app_name" + android:textSize="40sp" + android:typeface="serif" /> + + <TextView + android:id="@+id/textStatus" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentBottom="true" + android:layout_centerHorizontal="true" + android:textIsSelectable="false"/> + +</RelativeLayout> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values-v11/styles.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values-v11/styles.xml new file mode 100644 index 0000000000000000000000000000000000000000..d408cbc37ad420e5564150e1989cb39f73539d35 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values-v11/styles.xml @@ -0,0 +1,5 @@ +<resources> + + <style name="AppTheme" parent="android:Theme.Holo.Light" /> + +</resources> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values-v14/styles.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values-v14/styles.xml new file mode 100644 index 0000000000000000000000000000000000000000..1c089a788c5a75c13949344137ed3698f6d2341e --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values-v14/styles.xml @@ -0,0 +1,5 @@ +<resources> + + <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar" /> + +</resources> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values/strings.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values/strings.xml new file mode 100644 index 0000000000000000000000000000000000000000..dd5ee6906be9bad3af923b5c225fb03aeaf768b1 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values/strings.xml @@ -0,0 +1,6 @@ +<resources> + + <string name="app_name">pjsua</string> + <string name="title_activity_main">MainActivity</string> + +</resources> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values/styles.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values/styles.xml new file mode 100644 index 0000000000000000000000000000000000000000..4dba0d0a4c512d8ba1304ee0100e35aa9d78490a --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/res/values/styles.xml @@ -0,0 +1,5 @@ +<resources> + + <style name="AppTheme" parent="android:Theme.Light" /> + +</resources> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/src/org/pjsip/pjsua/MainActivity.java b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/src/org/pjsip/pjsua/MainActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..aa0f98763dc32dd879b186eb07ab15f1f1d11c0f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/android/src/org/pjsip/pjsua/MainActivity.java @@ -0,0 +1,242 @@ +/* $Id: MainActivity.java $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +package org.pjsip.pjsua; + +import java.lang.ref.WeakReference; + +import android.app.Activity; +import android.content.pm.ApplicationInfo; +import android.os.Bundle; +import android.util.Log; +import android.os.Handler; +import android.os.Message; +import android.widget.TextView; + +class CONST { + public static final String LIB_FILENAME = "pjsua"; + public static final String TAG = "pjsua"; + public static final Boolean AUTOKILL_ON_FINISH = true; + public enum MSG_TYPE { + STR_DEBUG, + STR_INFO, + STR_ERROR, + CLI_STOP, + CLI_RESTART, + QUIT + }; +} + +class LOG { + public static void DEBUG(Handler h, String str) { + Message msg = Message.obtain(h, CONST.MSG_TYPE.STR_DEBUG.ordinal(), + str); + msg.sendToTarget(); + } + public static void INFO(Handler h, String str) { + Message msg = Message.obtain(h, CONST.MSG_TYPE.STR_INFO.ordinal(), + str); + msg.sendToTarget(); + } + public static void ERROR(Handler h, String str) { + Message msg = Message.obtain(h, CONST.MSG_TYPE.STR_ERROR.ordinal(), + str); + msg.sendToTarget(); + } +} + +public class MainActivity extends Activity { + private MyHandler ui_handler = new MyHandler(this); + private static MyCallback callback; + + private static class MyHandler extends Handler { + private final WeakReference<MainActivity> mTarget; + + public MyHandler(MainActivity target) { + mTarget = new WeakReference<MainActivity>(target); + } + + @Override + public void handleMessage(Message m) { + MainActivity target = mTarget.get(); + if (target == null) + return; + + if (m.what == CONST.MSG_TYPE.STR_DEBUG.ordinal()) { + Log.d(CONST.TAG, (String)m.obj); + } else if (m.what == CONST.MSG_TYPE.STR_INFO.ordinal()) { + target.updateStatus((String)m.obj); + Log.i(CONST.TAG, (String)m.obj); + } else if (m.what == CONST.MSG_TYPE.STR_ERROR.ordinal()) { + target.updateStatus((String)m.obj); + Log.e(CONST.TAG, (String)m.obj); + } else if (m.what == CONST.MSG_TYPE.CLI_STOP.ordinal()) { + pjsua.pjsuaDestroy(); + LOG.INFO(this, "Telnet Unavailable"); + } else if (m.what == CONST.MSG_TYPE.CLI_RESTART.ordinal()) { + int status = pjsua.pjsuaRestart(); + if (status != 0) { + LOG.INFO(this, "Failed restarting telnet"); + } + } else if (m.what == CONST.MSG_TYPE.QUIT.ordinal()) { + target.finish(); + System.gc(); + android.os.Process.killProcess(android.os.Process.myPid()); + } + } + } + + /** Callback object **/ + private static class MyCallback extends PjsuaAppCallback { + private WeakReference<Handler> ui_handler; + + public MyCallback(Handler in_ui_handler) { + set_ui_handler(in_ui_handler); + } + + public void set_ui_handler(Handler in_ui_handler) { + ui_handler = new WeakReference<Handler>(in_ui_handler); + } + + @Override + public void onStarted(String msg) { + Handler ui = ui_handler.get(); + LOG.INFO(ui, msg); + } + + @Override + public void onStopped(int restart) { + Handler ui = ui_handler.get(); + /** Use timer to stopped/restart **/ + if (restart != 0) { + LOG.INFO(ui, "Telnet Restarting"); + Message msg = Message.obtain(ui, + CONST.MSG_TYPE.CLI_RESTART.ordinal()); + ui.sendMessageDelayed(msg, 100); + } else { + LOG.INFO(ui, "Telnet Stopping"); + Message msg = Message.obtain(ui, + CONST.MSG_TYPE.CLI_STOP.ordinal()); + ui.sendMessageDelayed(msg, 100); + } + } + } + + private void updateStatus(String output) { + TextView tStatus = (TextView) findViewById(R.id.textStatus); + tStatus.setText(output); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + LOG.DEBUG(ui_handler, "=== Activity::onCreate() ==="); + super.onCreate(savedInstanceState); + + init_view(); + + init_lib(); + } + + @Override + protected void onStart() { + LOG.DEBUG(ui_handler, "=== Activity::onStart() ==="); + super.onStart(); + } + + @Override + protected void onRestart() { + LOG.DEBUG(ui_handler, "=== Activity::onRestart() ==="); + super.onRestart(); + } + + @Override + protected void onResume() { + LOG.DEBUG(ui_handler, "=== Activity::onResume() ==="); + super.onResume(); + } + + @Override + protected void onPause() { + LOG.DEBUG(ui_handler, "=== Activity::onPause() ==="); + super.onPause(); + } + + @Override + protected void onStop() { + LOG.DEBUG(ui_handler, "=== Activity::onStop() ==="); + super.onStop(); + } + + @Override + protected void onDestroy() { + LOG.DEBUG(ui_handler, "=== Activity::onDestroy() ==="); + super.onDestroy(); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + } + + private void init_view() { + setContentView(R.layout.activity_main); + } + + private int init_lib() { + LOG.INFO(ui_handler, "Loading module..."); + try { + System.loadLibrary(CONST.LIB_FILENAME); + } catch (UnsatisfiedLinkError e) { + LOG.ERROR(ui_handler, "UnsatisfiedLinkError: " + e.getMessage()); + return -1; + } + + // Wait for GDB to init + if ((getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) + { + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + LOG.ERROR(ui_handler, "InterruptedException: " + + e.getMessage()); + } + } + + // Set callback object + if (callback == null) + callback = new MyCallback(ui_handler); + + pjsua.setCallbackObject(callback); + + LOG.INFO(ui_handler, "Starting module.."); + + int rc = pjsua.pjsuaStart(); + + if (rc != 0) { + LOG.INFO(ui_handler, "Failed starting telnet"); + } + + return 0; + } +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/.cproject b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/.cproject new file mode 100644 index 0000000000000000000000000000000000000000..b4161a48a6b5daf1fe829f646d43c943a03a319c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/.cproject @@ -0,0 +1,181 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<?fileVersion 4.0.0?> + +<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage"> + <storageModule moduleId="org.eclipse.cdt.core.settings"> + <cconfiguration id="com.qnx.qcc.toolChain.1397290099"> + <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1397290099" moduleId="org.eclipse.cdt.core.settings" name="Device-Debug"> + <externalSettings/> + <extensions> + <extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/> + <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + </extensions> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.1397290099" name="Device-Debug" parent="org.eclipse.cdt.build.core.emptycfg"> + <folderInfo id="com.qnx.qcc.toolChain.1397290099.1659648293" name="/" resourcePath=""> + <toolChain id="com.qnx.qcc.toolChain.790780694" name="com.qnx.qcc.toolChain" superClass="com.qnx.qcc.toolChain"> + <option id="com.qnx.qcc.option.os.1073596392" name="Target OS:" superClass="com.qnx.qcc.option.os"/> + <option id="com.qnx.qcc.option.cpu.445652033" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.armle-v7" valueType="enumerated"/> + <option id="com.qnx.qcc.option.compiler.278023129" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/> + <option id="com.qnx.qcc.option.runtime.160497848" name="Runtime:" superClass="com.qnx.qcc.option.runtime"/> + <targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1555299200" osList="all" superClass="com.qnx.qcc.targetPlatform"/> + <builder autoBuildTarget="Device-Debug" enableAutoBuild="false" id="com.qnx.qcc.toolChain.1397290099.290481886" incrementalBuildTarget="Device-Debug" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/> + <tool id="com.qnx.qcc.tool.compiler.2070167245" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler"> + <option id="com.qnx.qcc.option.compiler.optlevel.270041523" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/> + <inputType id="com.qnx.qcc.inputType.compiler.2061152979" superClass="com.qnx.qcc.inputType.compiler"/> + </tool> + <tool id="com.qnx.qcc.tool.assembler.788884401" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler"> + <inputType id="com.qnx.qcc.inputType.assembler.361985539" superClass="com.qnx.qcc.inputType.assembler"/> + </tool> + <tool id="com.qnx.qcc.tool.linker.367677280" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/> + <tool id="com.qnx.qcc.tool.archiver.44861338" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/> + </toolChain> + </folderInfo> + <sourceEntries> + <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> + </sourceEntries> + </configuration> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> + </cconfiguration> + <cconfiguration id="com.qnx.qcc.toolChain.2079401108"> + <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.2079401108" moduleId="org.eclipse.cdt.core.settings" name="Device-Release"> + <externalSettings/> + <extensions> + <extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/> + <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + </extensions> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <configuration artifactName="${ProjName}" buildProperties="" description="" id="com.qnx.qcc.toolChain.2079401108" name="Device-Release" parent="org.eclipse.cdt.build.core.emptycfg"> + <folderInfo id="com.qnx.qcc.toolChain.2079401108.1026133684" name="/" resourcePath=""> + <toolChain id="com.qnx.qcc.toolChain.1240537150" name="com.qnx.qcc.toolChain" superClass="com.qnx.qcc.toolChain"> + <option id="com.qnx.qcc.option.os.1756939211" name="Target OS:" superClass="com.qnx.qcc.option.os"/> + <option id="com.qnx.qcc.option.cpu.751904034" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.armle-v7" valueType="enumerated"/> + <option id="com.qnx.qcc.option.compiler.1111407921" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/> + <option id="com.qnx.qcc.option.runtime.1247073904" name="Runtime:" superClass="com.qnx.qcc.option.runtime"/> + <targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1300126991" osList="all" superClass="com.qnx.qcc.targetPlatform"/> + <builder autoBuildTarget="Device-Release" enableAutoBuild="true" id="com.qnx.qcc.toolChain.2079401108.467426564" incrementalBuildTarget="Device-Release" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/> + <tool id="com.qnx.qcc.tool.compiler.115320452" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler"> + <option id="com.qnx.qcc.option.compiler.optlevel.77840692" name="Optimization Level" superClass="com.qnx.qcc.option.compiler.optlevel" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/> + <inputType id="com.qnx.qcc.inputType.compiler.153511514" superClass="com.qnx.qcc.inputType.compiler"/> + </tool> + <tool id="com.qnx.qcc.tool.assembler.256115398" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler"> + <inputType id="com.qnx.qcc.inputType.assembler.162112550" superClass="com.qnx.qcc.inputType.assembler"/> + </tool> + <tool id="com.qnx.qcc.tool.linker.1459781959" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/> + <tool id="com.qnx.qcc.tool.archiver.1458121549" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/> + </toolChain> + </folderInfo> + <sourceEntries> + <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> + </sourceEntries> + </configuration> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> + </cconfiguration> + <cconfiguration id="com.qnx.qcc.toolChain.53641783"> + <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.53641783" moduleId="org.eclipse.cdt.core.settings" name="Device-Profile"> + <externalSettings/> + <extensions> + <extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/> + <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + </extensions> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <configuration artifactName="${ProjName}" buildProperties="" id="com.qnx.qcc.toolChain.53641783" name="Device-Profile" parent="org.eclipse.cdt.build.core.emptycfg"> + <folderInfo id="com.qnx.qcc.toolChain.53641783.495169588" name="/" resourcePath=""> + <toolChain id="com.qnx.qcc.toolChain.1960069138" name="com.qnx.qcc.toolChain" superClass="com.qnx.qcc.toolChain"> + <option id="com.qnx.qcc.option.os.1576125079" name="Target OS:" superClass="com.qnx.qcc.option.os"/> + <option id="com.qnx.qcc.option.cpu.660725627" name="Target CPU:" superClass="com.qnx.qcc.option.cpu" value="com.qnx.qcc.option.gen.cpu.armle-v7" valueType="enumerated"/> + <option id="com.qnx.qcc.option.compiler.2088257189" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/> + <option id="com.qnx.qcc.option.runtime.313772446" name="Runtime:" superClass="com.qnx.qcc.option.runtime"/> + <targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.1321686798" osList="all" superClass="com.qnx.qcc.targetPlatform"/> + <builder autoBuildTarget="Device-Profile" enableAutoBuild="true" id="com.qnx.qcc.toolChain.53641783.656984560" incrementalBuildTarget="Device-Profile" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/> + <tool id="com.qnx.qcc.tool.compiler.880882739" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler"> + <option id="com.qnx.qcc.option.compiler.optlevel.92132752" superClass="com.qnx.qcc.option.compiler.optlevel" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/> + <inputType id="com.qnx.qcc.inputType.compiler.556018821" superClass="com.qnx.qcc.inputType.compiler"/> + </tool> + <tool id="com.qnx.qcc.tool.assembler.517973191" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler"> + <inputType id="com.qnx.qcc.inputType.assembler.521596283" superClass="com.qnx.qcc.inputType.assembler"/> + </tool> + <tool id="com.qnx.qcc.tool.linker.1497857873" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/> + <tool id="com.qnx.qcc.tool.archiver.877613266" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/> + </toolChain> + </folderInfo> + <sourceEntries> + <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> + </sourceEntries> + </configuration> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> + </cconfiguration> + <cconfiguration id="com.qnx.qcc.toolChain.1381352734"> + <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.qnx.qcc.toolChain.1381352734" moduleId="org.eclipse.cdt.core.settings" name="Simulator-Debug"> + <externalSettings/> + <extensions> + <extension id="com.qnx.tools.ide.qde.core.QDEBynaryParser" point="org.eclipse.cdt.core.BinaryParser"/> + <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/> + <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/> + </extensions> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <configuration artifactName="${ProjName}" buildProperties="" id="com.qnx.qcc.toolChain.1381352734" name="Simulator-Debug" parent="org.eclipse.cdt.build.core.emptycfg"> + <folderInfo id="com.qnx.qcc.toolChain.1381352734.493421125" name="/" resourcePath=""> + <toolChain id="com.qnx.qcc.toolChain.1137547274" name="com.qnx.qcc.toolChain" superClass="com.qnx.qcc.toolChain"> + <option id="com.qnx.qcc.option.os.1965499677" name="Target OS:" superClass="com.qnx.qcc.option.os"/> + <option id="com.qnx.qcc.option.cpu.1766020621" name="Target CPU:" superClass="com.qnx.qcc.option.cpu"/> + <option id="com.qnx.qcc.option.compiler.1426881303" name="Compiler:" superClass="com.qnx.qcc.option.compiler"/> + <option id="com.qnx.qcc.option.runtime.1550481284" name="Runtime:" superClass="com.qnx.qcc.option.runtime"/> + <targetPlatform archList="all" binaryParser="com.qnx.tools.ide.qde.core.QDEBynaryParser" id="com.qnx.qcc.targetPlatform.574443581" osList="all" superClass="com.qnx.qcc.targetPlatform"/> + <builder autoBuildTarget="Simulator-Debug" enableAutoBuild="true" id="com.qnx.qcc.toolChain.1381352734.544509991" incrementalBuildTarget="Simulator-Debug" managedBuildOn="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="org.eclipse.cdt.build.core.settings.default.builder"/> + <tool id="com.qnx.qcc.tool.compiler.1948744989" name="QCC Compiler" superClass="com.qnx.qcc.tool.compiler"> + <option id="com.qnx.qcc.option.compiler.optlevel.1706221075" superClass="com.qnx.qcc.option.compiler.optlevel" value="com.qnx.qcc.option.compiler.optlevel.0" valueType="enumerated"/> + <inputType id="com.qnx.qcc.inputType.compiler.804607589" superClass="com.qnx.qcc.inputType.compiler"/> + </tool> + <tool id="com.qnx.qcc.tool.assembler.129468570" name="QCC Assembler" superClass="com.qnx.qcc.tool.assembler"> + <inputType id="com.qnx.qcc.inputType.assembler.721693989" superClass="com.qnx.qcc.inputType.assembler"/> + </tool> + <tool id="com.qnx.qcc.tool.linker.417318241" name="QCC Linker" superClass="com.qnx.qcc.tool.linker"/> + <tool id="com.qnx.qcc.tool.archiver.189535208" name="QCC Archiver" superClass="com.qnx.qcc.tool.archiver"/> + </toolChain> + </folderInfo> + <sourceEntries> + <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/> + </sourceEntries> + </configuration> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> + </cconfiguration> + </storageModule> + <storageModule moduleId="cdtBuildSystem" version="4.0.0"> + <project id="PjsuaBB.null.929882782" name="PjsuaBB"/> + </storageModule> + <storageModule moduleId="scannerConfiguration"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/> + <scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1381352734"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/> + </scannerConfigBuildInfo> + <scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.53641783"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/> + </scannerConfigBuildInfo> + <scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.1397290099"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/> + </scannerConfigBuildInfo> + <scannerConfigBuildInfo instanceId="com.qnx.qcc.toolChain.2079401108"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.qnx.tools.ide.qde.managedbuilder.core.qccScannerInfo"/> + </scannerConfigBuildInfo> + </storageModule> + <storageModule moduleId="refreshScope" versionNumber="1"> + <resource resourceType="PROJECT" workspacePath="/PjsuaBB"/> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> +</cproject> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/.project b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/.project new file mode 100644 index 0000000000000000000000000000000000000000..190bc564fd67bd9e0fcc8e0b12eb942d6d351ce6 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/.project @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>PjsuaBB</name> + <comment></comment> + <projects> + <project>pjproject</project> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name> + <triggers>clean,full,incremental,</triggers> + <arguments> + <dictionary> + <key>?name?</key> + <value></value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.append_environment</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.autoBuildTarget</key> + <value>Device-Debug</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildArguments</key> + <value>-j2</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.buildCommand</key> + <value>make</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.cleanBuildTarget</key> + <value>clean</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.contents</key> + <value>org.eclipse.cdt.make.core.activeConfigSettings</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableAutoBuild</key> + <value>false</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableCleanBuild</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.enableFullBuild</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.fullBuildTarget</key> + <value>Device-Debug</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.stopOnError</key> + <value>true</value> + </dictionary> + <dictionary> + <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key> + <value>true</value> + </dictionary> + </arguments> + </buildCommand> + <buildCommand> + <name>com.rim.tad.tools.wst.jsdt.core.javascriptValidator</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name> + <triggers>full,incremental,</triggers> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.rim.tad.tools.qml.core.qmlFileBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.qnx.tools.bbt.xml.core.bbtXMLValidationBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.rim.tad.tools.wst.jsdt.core.jsNature</nature> + <nature>org.eclipse.cdt.core.cnature</nature> + <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature> + <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature> + <nature>com.qnx.tools.ide.bbt.core.bbtnature</nature> + <nature>org.eclipse.cdt.core.ccnature</nature> + <nature>com.rim.tad.tools.qml.core.qmlNature</nature> + </natures> +</projectDescription> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/Makefile b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..9b9223850f4de1e365c6afa7380a12652455224d --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/Makefile @@ -0,0 +1,6 @@ +QMAKE_TARGET = PjsuaBB +PROJECT_DIR := $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))) +I18N_DIR := $(PROJECT_DIR)/translations + +include mk/cs-base.mk + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/PjsuaBB.pro b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/PjsuaBB.pro new file mode 100644 index 0000000000000000000000000000000000000000..737698fc729f42bd56e6e33283c0ff90ae1582e7 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/PjsuaBB.pro @@ -0,0 +1,31 @@ +APP_NAME = PjsuaBB + +CONFIG += qt warn_on cascades10 + +include(config.pri) + +SOURCES += ../../pjsua_app.c \ + ../../pjsua_app_cli.c \ + ../../pjsua_app_common.c \ + ../../pjsua_app_config.c \ + ../../pjsua_app_legacy.c + +device { + CONFIG(debug, debug|release) { + # Device-Debug custom configuration + include(../../../../pjsip.pri) + LIBS += -lbb + } + + CONFIG(release, debug|release) { + # Device-Release custom configuration + include(../../../../pjsip.pri) + LIBS += -lbb + } +} + +simulator { + CONFIG(debug, debug|release) { + # Simulator-Debug custom configuration + } +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/assets/.assets.index b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/assets/.assets.index new file mode 100644 index 0000000000000000000000000000000000000000..d084d03d9c826d96633efa9c2aef4b8c914e5a84 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/assets/.assets.index @@ -0,0 +1,4 @@ +1 +2 +main.qml +images/teluu-logo.png diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/assets/images/teluu-logo.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/assets/images/teluu-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..97fadb5b97612c669ba2dba2851278ea1eb322b9 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/assets/images/teluu-logo.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/assets/main.qml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/assets/main.qml new file mode 100644 index 0000000000000000000000000000000000000000..dc3f7f34ac5306b95a462a8d2e28a3ed521fe253 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/assets/main.qml @@ -0,0 +1,41 @@ +// Default empty project template +import bb.cascades 1.0 + +// creates one page with a label +Page { + Container { + layout: StackLayout { + } + background: Color.Black + Label { + text: qsTr("") + horizontalAlignment: HorizontalAlignment.Center + } + ImageView { + imageSource: "asset:///images/teluu-logo.png" + topMargin: 200 + preferredWidth: 500 + preferredHeight: 500 + verticalAlignment: VerticalAlignment.Center + horizontalAlignment: HorizontalAlignment.Center + } + Label { + text: qsTr("pjsua BB10") + textStyle.base: SystemDefaults.TextStyles.BigText + horizontalAlignment: HorizontalAlignment.Center + textStyle { + color: Color.White + } + } + Label { + objectName: "telnetMsg" + text: qsTr("Starting..") + topMargin: 200 + horizontalAlignment: HorizontalAlignment.Center + textStyle { + color: Color.White + } + } + } +} + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/bar-descriptor.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/bar-descriptor.xml new file mode 100644 index 0000000000000000000000000000000000000000..c3b1d8f1a996522c72022761af18f2caad4dea77 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/bar-descriptor.xml @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!-- + + Copyright (c) 2011, 2012, 2013 Research In Motion Limited. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<qnx xmlns="http://www.qnx.com/schemas/application/1.0"> + +<!-- BlackBerry Tablet OS application descriptor file. + + Specifies parameters for identifying, installing, and launching native applications on BlackBerry Tablet OS. + +--> + + <!-- A universally unique application identifier. Must be unique across all BlackBerry Tablet OS applications. + Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. --> + <id>com.example.PjsuaBB</id> + + <!-- The name that is displayed in the BlackBerry Tablet OS application installer. + May have multiple values for each language. See samples or xsd schema file. Optional. --> + <name>PjsuaBB</name> + + <!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade. + Values can also be 1-part or 2-part. It is not necessary to have a 3-part value. + An updated version of application must have a versionNumber value higher than the previous version. Required. --> + <versionNumber>1.0.0</versionNumber> + + <!-- Fourth digit segment of the package version. First three segments are taken from the + <versionNumber> element. Must be an integer from 0 to 2^16-1 --> + <buildId>1</buildId> + + <!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. --> + <!-- <versionLabel></versionLabel> --> + + <!-- Description, displayed in the BlackBerry Tablet OS application installer. + May have multiple values for each language. See samples or xsd schema file. Optional. --> + <description>Teluu Ltd. pjsua Demo App</description> + + <!-- Copyright information. Optional. --> + <!-- <copyright></copyright> --> + + <!-- Name of author which is used for signing. Must match the developer name of your development certificate. --> + <author>Teluu Ltd.</author> + + <!-- Unique author ID assigned by signing authority. Required if using debug tokens. --> + <!-- <authorId>ABC1234YjsnUk235h</authorId> --> + + <initialWindow> + <autoOrients>true</autoOrients> + <systemChrome>none</systemChrome> + <transparent>false</transparent> + </initialWindow> + + <!-- The category where the application appears. Either core.games or core.media. --> + <category>core.media</category> + <configuration name="Device-Debug"> + <platformArchitecture>armle-v7</platformArchitecture> + <asset path="arm/o.le-v7-g/PjsuaBB" entry="true" type="Qnx/Elf">PjsuaBB</asset> + <asset path="/home/bennylp/Desktop/opt/bb10/lib/libopencore-amrnb.so.0" type="Qnx/Elf">lib/libopencore-amrnb.so.0</asset> + <asset path="/home/bennylp/Desktop/opt/bb10/lib/libopencore-amrwb.so.0" type="Qnx/Elf">lib/libopencore-amrwb.so.0</asset> + </configuration> + <configuration name="Device-Release"> + <entryPointType>Qnx/Cascades</entryPointType> + <platformArchitecture>armle-v7</platformArchitecture> + <asset path="arm/o.le-v7/PjsuaBB.so" entry="true" type="Qnx/Elf">PjsuaBB.so</asset> + </configuration> + <configuration name="Device-Profile"> + <platformArchitecture>armle-v7</platformArchitecture> + <asset path="arm-p/o.le-v7-g/PjsuaBB" entry="true" type="Qnx/Elf">PjsuaBB</asset> + </configuration> + <configuration name="Simulator-Debug"> + <platformArchitecture>x86</platformArchitecture> + <asset path="x86/o-g/PjsuaBB" entry="true" type="Qnx/Elf">PjsuaBB</asset> + </configuration> + + <!-- The icon for the application --> + <icon> + <image>icon.png</image> + </icon> + + <asset path="icon.png">icon.png</asset> + <asset path="assets">assets</asset> + + <!-- Locale support --> + + <!-- Request permission to execute native code. Required for native applications. --> + <permission system="true">run_native</permission> + <permission>access_internet</permission> + <permission>record_audio</permission> + <permission>run_when_backgrounded</permission> + <env var="LD_LIBRARY_PATH" value="app/native/lib:/usr/lib/qt4/lib"/> + +</qnx> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/config.pri b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/config.pri new file mode 100644 index 0000000000000000000000000000000000000000..2f80a4fae173fbb71e397762d73b398e874e759b --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/config.pri @@ -0,0 +1,52 @@ +# Auto-generated by IDE. Any changes made by user will be lost! +BASEDIR = $$quote($$_PRO_FILE_PWD_) + +device { + CONFIG(debug, debug|release) { + SOURCES += $$quote($$BASEDIR/src/applicationui.cpp) \ + $$quote($$BASEDIR/src/main.cpp) + + HEADERS += $$quote($$BASEDIR/src/applicationui.h) + } + + CONFIG(release, debug|release) { + SOURCES += $$quote($$BASEDIR/src/applicationui.cpp) \ + $$quote($$BASEDIR/src/main.cpp) + + HEADERS += $$quote($$BASEDIR/src/applicationui.h) + } +} + +simulator { + CONFIG(debug, debug|release) { + SOURCES += $$quote($$BASEDIR/src/applicationui.cpp) \ + $$quote($$BASEDIR/src/main.cpp) + + HEADERS += $$quote($$BASEDIR/src/applicationui.h) + } +} + +INCLUDEPATH += $$quote($$BASEDIR/src) + +CONFIG += precompile_header + +PRECOMPILED_HEADER = $$quote($$BASEDIR/precompiled.h) + +lupdate_inclusion { + SOURCES += $$quote($$BASEDIR/../src/*.c) \ + $$quote($$BASEDIR/../src/*.c++) \ + $$quote($$BASEDIR/../src/*.cc) \ + $$quote($$BASEDIR/../src/*.cpp) \ + $$quote($$BASEDIR/../src/*.cxx) \ + $$quote($$BASEDIR/../assets/*.qml) \ + $$quote($$BASEDIR/../assets/*.js) \ + $$quote($$BASEDIR/../assets/*.qs) + + HEADERS += $$quote($$BASEDIR/../src/*.h) \ + $$quote($$BASEDIR/../src/*.h++) \ + $$quote($$BASEDIR/../src/*.hh) \ + $$quote($$BASEDIR/../src/*.hpp) \ + $$quote($$BASEDIR/../src/*.hxx) +} + +TRANSLATIONS = $$quote($${TARGET}.ts) diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/icon.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dab6e7a9a7d4b51f061c3b6ff210e604abb3e73d Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/icon.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/precompiled.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/precompiled.h new file mode 100644 index 0000000000000000000000000000000000000000..6213dc4ba75648bcc8187cf844c8db177d520ef8 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/precompiled.h @@ -0,0 +1,2 @@ +// This file is used to store precompiled headers. +// It is intentionally left blank. It is up to you to decide which headers should be included here. diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/src/applicationui.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/src/applicationui.cpp new file mode 100644 index 0000000000000000000000000000000000000000..73c0d3c4e261d7ea407bb7b2bf8bb2cb07410e9c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/src/applicationui.cpp @@ -0,0 +1,179 @@ +// Default empty project template +#include "applicationui.h" + +#include <bb/cascades/Application> +#include <bb/cascades/QmlDocument> +#include <bb/cascades/AbstractPane> +#include <bb/cascades/Label> + +#define THIS_FILE "applicationui.cpp" + +using namespace bb::cascades; + +/* appUI singleton */ +ApplicationUI *ApplicationUI::instance_; + +#include "../../pjsua_app_config.h" + +void ApplicationUI::extDisplayMsg(const char *msg) +{ + /* Qt's way to invoke method from "foreign" thread */ + QMetaObject::invokeMethod((QObject*)ApplicationUI::instance(), + "displayMsg", Qt::AutoConnection, + Q_ARG(QString,msg)); +} + + +void ApplicationUI::pjsuaOnStartedCb(pj_status_t status, const char* msg) +{ + char errmsg[PJ_ERR_MSG_SIZE]; + + if (status != PJ_SUCCESS && (!msg || !*msg)) { + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(3,(THIS_FILE, "Error: %s", errmsg)); + msg = errmsg; + } else { + PJ_LOG(3,(THIS_FILE, "Started: %s", msg)); + } + + ApplicationUI::extDisplayMsg(msg); +} + + +void ApplicationUI::pjsuaOnStoppedCb(pj_bool_t restart, + int argc, char** argv) +{ + PJ_LOG(3,("ipjsua", "CLI %s request", (restart? "restart" : "shutdown"))); + if (restart) { + ApplicationUI::extDisplayMsg("Restarting.."); + pj_thread_sleep(100); + ApplicationUI::instance()->extRestartRequest(argc, argv); + } else { + ApplicationUI::extDisplayMsg("Shutting down.."); + pj_thread_sleep(100); + ApplicationUI::instance()->isShuttingDown = true; + + bb::cascades::Application *app = bb::cascades::Application::instance(); + app->quit(); + } +} + + +void ApplicationUI::pjsuaOnAppConfigCb(pjsua_app_config *cfg) +{ + PJ_UNUSED_ARG(cfg); +} + + +void ApplicationUI::extRestartRequest(int argc, char **argv) +{ + restartArgc = argc; + restartArgv = argv; + QMetaObject::invokeMethod((QObject*)this, "restartPjsua", + Qt::QueuedConnection); +} + + +void ApplicationUI::pjsuaStart() +{ + // TODO: read from config? + const char **argv = pjsua_app_def_argv; + int argc = PJ_ARRAY_SIZE(pjsua_app_def_argv) -1; + pjsua_app_cfg_t app_cfg; + pj_status_t status; + + isShuttingDown = false; + displayMsg("Starting.."); + + pj_bzero(&app_cfg, sizeof(app_cfg)); + if (restartArgc) { + app_cfg.argc = restartArgc; + app_cfg.argv = restartArgv; + } else { + app_cfg.argc = argc; + app_cfg.argv = (char**)argv; + } + app_cfg.on_started = &pjsuaOnStartedCb; + app_cfg.on_stopped = &pjsuaOnStoppedCb; + app_cfg.on_config_init = &pjsuaOnAppConfigCb; + + status = pjsua_app_init(&app_cfg); + if (status != PJ_SUCCESS) { + char errmsg[PJ_ERR_MSG_SIZE]; + pj_strerror(status, errmsg, sizeof(errmsg)); + displayMsg(QString("Init error:") + errmsg); + pjsua_app_destroy(); + return; + } + + status = pjsua_app_run(PJ_FALSE); + if (status != PJ_SUCCESS) { + char errmsg[PJ_ERR_MSG_SIZE]; + pj_strerror(status, errmsg, sizeof(errmsg)); + displayMsg(QString("Error:") + errmsg); + pjsua_app_destroy(); + } + + restartArgv = NULL; + restartArgc = 0; +} + +void ApplicationUI::pjsuaDestroy() +{ + pjsua_app_destroy(); +} + + +ApplicationUI::ApplicationUI(bb::cascades::Application *app) +: QObject(app), isShuttingDown(false), restartArgv(NULL), restartArgc(0) +{ + instance_ = this; + + QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this); + AbstractPane *root = qml->createRootObject<AbstractPane>(); + app->setScene(root); + + app->setAutoExit(true); + connect(app, SIGNAL(aboutToQuit()), this, SLOT(aboutToQuit())); + + pjsuaStart(); +} + + +ApplicationUI::~ApplicationUI() +{ + instance_ = NULL; +} + + +ApplicationUI* ApplicationUI::instance() +{ + return instance_; +} + + +void ApplicationUI::aboutToQuit() +{ + if (!isShuttingDown) { + isShuttingDown = true; + PJ_LOG(3,(THIS_FILE, "Quit signal from GUI, shutting down pjsua..")); + pjsuaDestroy(); + } +} + + +void ApplicationUI::displayMsg(const QString &msg) +{ + bb::cascades::Application *app = bb::cascades::Application::instance(); + Label *telnetMsg = app->scene()->findChild<Label*>("telnetMsg"); + if (telnetMsg) { + telnetMsg->setText(msg); + } +} + + +void ApplicationUI::restartPjsua() +{ + pjsuaDestroy(); + pjsuaStart(); +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/src/applicationui.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/src/applicationui.h new file mode 100644 index 0000000000000000000000000000000000000000..790a25e4a1dff066ad69b7cb5b8264fe60a256fc --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/src/applicationui.h @@ -0,0 +1,54 @@ +// Default empty project template +#ifndef ApplicationUI_HPP_ +#define ApplicationUI_HPP_ + +#include <QObject> + +#include "../../pjsua_app.h" + +namespace bb { namespace cascades { class Application; }} + +/*! + * @brief Application pane object + * + *Use this object to create and init app UI, to create context objects, to register the new meta types etc. + */ +class ApplicationUI : public QObject +{ + Q_OBJECT +public: + ApplicationUI(bb::cascades::Application *app); + virtual ~ApplicationUI(); + + bool isShuttingDown; + static ApplicationUI *instance(); + + /* Write msg to label (from different thread) */ + static void extDisplayMsg(const char *msg); + + /* Restart request (from different thread) */ + void extRestartRequest(int argc, char **argv); + +public slots: + void aboutToQuit(); + + Q_INVOKABLE void restartPjsua(); + Q_INVOKABLE void displayMsg(const QString &msg); + +private: + static ApplicationUI *instance_; + char **restartArgv; + int restartArgc; + + /* pjsua main operations */ + void pjsuaStart(); + void pjsuaDestroy(); + + /* pjsua app callbacks */ + static void pjsuaOnStartedCb(pj_status_t status, const char* msg); + static void pjsuaOnStoppedCb(pj_bool_t restart, int argc, char** argv); + static void pjsuaOnAppConfigCb(pjsua_app_config *cfg); +}; + + +#endif /* ApplicationUI_HPP_ */ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/src/main.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/src/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..cd2a4b66469ca5c0da91b38547d8075f49781a91 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/src/main.cpp @@ -0,0 +1,32 @@ +// Default empty project template +#include <bb/cascades/Application> + +#include <QLocale> +#include <QTranslator> +#include "applicationui.h" + +// include JS Debugger / CS Profiler enabler +// this feature is enabled by default in the debug build only +#include <Qt/qdeclarativedebug.h> + +using namespace bb::cascades; + +Q_DECL_EXPORT int main(int argc, char **argv) +{ + // this is where the server is started etc + Application app(argc, argv); + + // localization support + QTranslator translator; + QString locale_string = QLocale().name(); + QString filename = QString( "PjsuaBB_%1" ).arg( locale_string ); + if (translator.load(filename, "app/native/qm")) { + app.installTranslator( &translator ); + } + + new ApplicationUI(&app); + + // we complete the transaction started in the app constructor and start the client event loop here + return Application::exec(); + // when loop is exited the Application deletes the scene which deletes all its children (per qt rules for children) +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/translations/Makefile b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/translations/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..28fd97cbb453e3c44fc80defffc463f1de2dd540 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/translations/Makefile @@ -0,0 +1,12 @@ +QMAKE_TARGET = PjsuaBB +LUPDATE = $(QNX_HOST)/usr/bin/lupdate +LRELEASE = $(QNX_HOST)/usr/bin/lrelease + +update: $(QMAKE_TARGET).pro FORCE + $(LUPDATE) $(QMAKE_TARGET).pro + +release: $(QMAKE_TARGET).pro $(QMAKE_TARGET).ts + $(LRELEASE) $(QMAKE_TARGET).pro + +FORCE: + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/translations/PjsuaBB.pro b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/translations/PjsuaBB.pro new file mode 100644 index 0000000000000000000000000000000000000000..3f7c659ef488352fc5fa1f4fd56186661765f45a --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/translations/PjsuaBB.pro @@ -0,0 +1 @@ +include (../PjsuaBB.pro) diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/translations/PjsuaBB.ts b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/translations/PjsuaBB.ts new file mode 100644 index 0000000000000000000000000000000000000000..cdc53c8cf35b708b212f980f48c7333b51ee190f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/bb10/translations/PjsuaBB.ts @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>main</name> + <message> + <location filename="../assets/main.qml" line="11"/> + <source></source> + <translation></translation> + </message> + <message> + <location filename="../assets/main.qml" line="23"/> + <source>pjsua BB10</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../assets/main.qml" line="32"/> + <source>Starting..</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/gui.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/gui.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/gui.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/gui.h diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua.xcodeproj/project.pbxproj b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua.xcodeproj/project.pbxproj new file mode 100644 index 0000000000000000000000000000000000000000..1c6b0bd5bf9052a5ce58409ae262f777d18ae54d --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua.xcodeproj/project.pbxproj @@ -0,0 +1,491 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 3A92068F16F1DE7100D49F96 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92068E16F1DE7100D49F96 /* AudioToolbox.framework */; }; + 3A92069316F1DEA500D49F96 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A92069216F1DEA500D49F96 /* CFNetwork.framework */; }; + 3ADCCD171715338D0007BE8E /* pjsua.png in Resources */ = {isa = PBXBuildFile; fileRef = 3ADCCD161715338D0007BE8E /* pjsua.png */; }; + 3ADCCD2D172E40120007BE8E /* pjsua_app_cli.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD28172E40120007BE8E /* pjsua_app_cli.c */; }; + 3ADCCD2E172E40120007BE8E /* pjsua_app_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD29172E40120007BE8E /* pjsua_app_common.c */; }; + 3ADCCD2F172E40120007BE8E /* pjsua_app_config.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD2A172E40120007BE8E /* pjsua_app_config.c */; }; + 3ADCCD30172E40120007BE8E /* pjsua_app_legacy.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD2B172E40120007BE8E /* pjsua_app_legacy.c */; }; + 3ADCCD31172E40120007BE8E /* pjsua_app.c in Sources */ = {isa = PBXBuildFile; fileRef = 3ADCCD2C172E40120007BE8E /* pjsua_app.c */; }; + 3ADFCCFD1803B00600B0A097 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3ADFCCFC1803B00600B0A097 /* AVFoundation.framework */; }; + 3AF0580916F050770046B835 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0580816F050770046B835 /* UIKit.framework */; }; + 3AF0580B16F050770046B835 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0580A16F050770046B835 /* Foundation.framework */; }; + 3AF0580D16F050770046B835 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0580C16F050770046B835 /* CoreGraphics.framework */; }; + 3AF0581316F050780046B835 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0581116F050780046B835 /* InfoPlist.strings */; }; + 3AF0581516F050780046B835 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AF0581416F050780046B835 /* main.m */; }; + 3AF0581916F050780046B835 /* ipjsuaAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AF0581816F050780046B835 /* ipjsuaAppDelegate.m */; }; + 3AF0581B16F050780046B835 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0581A16F050780046B835 /* Default.png */; }; + 3AF0581D16F050780046B835 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0581C16F050780046B835 /* Default@2x.png */; }; + 3AF0581F16F050780046B835 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0581E16F050780046B835 /* Default-568h@2x.png */; }; + 3AF0582216F050780046B835 /* ipjsuaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AF0582116F050780046B835 /* ipjsuaViewController.m */; }; + 3AF0582516F050780046B835 /* ipjsuaViewController_iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0582316F050780046B835 /* ipjsuaViewController_iPhone.xib */; }; + 3AF0582816F050780046B835 /* ipjsuaViewController_iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3AF0582616F050780046B835 /* ipjsuaViewController_iPad.xib */; }; + 3AF0583716F057740046B835 /* libpj-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583616F057740046B835 /* libpj-arm-apple-darwin9.a */; }; + 3AF0583916F057890046B835 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583816F057890046B835 /* libpjlib-util-arm-apple-darwin9.a */; }; + 3AF0583F16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583A16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a */; }; + 3AF0584016F057B30046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583B16F057B20046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a */; }; + 3AF0584116F057B30046B835 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583C16F057B20046B835 /* libpjmedia-codec-arm-apple-darwin9.a */; }; + 3AF0584216F057B30046B835 /* libpjmedia-videodev-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583D16F057B20046B835 /* libpjmedia-videodev-arm-apple-darwin9.a */; }; + 3AF0584316F057B30046B835 /* libpjsdp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0583E16F057B20046B835 /* libpjsdp-arm-apple-darwin9.a */; }; + 3AF0584516F057D30046B835 /* libpjnath-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584416F057D30046B835 /* libpjnath-arm-apple-darwin9.a */; }; + 3AF0584A16F057F70046B835 /* libpjsip-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584616F057F70046B835 /* libpjsip-arm-apple-darwin9.a */; }; + 3AF0584B16F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584716F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a */; }; + 3AF0584C16F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584816F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a */; }; + 3AF0584D16F057F70046B835 /* libpjsua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584916F057F70046B835 /* libpjsua-arm-apple-darwin9.a */; }; + 3AF0585516F058290046B835 /* libg7221codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584E16F058290046B835 /* libg7221codec-arm-apple-darwin9.a */; }; + 3AF0585616F058290046B835 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0584F16F058290046B835 /* libgsmcodec-arm-apple-darwin9.a */; }; + 3AF0585716F058290046B835 /* libilbccodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585016F058290046B835 /* libilbccodec-arm-apple-darwin9.a */; }; + 3AF0585816F058290046B835 /* libmilenage-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585116F058290046B835 /* libmilenage-arm-apple-darwin9.a */; }; + 3AF0585916F058290046B835 /* libresample-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585216F058290046B835 /* libresample-arm-apple-darwin9.a */; }; + 3AF0585A16F058290046B835 /* libspeex-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585316F058290046B835 /* libspeex-arm-apple-darwin9.a */; }; + 3AF0585B16F058290046B835 /* libsrtp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AF0585416F058290046B835 /* libsrtp-arm-apple-darwin9.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 3A92068E16F1DE7100D49F96 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 3A92069216F1DEA500D49F96 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; + 3ADCCD161715338D0007BE8E /* pjsua.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pjsua.png; sourceTree = "<group>"; }; + 3ADCCD28172E40120007BE8E /* pjsua_app_cli.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app_cli.c; path = ../../pjsua_app_cli.c; sourceTree = "<group>"; }; + 3ADCCD29172E40120007BE8E /* pjsua_app_common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app_common.c; path = ../../pjsua_app_common.c; sourceTree = "<group>"; }; + 3ADCCD2A172E40120007BE8E /* pjsua_app_config.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app_config.c; path = ../../pjsua_app_config.c; sourceTree = "<group>"; }; + 3ADCCD2B172E40120007BE8E /* pjsua_app_legacy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app_legacy.c; path = ../../pjsua_app_legacy.c; sourceTree = "<group>"; }; + 3ADCCD2C172E40120007BE8E /* pjsua_app.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pjsua_app.c; path = ../../pjsua_app.c; sourceTree = "<group>"; }; + 3ADFCCFC1803B00600B0A097 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 3AF0580416F050770046B835 /* ipjsua.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ipjsua.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 3AF0580816F050770046B835 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 3AF0580A16F050770046B835 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 3AF0580C16F050770046B835 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 3AF0581016F050780046B835 /* ipjsua-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ipjsua-Info.plist"; sourceTree = "<group>"; }; + 3AF0581216F050780046B835 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; }; + 3AF0581416F050780046B835 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; + 3AF0581616F050780046B835 /* ipjsua-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ipjsua-Prefix.pch"; sourceTree = "<group>"; }; + 3AF0581716F050780046B835 /* ipjsuaAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ipjsuaAppDelegate.h; sourceTree = "<group>"; }; + 3AF0581816F050780046B835 /* ipjsuaAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ipjsuaAppDelegate.m; sourceTree = "<group>"; }; + 3AF0581A16F050780046B835 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; }; + 3AF0581C16F050780046B835 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = "<group>"; }; + 3AF0581E16F050780046B835 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; }; + 3AF0582016F050780046B835 /* ipjsuaViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ipjsuaViewController.h; sourceTree = "<group>"; }; + 3AF0582116F050780046B835 /* ipjsuaViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ipjsuaViewController.m; sourceTree = "<group>"; }; + 3AF0582416F050780046B835 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ipjsuaViewController_iPhone.xib; sourceTree = "<group>"; }; + 3AF0582716F050780046B835 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ipjsuaViewController_iPad.xib; sourceTree = "<group>"; }; + 3AF0583616F057740046B835 /* libpj-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpj-arm-apple-darwin9.a"; path = "../../../../pjlib/lib/libpj-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0583816F057890046B835 /* libpjlib-util-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjlib-util-arm-apple-darwin9.a"; path = "../../../../pjlib-util/lib/libpjlib-util-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0583A16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjmedia-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0583B16F057B20046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-audiodev-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjmedia-audiodev-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0583C16F057B20046B835 /* libpjmedia-codec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-codec-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjmedia-codec-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0583D16F057B20046B835 /* libpjmedia-videodev-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjmedia-videodev-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjmedia-videodev-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0583E16F057B20046B835 /* libpjsdp-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsdp-arm-apple-darwin9.a"; path = "../../../../pjmedia/lib/libpjsdp-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0584416F057D30046B835 /* libpjnath-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjnath-arm-apple-darwin9.a"; path = "../../../../pjnath/lib/libpjnath-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0584616F057F70046B835 /* libpjsip-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-arm-apple-darwin9.a"; path = "../../../../pjsip/lib/libpjsip-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0584716F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-simple-arm-apple-darwin9.a"; path = "../../../../pjsip/lib/libpjsip-simple-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0584816F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsip-ua-arm-apple-darwin9.a"; path = "../../../../pjsip/lib/libpjsip-ua-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0584916F057F70046B835 /* libpjsua-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpjsua-arm-apple-darwin9.a"; path = "../../../../pjsip/lib/libpjsua-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0584E16F058290046B835 /* libg7221codec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libg7221codec-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libg7221codec-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0584F16F058290046B835 /* libgsmcodec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libgsmcodec-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libgsmcodec-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0585016F058290046B835 /* libilbccodec-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libilbccodec-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libilbccodec-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0585116F058290046B835 /* libmilenage-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libmilenage-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libmilenage-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0585216F058290046B835 /* libresample-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libresample-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libresample-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0585316F058290046B835 /* libspeex-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libspeex-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libspeex-arm-apple-darwin9.a"; sourceTree = "<group>"; }; + 3AF0585416F058290046B835 /* libsrtp-arm-apple-darwin9.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libsrtp-arm-apple-darwin9.a"; path = "../../../../third_party/lib/libsrtp-arm-apple-darwin9.a"; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 3AF0580116F050770046B835 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3ADFCCFD1803B00600B0A097 /* AVFoundation.framework in Frameworks */, + 3A92069316F1DEA500D49F96 /* CFNetwork.framework in Frameworks */, + 3A92068F16F1DE7100D49F96 /* AudioToolbox.framework in Frameworks */, + 3AF0580916F050770046B835 /* UIKit.framework in Frameworks */, + 3AF0580B16F050770046B835 /* Foundation.framework in Frameworks */, + 3AF0580D16F050770046B835 /* CoreGraphics.framework in Frameworks */, + 3AF0583716F057740046B835 /* libpj-arm-apple-darwin9.a in Frameworks */, + 3AF0583916F057890046B835 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */, + 3AF0583F16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a in Frameworks */, + 3AF0584016F057B30046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */, + 3AF0584116F057B30046B835 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */, + 3AF0584216F057B30046B835 /* libpjmedia-videodev-arm-apple-darwin9.a in Frameworks */, + 3AF0584316F057B30046B835 /* libpjsdp-arm-apple-darwin9.a in Frameworks */, + 3AF0584516F057D30046B835 /* libpjnath-arm-apple-darwin9.a in Frameworks */, + 3AF0584A16F057F70046B835 /* libpjsip-arm-apple-darwin9.a in Frameworks */, + 3AF0584B16F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */, + 3AF0584C16F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */, + 3AF0584D16F057F70046B835 /* libpjsua-arm-apple-darwin9.a in Frameworks */, + 3AF0585516F058290046B835 /* libg7221codec-arm-apple-darwin9.a in Frameworks */, + 3AF0585616F058290046B835 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */, + 3AF0585716F058290046B835 /* libilbccodec-arm-apple-darwin9.a in Frameworks */, + 3AF0585816F058290046B835 /* libmilenage-arm-apple-darwin9.a in Frameworks */, + 3AF0585916F058290046B835 /* libresample-arm-apple-darwin9.a in Frameworks */, + 3AF0585A16F058290046B835 /* libspeex-arm-apple-darwin9.a in Frameworks */, + 3AF0585B16F058290046B835 /* libsrtp-arm-apple-darwin9.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3A92068D16F1D1A100D49F96 /* pjsua */ = { + isa = PBXGroup; + children = ( + 3ADCCD28172E40120007BE8E /* pjsua_app_cli.c */, + 3ADCCD29172E40120007BE8E /* pjsua_app_common.c */, + 3ADCCD2A172E40120007BE8E /* pjsua_app_config.c */, + 3ADCCD2B172E40120007BE8E /* pjsua_app_legacy.c */, + 3ADCCD2C172E40120007BE8E /* pjsua_app.c */, + ); + name = pjsua; + sourceTree = "<group>"; + }; + 3AF057F916F050770046B835 = { + isa = PBXGroup; + children = ( + 3AF0580E16F050770046B835 /* ipjsua */, + 3AF0580716F050770046B835 /* Frameworks */, + 3AF0580516F050770046B835 /* Products */, + 3AF0583516F056CC0046B835 /* Libraries */, + ); + sourceTree = "<group>"; + }; + 3AF0580516F050770046B835 /* Products */ = { + isa = PBXGroup; + children = ( + 3AF0580416F050770046B835 /* ipjsua.app */, + ); + name = Products; + sourceTree = "<group>"; + }; + 3AF0580716F050770046B835 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 3ADFCCFC1803B00600B0A097 /* AVFoundation.framework */, + 3A92069216F1DEA500D49F96 /* CFNetwork.framework */, + 3A92068E16F1DE7100D49F96 /* AudioToolbox.framework */, + 3AF0580816F050770046B835 /* UIKit.framework */, + 3AF0580A16F050770046B835 /* Foundation.framework */, + 3AF0580C16F050770046B835 /* CoreGraphics.framework */, + ); + name = Frameworks; + sourceTree = "<group>"; + }; + 3AF0580E16F050770046B835 /* ipjsua */ = { + isa = PBXGroup; + children = ( + 3A92068D16F1D1A100D49F96 /* pjsua */, + 3AF0581716F050780046B835 /* ipjsuaAppDelegate.h */, + 3AF0581816F050780046B835 /* ipjsuaAppDelegate.m */, + 3AF0582016F050780046B835 /* ipjsuaViewController.h */, + 3AF0582116F050780046B835 /* ipjsuaViewController.m */, + 3AF0582316F050780046B835 /* ipjsuaViewController_iPhone.xib */, + 3AF0582616F050780046B835 /* ipjsuaViewController_iPad.xib */, + 3AF0580F16F050780046B835 /* Supporting Files */, + ); + path = ipjsua; + sourceTree = "<group>"; + }; + 3AF0580F16F050780046B835 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 3AF0581016F050780046B835 /* ipjsua-Info.plist */, + 3AF0581116F050780046B835 /* InfoPlist.strings */, + 3AF0581416F050780046B835 /* main.m */, + 3AF0581616F050780046B835 /* ipjsua-Prefix.pch */, + 3ADCCD161715338D0007BE8E /* pjsua.png */, + 3AF0581A16F050780046B835 /* Default.png */, + 3AF0581C16F050780046B835 /* Default@2x.png */, + 3AF0581E16F050780046B835 /* Default-568h@2x.png */, + ); + name = "Supporting Files"; + sourceTree = "<group>"; + }; + 3AF0583516F056CC0046B835 /* Libraries */ = { + isa = PBXGroup; + children = ( + 3AF0584E16F058290046B835 /* libg7221codec-arm-apple-darwin9.a */, + 3AF0584F16F058290046B835 /* libgsmcodec-arm-apple-darwin9.a */, + 3AF0585016F058290046B835 /* libilbccodec-arm-apple-darwin9.a */, + 3AF0585116F058290046B835 /* libmilenage-arm-apple-darwin9.a */, + 3AF0585216F058290046B835 /* libresample-arm-apple-darwin9.a */, + 3AF0585316F058290046B835 /* libspeex-arm-apple-darwin9.a */, + 3AF0585416F058290046B835 /* libsrtp-arm-apple-darwin9.a */, + 3AF0584616F057F70046B835 /* libpjsip-arm-apple-darwin9.a */, + 3AF0584716F057F70046B835 /* libpjsip-simple-arm-apple-darwin9.a */, + 3AF0584816F057F70046B835 /* libpjsip-ua-arm-apple-darwin9.a */, + 3AF0584916F057F70046B835 /* libpjsua-arm-apple-darwin9.a */, + 3AF0584416F057D30046B835 /* libpjnath-arm-apple-darwin9.a */, + 3AF0583A16F057B20046B835 /* libpjmedia-arm-apple-darwin9.a */, + 3AF0583B16F057B20046B835 /* libpjmedia-audiodev-arm-apple-darwin9.a */, + 3AF0583C16F057B20046B835 /* libpjmedia-codec-arm-apple-darwin9.a */, + 3AF0583D16F057B20046B835 /* libpjmedia-videodev-arm-apple-darwin9.a */, + 3AF0583E16F057B20046B835 /* libpjsdp-arm-apple-darwin9.a */, + 3AF0583816F057890046B835 /* libpjlib-util-arm-apple-darwin9.a */, + 3AF0583616F057740046B835 /* libpj-arm-apple-darwin9.a */, + ); + name = Libraries; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 3AF0580316F050770046B835 /* ipjsua */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3AF0582B16F050780046B835 /* Build configuration list for PBXNativeTarget "ipjsua" */; + buildPhases = ( + 3AF0580016F050770046B835 /* Sources */, + 3AF0580116F050770046B835 /* Frameworks */, + 3AF0580216F050770046B835 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ipjsua; + productName = ipjsua; + productReference = 3AF0580416F050770046B835 /* ipjsua.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 3AF057FB16F050770046B835 /* Project object */ = { + isa = PBXProject; + attributes = { + CLASSPREFIX = ipjsua; + LastUpgradeCheck = 0450; + ORGANIZATIONNAME = Teluu; + }; + buildConfigurationList = 3AF057FE16F050770046B835 /* Build configuration list for PBXProject "ipjsua" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 3AF057F916F050770046B835; + productRefGroup = 3AF0580516F050770046B835 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 3AF0580316F050770046B835 /* ipjsua */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 3AF0580216F050770046B835 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3AF0581316F050780046B835 /* InfoPlist.strings in Resources */, + 3AF0581B16F050780046B835 /* Default.png in Resources */, + 3AF0581D16F050780046B835 /* Default@2x.png in Resources */, + 3AF0581F16F050780046B835 /* Default-568h@2x.png in Resources */, + 3AF0582516F050780046B835 /* ipjsuaViewController_iPhone.xib in Resources */, + 3AF0582816F050780046B835 /* ipjsuaViewController_iPad.xib in Resources */, + 3ADCCD171715338D0007BE8E /* pjsua.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 3AF0580016F050770046B835 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3AF0581516F050780046B835 /* main.m in Sources */, + 3AF0581916F050780046B835 /* ipjsuaAppDelegate.m in Sources */, + 3AF0582216F050780046B835 /* ipjsuaViewController.m in Sources */, + 3ADCCD2D172E40120007BE8E /* pjsua_app_cli.c in Sources */, + 3ADCCD2E172E40120007BE8E /* pjsua_app_common.c in Sources */, + 3ADCCD2F172E40120007BE8E /* pjsua_app_config.c in Sources */, + 3ADCCD30172E40120007BE8E /* pjsua_app_legacy.c in Sources */, + 3ADCCD31172E40120007BE8E /* pjsua_app.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 3AF0581116F050780046B835 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 3AF0581216F050780046B835 /* en */, + ); + name = InfoPlist.strings; + sourceTree = "<group>"; + }; + 3AF0582316F050780046B835 /* ipjsuaViewController_iPhone.xib */ = { + isa = PBXVariantGroup; + children = ( + 3AF0582416F050780046B835 /* en */, + ); + name = ipjsuaViewController_iPhone.xib; + sourceTree = "<group>"; + }; + 3AF0582616F050780046B835 /* ipjsuaViewController_iPad.xib */ = { + isa = PBXVariantGroup; + children = ( + 3AF0582716F050780046B835 /* en */, + ); + name = ipjsuaViewController_iPad.xib; + sourceTree = "<group>"; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3AF0582916F050780046B835 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 3AF0582A16F050780046B835 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 3AF0582C16F050780046B835 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "ipjsua/ipjsua-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "PJ_AUTOCONF=1", + USE_GUI, + ); + HEADER_SEARCH_PATHS = ( + ../../../../pjsip/include, + ../../../../pjlib/include, + "../../../../pjlib-util/include", + ../../../../pjnath/include, + ../../../../pjmedia/include, + .., + ); + INFOPLIST_FILE = "ipjsua/ipjsua-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + "\"$(SRCROOT)/../../../../pjlib/lib\"", + "\"$(SRCROOT)/../../../../pjlib-util/lib\"", + "\"$(SRCROOT)/../../../../pjmedia/lib\"", + "\"$(SRCROOT)/../../../../pjnath/lib\"", + "\"$(SRCROOT)/../../../../pjsip/lib\"", + "\"$(SRCROOT)/../../../../third_party/lib\"", + ); + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + VALID_ARCHS = armv7; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 3AF0582D16F050780046B835 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "ipjsua/ipjsua-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "PJ_AUTOCONF=1", + USE_GUI, + ); + HEADER_SEARCH_PATHS = ( + ../../../../pjsip/include, + ../../../../pjlib/include, + "../../../../pjlib-util/include", + ../../../../pjnath/include, + ../../../../pjmedia/include, + .., + ); + INFOPLIST_FILE = "ipjsua/ipjsua-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)\"", + "\"$(SRCROOT)/../../../../pjlib/lib\"", + "\"$(SRCROOT)/../../../../pjlib-util/lib\"", + "\"$(SRCROOT)/../../../../pjmedia/lib\"", + "\"$(SRCROOT)/../../../../pjnath/lib\"", + "\"$(SRCROOT)/../../../../pjsip/lib\"", + "\"$(SRCROOT)/../../../../third_party/lib\"", + ); + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + VALID_ARCHS = armv7; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3AF057FE16F050770046B835 /* Build configuration list for PBXProject "ipjsua" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3AF0582916F050780046B835 /* Debug */, + 3AF0582A16F050780046B835 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3AF0582B16F050780046B835 /* Build configuration list for PBXNativeTarget "ipjsua" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3AF0582C16F050780046B835 /* Debug */, + 3AF0582D16F050780046B835 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 3AF057FB16F050770046B835 /* Project object */; +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/Default-568h@2x.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/Default-568h@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0891b7aabfcf3422423b109c8beed2bab838c607 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/Default-568h@2x.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/Default.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8ca6f693f96d511e9113c0eb59eec552354e42 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/Default.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/Default@2x.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/Default@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..35b84cffeb4db607983c8383fa9199731dc3aba0 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/Default@2x.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/en.lproj/InfoPlist.strings b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/en.lproj/InfoPlist.strings new file mode 100644 index 0000000000000000000000000000000000000000..477b28ff8f86a3158a71c4934fbd3a2456717d7a --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/en.lproj/ipjsuaViewController_iPad.xib b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/en.lproj/ipjsuaViewController_iPad.xib new file mode 100644 index 0000000000000000000000000000000000000000..4f574f692e0175b6a2914c6fb666f7304bf56d75 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/en.lproj/ipjsuaViewController_iPad.xib @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="8.00"> + <data> + <int key="IBDocument.SystemTarget">1536</int> + <string key="IBDocument.SystemVersion">12A206j</string> + <string key="IBDocument.InterfaceBuilderVersion">2519</string> + <string key="IBDocument.AppKitVersion">1172.1</string> + <string key="IBDocument.HIToolboxVersion">613.00</string> + <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> + <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="NS.object.0">1856</string> + </object> + <array key="IBDocument.IntegratedClassDependencies"> + <string>IBProxyObject</string> + <string>IBUIView</string> + </array> + <array key="IBDocument.PluginDependencies"> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </array> + <object class="NSMutableDictionary" key="IBDocument.Metadata"> + <string key="NS.key.0">PluginDependencyRecalculationVersion</string> + <integer value="1" key="NS.object.0"/> + </object> + <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <object class="IBProxyObject" id="841351856"> + <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> + <string key="targetRuntimeIdentifier">IBIPadFramework</string> + </object> + <object class="IBProxyObject" id="606714003"> + <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> + <string key="targetRuntimeIdentifier">IBIPadFramework</string> + </object> + <object class="IBUIView" id="766721923"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">274</int> + <string key="NSFrame">{{0, 20}, {768, 1004}}</string> + <reference key="NSSuperview"/> + <reference key="NSWindow"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MQA</bytes> + <object class="NSColorSpace" key="NSCustomColorSpace"> + <int key="NSID">2</int> + </object> + </object> + <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"> + <int key="IBUIStatusBarStyle">2</int> + </object> + <string key="targetRuntimeIdentifier">IBIPadFramework</string> + </object> + </array> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <array class="NSMutableArray" key="connectionRecords"> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">view</string> + <reference key="source" ref="841351856"/> + <reference key="destination" ref="766721923"/> + </object> + <int key="connectionID">3</int> + </object> + </array> + <object class="IBMutableOrderedSet" key="objectRecords"> + <array key="orderedObjects"> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <array key="object" id="0"/> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="841351856"/> + <reference key="parent" ref="0"/> + <string key="objectName">File's Owner</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="606714003"/> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">2</int> + <reference key="object" ref="766721923"/> + <reference key="parent" ref="0"/> + </object> + </array> + </object> + <dictionary class="NSMutableDictionary" key="flattenedProperties"> + <string key="-1.CustomClassName">ipjsuaViewController</string> + <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="-2.CustomClassName">UIResponder</string> + <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </dictionary> + <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> + <nil key="activeLocalization"/> + <dictionary class="NSMutableDictionary" key="localizations"/> + <nil key="sourceID"/> + <int key="maxID">3</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <array class="NSMutableArray" key="referencedPartialClassDescriptions"> + <object class="IBPartialClassDescription"> + <string key="className">ipjsuaViewController</string> + <string key="superclassName">UIViewController</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">./Classes/ipjsuaViewController.h</string> + </object> + </object> + </array> + </object> + <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBIPadFramework</string> + <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + <bool key="IBDocument.UseAutolayout">YES</bool> + <string key="IBCocoaTouchPluginVersion">1856</string> + </data> +</archive> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/en.lproj/ipjsuaViewController_iPhone.xib b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/en.lproj/ipjsuaViewController_iPhone.xib new file mode 100644 index 0000000000000000000000000000000000000000..37bf20dbc3ecba50074d4d7b5e14110f6877cfc2 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/en.lproj/ipjsuaViewController_iPhone.xib @@ -0,0 +1,369 @@ +<?xml version="1.0" encoding="UTF-8"?> +<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00"> + <data> + <int key="IBDocument.SystemTarget">1536</int> + <string key="IBDocument.SystemVersion">11G63b</string> + <string key="IBDocument.InterfaceBuilderVersion">2840</string> + <string key="IBDocument.AppKitVersion">1138.51</string> + <string key="IBDocument.HIToolboxVersion">569.00</string> + <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> + <string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="NS.object.0">1926</string> + </object> + <array key="IBDocument.IntegratedClassDependencies"> + <string>IBNSLayoutConstraint</string> + <string>IBProxyObject</string> + <string>IBUIImageView</string> + <string>IBUILabel</string> + <string>IBUIView</string> + </array> + <array key="IBDocument.PluginDependencies"> + <string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + </array> + <object class="NSMutableDictionary" key="IBDocument.Metadata"> + <string key="NS.key.0">PluginDependencyRecalculationVersion</string> + <integer value="1" key="NS.object.0"/> + </object> + <array class="NSMutableArray" key="IBDocument.RootObjects" id="1000"> + <object class="IBProxyObject" id="372490531"> + <string key="IBProxiedObjectIdentifier">IBFilesOwner</string> + <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> + </object> + <object class="IBProxyObject" id="843779117"> + <string key="IBProxiedObjectIdentifier">IBFirstResponder</string> + <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> + </object> + <object class="IBUIView" id="774585933"> + <reference key="NSNextResponder"/> + <int key="NSvFlags">274</int> + <array class="NSMutableArray" key="NSSubviews"> + <object class="IBUIImageView" id="481975117"> + <reference key="NSNextResponder" ref="774585933"/> + <int key="NSvFlags">292</int> + <string key="NSFrameSize">{320, 528}</string> + <reference key="NSSuperview" ref="774585933"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="774652835"/> + <string key="NSReuseIdentifierKey">_NS:9</string> + <object class="NSColor" key="IBUIBackgroundColor" id="548338407"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MAA</bytes> + </object> + <int key="IBUIContentMode">5</int> + <bool key="IBUIUserInteractionEnabled">NO</bool> + <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> + <object class="NSCustomResource" key="IBUIImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">pjsua.png</string> + </object> + </object> + <object class="IBUILabel" id="774652835"> + <reference key="NSNextResponder" ref="774585933"/> + <int key="NSvFlags">292</int> + <string key="NSFrame">{{0, 527}, {328, 21}}</string> + <reference key="NSSuperview" ref="774585933"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView"/> + <string key="NSReuseIdentifierKey">_NS:9</string> + <reference key="IBUIBackgroundColor" ref="548338407"/> + <bool key="IBUIOpaque">NO</bool> + <bool key="IBUIClipsSubviews">YES</bool> + <int key="IBUIContentMode">7</int> + <bool key="IBUIUserInteractionEnabled">NO</bool> + <string key="IBUIRestorationIdentifier"/> + <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> + <string key="IBUIText">Telnet to IP:PORT</string> + <object class="NSColor" key="IBUITextColor"> + <int key="NSColorSpace">1</int> + <bytes key="NSRGB">MSAxIDEgMC42AA</bytes> + <string key="IBUIColorCocoaTouchKeyPath">lightTextColor</string> + </object> + <nil key="IBUIHighlightedColor"/> + <int key="IBUIBaselineAdjustment">0</int> + <int key="IBUITextAlignment">1</int> + <object class="IBUIFontDescription" key="IBUIFontDescription"> + <int key="type">1</int> + <double key="pointSize">17</double> + </object> + <object class="NSFont" key="IBUIFont"> + <string key="NSName">Helvetica</string> + <double key="NSSize">17</double> + <int key="NSfFlags">16</int> + </object> + <bool key="IBUIAdjustsFontSizeToFit">NO</bool> + </object> + </array> + <string key="NSFrame">{{0, 20}, {320, 548}}</string> + <reference key="NSSuperview"/> + <reference key="NSWindow"/> + <reference key="NSNextKeyView" ref="481975117"/> + <object class="NSColor" key="IBUIBackgroundColor"> + <int key="NSColorSpace">3</int> + <bytes key="NSWhite">MC43NQA</bytes> + <object class="NSColorSpace" key="NSCustomColorSpace"> + <int key="NSID">2</int> + </object> + </object> + <bool key="IBUIClearsContextBeforeDrawing">NO</bool> + <object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/> + <object class="IBUIScreenMetrics" key="IBUISimulatedDestinationMetrics"> + <string key="IBUISimulatedSizeMetricsClass">IBUIScreenMetrics</string> + <object class="NSMutableDictionary" key="IBUINormalizedOrientationToSizeMap"> + <bool key="EncodedWithXMLCoder">YES</bool> + <array key="dict.sortedKeys"> + <integer value="1"/> + <integer value="3"/> + </array> + <array key="dict.values"> + <string>{320, 568}</string> + <string>{568, 320}</string> + </array> + </object> + <string key="IBUITargetRuntime">IBCocoaTouchFramework</string> + <string key="IBUIDisplayName">Retina 4 Full Screen</string> + <int key="IBUIType">2</int> + </object> + <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string> + </object> + </array> + <object class="IBObjectContainer" key="IBDocument.Objects"> + <array class="NSMutableArray" key="connectionRecords"> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">view</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="774585933"/> + </object> + <int key="connectionID">37</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBCocoaTouchOutletConnection" key="connection"> + <string key="label">textLabel</string> + <reference key="source" ref="372490531"/> + <reference key="destination" ref="774652835"/> + </object> + <int key="connectionID">38</int> + </object> + </array> + <object class="IBMutableOrderedSet" key="objectRecords"> + <array key="orderedObjects"> + <object class="IBObjectRecord"> + <int key="objectID">0</int> + <array key="object" id="0"/> + <reference key="children" ref="1000"/> + <nil key="parent"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-1</int> + <reference key="object" ref="372490531"/> + <reference key="parent" ref="0"/> + <string key="objectName">File's Owner</string> + </object> + <object class="IBObjectRecord"> + <int key="objectID">-2</int> + <reference key="object" ref="843779117"/> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">6</int> + <reference key="object" ref="774585933"/> + <array class="NSMutableArray" key="children"> + <object class="IBNSLayoutConstraint" id="475319955"> + <reference key="firstItem" ref="774652835"/> + <int key="firstAttribute">5</int> + <int key="relation">0</int> + <reference key="secondItem" ref="774585933"/> + <int key="secondAttribute">5</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">0.0</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="774585933"/> + <int key="scoringType">8</int> + <float key="scoringTypeFloat">29</float> + <int key="contentType">3</int> + </object> + <object class="IBNSLayoutConstraint" id="853380236"> + <reference key="firstItem" ref="774652835"/> + <int key="firstAttribute">4</int> + <int key="relation">0</int> + <reference key="secondItem" ref="774585933"/> + <int key="secondAttribute">4</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">0.0</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="774585933"/> + <int key="scoringType">8</int> + <float key="scoringTypeFloat">29</float> + <int key="contentType">3</int> + </object> + <object class="IBNSLayoutConstraint" id="540227159"> + <reference key="firstItem" ref="481975117"/> + <int key="firstAttribute">3</int> + <int key="relation">0</int> + <reference key="secondItem" ref="774585933"/> + <int key="secondAttribute">3</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">0.0</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="774585933"/> + <int key="scoringType">8</int> + <float key="scoringTypeFloat">29</float> + <int key="contentType">3</int> + </object> + <object class="IBNSLayoutConstraint" id="591865091"> + <reference key="firstItem" ref="481975117"/> + <int key="firstAttribute">5</int> + <int key="relation">0</int> + <reference key="secondItem" ref="774585933"/> + <int key="secondAttribute">5</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">0.0</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="774585933"/> + <int key="scoringType">8</int> + <float key="scoringTypeFloat">29</float> + <int key="contentType">3</int> + </object> + <reference ref="774652835"/> + <reference ref="481975117"/> + </array> + <reference key="parent" ref="0"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">8</int> + <reference key="object" ref="774652835"/> + <array class="NSMutableArray" key="children"> + <object class="IBNSLayoutConstraint" id="830204274"> + <reference key="firstItem" ref="774652835"/> + <int key="firstAttribute">7</int> + <int key="relation">0</int> + <nil key="secondItem"/> + <int key="secondAttribute">0</int> + <float key="multiplier">1</float> + <object class="IBLayoutConstant" key="constant"> + <double key="value">328</double> + </object> + <float key="priority">1000</float> + <reference key="containingView" ref="774652835"/> + <int key="scoringType">3</int> + <float key="scoringTypeFloat">9</float> + <int key="contentType">1</int> + </object> + </array> + <reference key="parent" ref="774585933"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">15</int> + <reference key="object" ref="830204274"/> + <reference key="parent" ref="774652835"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">19</int> + <reference key="object" ref="853380236"/> + <reference key="parent" ref="774585933"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">20</int> + <reference key="object" ref="475319955"/> + <reference key="parent" ref="774585933"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">21</int> + <reference key="object" ref="481975117"/> + <array class="NSMutableArray" key="children"/> + <reference key="parent" ref="774585933"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">31</int> + <reference key="object" ref="540227159"/> + <reference key="parent" ref="774585933"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">30</int> + <reference key="object" ref="591865091"/> + <reference key="parent" ref="774585933"/> + </object> + </array> + </object> + <dictionary class="NSMutableDictionary" key="flattenedProperties"> + <string key="-1.CustomClassName">ipjsuaViewController</string> + <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="-2.CustomClassName">UIResponder</string> + <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="15.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="21.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <boolean value="NO" key="21.IBViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + <string key="30.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="31.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <array class="NSMutableArray" key="6.IBViewMetadataConstraints"> + <reference ref="591865091"/> + <reference ref="540227159"/> + <reference ref="853380236"/> + <reference ref="475319955"/> + </array> + <string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string> + <array class="NSMutableArray" key="8.IBViewMetadataConstraints"> + <reference ref="830204274"/> + </array> + <boolean value="NO" key="8.IBViewMetadataTranslatesAutoresizingMaskIntoConstraints"/> + </dictionary> + <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/> + <nil key="activeLocalization"/> + <dictionary class="NSMutableDictionary" key="localizations"/> + <nil key="sourceID"/> + <int key="maxID">45</int> + </object> + <object class="IBClassDescriber" key="IBDocument.Classes"> + <array class="NSMutableArray" key="referencedPartialClassDescriptions"> + <object class="IBPartialClassDescription"> + <string key="className">NSLayoutConstraint</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">./Classes/NSLayoutConstraint.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">ipjsuaViewController</string> + <string key="superclassName">UIViewController</string> + <object class="NSMutableDictionary" key="outlets"> + <string key="NS.key.0">textLabel</string> + <string key="NS.object.0">UILabel</string> + </object> + <object class="NSMutableDictionary" key="toOneOutletInfosByName"> + <string key="NS.key.0">textLabel</string> + <object class="IBToOneOutletInfo" key="NS.object.0"> + <string key="name">textLabel</string> + <string key="candidateClassName">UILabel</string> + </object> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> + <string key="minorKey">./Classes/ipjsuaViewController.h</string> + </object> + </object> + </array> + </object> + <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string> + <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> + <int key="IBDocument.defaultPropertyAccessControl">3</int> + <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> + <string key="NS.key.0">pjsua.png</string> + <string key="NS.object.0">{320, 528}</string> + </object> + <bool key="IBDocument.UseAutolayout">YES</bool> + <string key="IBCocoaTouchPluginVersion">1926</string> + </data> +</archive> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/ipjsua-Info.plist b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsua-Info.plist similarity index 65% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/ipjsua-Info.plist rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsua-Info.plist index b57ad6d67b0c3f3d46ad0b61c0ad8500bbc9f8b8..3811acf45a484d2814520786608339201321bd41 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/ipjsua-Info.plist +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsua-Info.plist @@ -3,13 +3,11 @@ <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> - <string>English</string> + <string>en</string> <key>CFBundleDisplayName</key> <string>${PRODUCT_NAME}</string> <key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string> - <key>CFBundleIconFile</key> - <string></string> <key>CFBundleIdentifier</key> <string>com.teluu.${PRODUCT_NAME:rfc1034identifier}</string> <key>CFBundleInfoDictionaryVersion</key> @@ -18,22 +16,31 @@ <string>${PRODUCT_NAME}</string> <key>CFBundlePackageType</key> <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>1.0</string> <key>LSRequiresIPhoneOS</key> <true/> - <key>NSMainNibFile</key> - <string>MainWindow</string> - <key>NSMainNibFile~ipad</key> - <string>MainWindow-iPad</string> <key>UIBackgroundModes</key> <array> <string>audio</string> <string>voip</string> </array> - <key>UIInterfaceOrientation</key> - <string>UIInterfaceOrientationLandscapeRight</string> + <key>UIRequiredDeviceCapabilities</key> + <array> + <string>armv7</string> + </array> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + </array> + <key>UISupportedInterfaceOrientations~ipad</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + </array> </dict> </plist> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/ipjsua_Prefix.pch b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsua-Prefix.pch similarity index 57% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/ipjsua_Prefix.pch rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsua-Prefix.pch index 2fe18564713f1bc083b66fa0b53e175fd6c590ef..352e658889fb336df03d1ee1c4fb5c105f3dfc97 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/ipjsua_Prefix.pch +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsua-Prefix.pch @@ -2,7 +2,13 @@ // Prefix header for all source files of the 'ipjsua' target in the 'ipjsua' project // +#import <Availability.h> + +#ifndef __IPHONE_4_0 +#warning "This project uses features only available in iOS SDK 4.0 and later." +#endif + #ifdef __OBJC__ - #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> + #import <Foundation/Foundation.h> #endif diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaAppDelegate.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaAppDelegate.h new file mode 100644 index 0000000000000000000000000000000000000000..56e6d3eac29e59400b4c23a25e9c8557c4729423 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaAppDelegate.h @@ -0,0 +1,19 @@ +// +// ipjsuaAppDelegate.h +// ipjsua +// +// Created by Liong Sauw Ming on 13/3/13. +// Copyright (c) 2013 Teluu. All rights reserved. +// + +#import <UIKit/UIKit.h> + +@class ipjsuaViewController; + +@interface ipjsuaAppDelegate : UIResponder <UIApplicationDelegate> + +@property (strong, nonatomic) UIWindow *window; + +@property (strong, nonatomic) ipjsuaViewController *viewController; + +@end diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaAppDelegate.m b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaAppDelegate.m new file mode 100644 index 0000000000000000000000000000000000000000..5bcf24098a835999e0d2dbdb528f9dd5b034e69e --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaAppDelegate.m @@ -0,0 +1,218 @@ +// +// ipjsuaAppDelegate.m +// ipjsua +// +// Created by Liong Sauw Ming on 13/3/13. +// Copyright (c) 2013 Teluu. All rights reserved. +// + +#import "ipjsuaAppDelegate.h" +#import <pjlib.h> +#import <pjsua.h> +#import <pj/log.h> + +#include "../../pjsua_app.h" +#include "../../pjsua_app_config.h" + +#import "ipjsuaViewController.h" + +@implementation ipjsuaAppDelegate + +#define THIS_FILE "ipjsuaAppDelegate.m" + +#define KEEP_ALIVE_INTERVAL 600 + +ipjsuaAppDelegate *app; +static pjsua_app_cfg_t app_cfg; +static bool isShuttingDown; +static char **restartArgv; +static int restartArgc; +static pj_thread_desc a_thread_desc; +static pj_thread_t *a_thread; + +static void displayMsg(const char *msg) +{ + NSString *str = [NSString stringWithFormat:@"%s", msg]; + [app performSelectorOnMainThread:@selector(displayMsg:) withObject:str + waitUntilDone:NO]; +} + +static void pjsuaOnStartedCb(pj_status_t status, const char* msg) +{ + char errmsg[PJ_ERR_MSG_SIZE]; + + if (status != PJ_SUCCESS && (!msg || !*msg)) { + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(3,(THIS_FILE, "Error: %s", errmsg)); + msg = errmsg; + } else { + PJ_LOG(3,(THIS_FILE, "Started: %s", msg)); + } + + displayMsg(msg); +} + +static void pjsuaOnStoppedCb(pj_bool_t restart, + int argc, char** argv) +{ + PJ_LOG(3,("ipjsua", "CLI %s request", (restart? "restart" : "shutdown"))); + if (restart) { + displayMsg("Restarting.."); + pj_thread_sleep(100); + app_cfg.argc = argc; + app_cfg.argv = argv; + } else { + displayMsg("Shutting down.."); + pj_thread_sleep(100); + isShuttingDown = true; + } +} + +static void pjsuaOnAppConfigCb(pjsua_app_config *cfg) +{ + PJ_UNUSED_ARG(cfg); +} + +- (void)displayMsg:(NSString *)str +{ + app.viewController.textLabel.text = str; +} + +- (void)pjsuaStart +{ + // TODO: read from config? + const char **argv = pjsua_app_def_argv; + int argc = PJ_ARRAY_SIZE(pjsua_app_def_argv) -1; + pj_status_t status; + + isShuttingDown = false; + displayMsg("Starting.."); + + pj_bzero(&app_cfg, sizeof(app_cfg)); + if (restartArgc) { + app_cfg.argc = restartArgc; + app_cfg.argv = restartArgv; + } else { + app_cfg.argc = argc; + app_cfg.argv = (char**)argv; + } + app_cfg.on_started = &pjsuaOnStartedCb; + app_cfg.on_stopped = &pjsuaOnStoppedCb; + app_cfg.on_config_init = &pjsuaOnAppConfigCb; + + while (!isShuttingDown) { + status = pjsua_app_init(&app_cfg); + if (status != PJ_SUCCESS) { + char errmsg[PJ_ERR_MSG_SIZE]; + pj_strerror(status, errmsg, sizeof(errmsg)); + displayMsg(errmsg); + pjsua_app_destroy(); + return; + } + + status = pjsua_app_run(PJ_TRUE); + if (status != PJ_SUCCESS) { + char errmsg[PJ_ERR_MSG_SIZE]; + pj_strerror(status, errmsg, sizeof(errmsg)); + displayMsg(errmsg); + } + + pjsua_app_destroy(); + } + + restartArgv = NULL; + restartArgc = 0; +} + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + // Override point for customization after application launch. + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { + self.viewController = [[ipjsuaViewController alloc] initWithNibName:@"ipjsuaViewController_iPhone" bundle:nil]; + } else { + self.viewController = [[ipjsuaViewController alloc] initWithNibName:@"ipjsuaViewController_iPad" bundle:nil]; + } + self.window.rootViewController = self.viewController; + [self.window makeKeyAndVisible]; + + app = self; + + /* Start pjsua app thread */ + [NSThread detachNewThreadSelector:@selector(pjsuaStart) toTarget:self withObject:nil]; + + return YES; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. +} + +- (void)keepAlive { + int i; + + if (!pj_thread_is_registered()) + { + pj_thread_register("ipjsua", a_thread_desc, &a_thread); + } + + /* Since iOS requires that the minimum keep alive interval is 600s, + * application needs to make sure that the account's registration + * timeout is long enough. + */ + for (i = 0; i < (int)pjsua_acc_get_count(); ++i) { + if (pjsua_acc_is_valid(i)) { + pjsua_acc_set_registration(i, PJ_TRUE); + } + } +} + +- (void)applicationDidEnterBackground:(UIApplication *)application +{ + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + [self performSelectorOnMainThread:@selector(keepAlive) withObject:nil waitUntilDone:YES]; + [application setKeepAliveTimeout:KEEP_ALIVE_INTERVAL handler: ^{ + [self performSelectorOnMainThread:@selector(keepAlive) withObject:nil waitUntilDone:YES]; + }]; +} + +- (void)applicationWillEnterForeground:(UIApplication *)application +{ + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + + +pj_bool_t showNotification(pjsua_call_id call_id) +{ + // Create a new notification + UILocalNotification* alert = [[UILocalNotification alloc] init]; + if (alert) + { + alert.repeatInterval = 0; + alert.alertBody = @"Incoming call received..."; + /* This action just brings the app to the FG, it doesn't + * automatically answer the call (unless you specify the + * --auto-answer option). + */ + alert.alertAction = @"Activate app"; + + [[UIApplication sharedApplication] presentLocalNotificationNow:alert]; + } + + return PJ_FALSE; +} + +@end diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaViewController.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaViewController.h new file mode 100644 index 0000000000000000000000000000000000000000..1b8927564b64294c7c8e76d327b519f258e9bdc5 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaViewController.h @@ -0,0 +1,15 @@ +// +// ipjsuaViewController.h +// ipjsua +// +// Created by Liong Sauw Ming on 13/3/13. +// Copyright (c) 2013 Teluu. All rights reserved. +// + +#import <UIKit/UIKit.h> + +@interface ipjsuaViewController : UIViewController + +@property (nonatomic, retain) IBOutlet UILabel *textLabel; + +@end diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaViewController.m b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaViewController.m new file mode 100644 index 0000000000000000000000000000000000000000..44b335ee910653337eae42ec66568ebc9ab55098 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaViewController.m @@ -0,0 +1,33 @@ +// +// ipjsuaViewController.m +// ipjsua +// +// Created by Liong Sauw Ming on 13/3/13. +// Copyright (c) 2013 Teluu. All rights reserved. +// + +#import "ipjsuaViewController.h" + +@interface ipjsuaViewController () + +@end + +@implementation ipjsuaViewController + +@synthesize textLabel; + +- (void)viewDidLoad +{ + [super viewDidLoad]; + // Do any additional setup after loading the view, typically from a nib. + + [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/main.m b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/main.m new file mode 100644 index 0000000000000000000000000000000000000000..dc2242dbcb93d127a6da23d7eb9d26dd0ee2027a --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/main.m @@ -0,0 +1,18 @@ +// +// main.m +// ipjsua +// +// Created by Liong Sauw Ming on 13/3/13. +// Copyright (c) 2013 Teluu. All rights reserved. +// + +#import <UIKit/UIKit.h> + +#import "ipjsuaAppDelegate.h" + +int main(int argc, char *argv[]) +{ + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([ipjsuaAppDelegate class])); + } +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/pjsua.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/pjsua.png new file mode 100644 index 0000000000000000000000000000000000000000..4ce4011e056fb7499dfc690fc630ce4555583247 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/ios/ipjsua/pjsua.png differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/main.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/main.c similarity index 58% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/main.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/main.c index 8f6bd67c545cd403c9283f9df33b4c3a59ceb950..f3ca2fe6ce465c69e5d634bc087c71cf23b53548 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/main.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/main.c @@ -1,4 +1,4 @@ -/* $Id: main.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: main.c 4752 2014-02-19 08:57:22Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -17,20 +17,30 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include <pjsua-lib/pjsua.h> - +#include "pjsua_app.h" #define THIS_FILE "main.c" +static pj_bool_t running = PJ_TRUE; +static pj_status_t receive_end_sig; +static pj_thread_t *sig_thread; +static pjsua_app_cfg_t cfg; -/* - * These are defined in pjsua_app.c. - */ -extern pj_bool_t app_restart; -pj_status_t app_init(int argc, char *argv[]); -pj_status_t app_main(void); -pj_status_t app_destroy(void); +/* Called when CLI (re)started */ +void on_app_started(pj_status_t status, const char *msg) +{ + pj_perror(3, THIS_FILE, status, (msg)?msg:""); +} + +void on_app_stopped(pj_bool_t restart, int argc, char** argv) +{ + if (argv) { + cfg.argc = argc; + cfg.argv = argv; + } + running = restart; +} #if defined(PJ_WIN32) && PJ_WIN32!=0 #include <windows.h> @@ -38,9 +48,7 @@ pj_status_t app_destroy(void); static pj_thread_desc handler_desc; static BOOL WINAPI CtrlHandler(DWORD fdwCtrlType) -{ - pj_thread_t *thread; - +{ switch (fdwCtrlType) { // Handle the CTRL+C signal. @@ -50,9 +58,10 @@ static BOOL WINAPI CtrlHandler(DWORD fdwCtrlType) case CTRL_BREAK_EVENT: case CTRL_LOGOFF_EVENT: case CTRL_SHUTDOWN_EVENT: - pj_thread_register("ctrlhandler", handler_desc, &thread); + pj_thread_register("ctrlhandler", handler_desc, &sig_thread); PJ_LOG(3,(THIS_FILE, "Ctrl-C detected, quitting..")); - app_destroy(); + receive_end_sig = PJ_TRUE; + pjsua_app_destroy(); ExitProcess(1); PJ_UNREACHED(return TRUE;) @@ -62,48 +71,56 @@ static BOOL WINAPI CtrlHandler(DWORD fdwCtrlType) } } -static void setup_signal_handler(void) +static void setup_socket_signal() { - SetConsoleCtrlHandler(&CtrlHandler, TRUE); } -static void setup_socket_signal() +static void setup_signal_handler(void) { + SetConsoleCtrlHandler(&CtrlHandler, TRUE); } #else #include <signal.h> -static void setup_signal_handler(void) -{ -} - static void setup_socket_signal() { signal(SIGPIPE, SIG_IGN); } +static void setup_signal_handler(void) {} #endif -static int main_func(int argc, char *argv[]) +int main_func(int argc, char *argv[]) { - setup_socket_signal(); - - do { - app_restart = PJ_FALSE; + pj_status_t status = PJ_TRUE; - if (app_init(argc, argv) != PJ_SUCCESS) - return 1; + pj_bzero(&cfg, sizeof(cfg)); + cfg.on_started = &on_app_started; + cfg.on_stopped = &on_app_stopped; + cfg.argc = argc; + cfg.argv = argv; - setup_signal_handler(); - - app_main(); - app_destroy(); - - /* This is on purpose */ - app_destroy(); - } while (app_restart); + setup_signal_handler(); + setup_socket_signal(); + while (running) { + status = pjsua_app_init(&cfg); + if (status == PJ_SUCCESS) { + status = pjsua_app_run(PJ_TRUE); + } else { + running = PJ_FALSE; + } + + if (!receive_end_sig) { + pjsua_app_destroy(); + + /* This is on purpose */ + pjsua_app_destroy(); + } else { + pj_thread_join(sig_thread); + } + } return 0; } diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/main_rtems.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/main_rtems.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsua/main_rtems.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/main_rtems.c diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app.c new file mode 100644 index 0000000000000000000000000000000000000000..f84006838ce3b9de20dfa1f25c8e02d456293d45 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app.c @@ -0,0 +1,2116 @@ +/* $Id: pjsua_app.c 4724 2014-01-31 08:52:09Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "pjsua_app.h" + +#define THIS_FILE "pjsua_app.c" + +//#define STEREO_DEMO +//#define TRANSPORT_ADAPTER_SAMPLE +//#define HAVE_MULTIPART_TEST + +/* Ringtones US UK */ +#define RINGBACK_FREQ1 440 /* 400 */ +#define RINGBACK_FREQ2 480 /* 450 */ +#define RINGBACK_ON 2000 /* 400 */ +#define RINGBACK_OFF 4000 /* 200 */ +#define RINGBACK_CNT 1 /* 2 */ +#define RINGBACK_INTERVAL 4000 /* 2000 */ + +#define RING_FREQ1 800 +#define RING_FREQ2 640 +#define RING_ON 200 +#define RING_OFF 100 +#define RING_CNT 3 +#define RING_INTERVAL 3000 + +#define current_acc pjsua_acc_get_default() + +#ifdef STEREO_DEMO +static void stereo_demo(); +#endif + +static void ringback_start(pjsua_call_id call_id); +static void ring_start(pjsua_call_id call_id); +static void ring_stop(pjsua_call_id call_id); +static pj_status_t app_init(); +static pj_status_t app_destroy(); + +static pjsua_app_cfg_t app_cfg; +pj_str_t uri_arg; +pj_bool_t app_running = PJ_FALSE; + +/***************************************************************************** + * Configuration manipulation + */ + +/***************************************************************************** + * Callback + */ +static void ringback_start(pjsua_call_id call_id) +{ + if (app_config.no_tones) + return; + + if (app_config.call_data[call_id].ringback_on) + return; + + app_config.call_data[call_id].ringback_on = PJ_TRUE; + + if (++app_config.ringback_cnt==1 && + app_config.ringback_slot!=PJSUA_INVALID_ID) + { + pjsua_conf_connect(app_config.ringback_slot, 0); + } +} + +static void ring_stop(pjsua_call_id call_id) +{ + if (app_config.no_tones) + return; + + if (app_config.call_data[call_id].ringback_on) { + app_config.call_data[call_id].ringback_on = PJ_FALSE; + + pj_assert(app_config.ringback_cnt>0); + if (--app_config.ringback_cnt == 0 && + app_config.ringback_slot!=PJSUA_INVALID_ID) + { + pjsua_conf_disconnect(app_config.ringback_slot, 0); + pjmedia_tonegen_rewind(app_config.ringback_port); + } + } + + if (app_config.call_data[call_id].ring_on) { + app_config.call_data[call_id].ring_on = PJ_FALSE; + + pj_assert(app_config.ring_cnt>0); + if (--app_config.ring_cnt == 0 && + app_config.ring_slot!=PJSUA_INVALID_ID) + { + pjsua_conf_disconnect(app_config.ring_slot, 0); + pjmedia_tonegen_rewind(app_config.ring_port); + } + } +} + +static void ring_start(pjsua_call_id call_id) +{ + if (app_config.no_tones) + return; + + if (app_config.call_data[call_id].ring_on) + return; + + app_config.call_data[call_id].ring_on = PJ_TRUE; + + if (++app_config.ring_cnt==1 && + app_config.ring_slot!=PJSUA_INVALID_ID) + { + pjsua_conf_connect(app_config.ring_slot, 0); + } +} + +/* Callback from timer when the maximum call duration has been + * exceeded. + */ +static void call_timeout_callback(pj_timer_heap_t *timer_heap, + struct pj_timer_entry *entry) +{ + pjsua_call_id call_id = entry->id; + pjsua_msg_data msg_data; + pjsip_generic_string_hdr warn; + pj_str_t hname = pj_str("Warning"); + pj_str_t hvalue = pj_str("399 pjsua \"Call duration exceeded\""); + + PJ_UNUSED_ARG(timer_heap); + + if (call_id == PJSUA_INVALID_ID) { + PJ_LOG(1,(THIS_FILE, "Invalid call ID in timer callback")); + return; + } + + /* Add warning header */ + pjsua_msg_data_init(&msg_data); + pjsip_generic_string_hdr_init2(&warn, &hname, &hvalue); + pj_list_push_back(&msg_data.hdr_list, &warn); + + /* Call duration has been exceeded; disconnect the call */ + PJ_LOG(3,(THIS_FILE, "Duration (%d seconds) has been exceeded " + "for call %d, disconnecting the call", + app_config.duration, call_id)); + entry->id = PJSUA_INVALID_ID; + pjsua_call_hangup(call_id, 200, NULL, &msg_data); +} + +/* + * Handler when invite state has changed. + */ +static void on_call_state(pjsua_call_id call_id, pjsip_event *e) +{ + pjsua_call_info call_info; + + PJ_UNUSED_ARG(e); + + pjsua_call_get_info(call_id, &call_info); + + if (call_info.state == PJSIP_INV_STATE_DISCONNECTED) { + + /* Stop all ringback for this call */ + ring_stop(call_id); + + /* Cancel duration timer, if any */ + if (app_config.call_data[call_id].timer.id != PJSUA_INVALID_ID) { + app_call_data *cd = &app_config.call_data[call_id]; + pjsip_endpoint *endpt = pjsua_get_pjsip_endpt(); + + cd->timer.id = PJSUA_INVALID_ID; + pjsip_endpt_cancel_timer(endpt, &cd->timer); + } + + /* Rewind play file when hangup automatically, + * since file is not looped + */ + if (app_config.auto_play_hangup) + pjsua_player_set_pos(app_config.wav_id, 0); + + + PJ_LOG(3,(THIS_FILE, "Call %d is DISCONNECTED [reason=%d (%s)]", + call_id, + call_info.last_status, + call_info.last_status_text.ptr)); + + if (call_id == current_call) { + find_next_call(); + } + + /* Dump media state upon disconnected */ + if (1) { + PJ_LOG(5,(THIS_FILE, + "Call %d disconnected, dumping media stats..", + call_id)); + log_call_dump(call_id); + } + + } else { + + if (app_config.duration != PJSUA_APP_NO_LIMIT_DURATION && + call_info.state == PJSIP_INV_STATE_CONFIRMED) + { + /* Schedule timer to hangup call after the specified duration */ + app_call_data *cd = &app_config.call_data[call_id]; + pjsip_endpoint *endpt = pjsua_get_pjsip_endpt(); + pj_time_val delay; + + cd->timer.id = call_id; + delay.sec = app_config.duration; + delay.msec = 0; + pjsip_endpt_schedule_timer(endpt, &cd->timer, &delay); + } + + if (call_info.state == PJSIP_INV_STATE_EARLY) { + int code; + pj_str_t reason; + pjsip_msg *msg; + + /* This can only occur because of TX or RX message */ + pj_assert(e->type == PJSIP_EVENT_TSX_STATE); + + if (e->body.tsx_state.type == PJSIP_EVENT_RX_MSG) { + msg = e->body.tsx_state.src.rdata->msg_info.msg; + } else { + msg = e->body.tsx_state.src.tdata->msg; + } + + code = msg->line.status.code; + reason = msg->line.status.reason; + + /* Start ringback for 180 for UAC unless there's SDP in 180 */ + if (call_info.role==PJSIP_ROLE_UAC && code==180 && + msg->body == NULL && + call_info.media_status==PJSUA_CALL_MEDIA_NONE) + { + ringback_start(call_id); + } + + PJ_LOG(3,(THIS_FILE, "Call %d state changed to %s (%d %.*s)", + call_id, call_info.state_text.ptr, + code, (int)reason.slen, reason.ptr)); + } else { + PJ_LOG(3,(THIS_FILE, "Call %d state changed to %s", + call_id, + call_info.state_text.ptr)); + } + + if (current_call==PJSUA_INVALID_ID) + current_call = call_id; + + } +} + +/** + * Handler when there is incoming call. + */ +static void on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, + pjsip_rx_data *rdata) +{ + pjsua_call_info call_info; + + PJ_UNUSED_ARG(acc_id); + PJ_UNUSED_ARG(rdata); + + pjsua_call_get_info(call_id, &call_info); + + if (current_call==PJSUA_INVALID_ID) + current_call = call_id; + +#ifdef USE_GUI + if (!showNotification(call_id)) + return; +#endif + + /* Start ringback */ + ring_start(call_id); + + if (app_config.auto_answer > 0) { + pjsua_call_setting call_opt; + + pjsua_call_setting_default(&call_opt); + call_opt.aud_cnt = app_config.aud_cnt; + call_opt.vid_cnt = app_config.vid.vid_cnt; + + pjsua_call_answer2(call_id, &call_opt, app_config.auto_answer, NULL, + NULL); + } + + if (app_config.auto_answer < 200) { + char notif_st[80] = {0}; + +#if PJSUA_HAS_VIDEO + if (call_info.rem_offerer && call_info.rem_vid_cnt) { + snprintf(notif_st, sizeof(notif_st), + "To %s the video, type \"vid %s\" first, " + "before answering the call!\n", + (app_config.vid.vid_cnt? "reject":"accept"), + (app_config.vid.vid_cnt? "disable":"enable")); + } +#endif + + PJ_LOG(3,(THIS_FILE, + "Incoming call for account %d!\n" + "Media count: %d audio & %d video\n" + "%s" + "From: %s\n" + "To: %s\n" + "Press %s to answer or %s to reject call", + acc_id, + call_info.rem_aud_cnt, + call_info.rem_vid_cnt, + notif_st, + call_info.remote_info.ptr, + call_info.local_info.ptr, + (app_config.use_cli?"ca a":"a"), + (app_config.use_cli?"g":"h"))); + } +} + +/* + * Handler when a transaction within a call has changed state. + */ +static void on_call_tsx_state(pjsua_call_id call_id, + pjsip_transaction *tsx, + pjsip_event *e) +{ + const pjsip_method info_method = + { + PJSIP_OTHER_METHOD, + { "INFO", 4 } + }; + + if (pjsip_method_cmp(&tsx->method, &info_method)==0) { + /* + * Handle INFO method. + */ + const pj_str_t STR_APPLICATION = { "application", 11}; + const pj_str_t STR_DTMF_RELAY = { "dtmf-relay", 10 }; + pjsip_msg_body *body = NULL; + pj_bool_t dtmf_info = PJ_FALSE; + + if (tsx->role == PJSIP_ROLE_UAC) { + if (e->body.tsx_state.type == PJSIP_EVENT_TX_MSG) + body = e->body.tsx_state.src.tdata->msg->body; + else + body = e->body.tsx_state.tsx->last_tx->msg->body; + } else { + if (e->body.tsx_state.type == PJSIP_EVENT_RX_MSG) + body = e->body.tsx_state.src.rdata->msg_info.msg->body; + } + + /* Check DTMF content in the INFO message */ + if (body && body->len && + pj_stricmp(&body->content_type.type, &STR_APPLICATION)==0 && + pj_stricmp(&body->content_type.subtype, &STR_DTMF_RELAY)==0) + { + dtmf_info = PJ_TRUE; + } + + if (dtmf_info && tsx->role == PJSIP_ROLE_UAC && + (tsx->state == PJSIP_TSX_STATE_COMPLETED || + (tsx->state == PJSIP_TSX_STATE_TERMINATED && + e->body.tsx_state.prev_state != PJSIP_TSX_STATE_COMPLETED))) + { + /* Status of outgoing INFO request */ + if (tsx->status_code >= 200 && tsx->status_code < 300) { + PJ_LOG(4,(THIS_FILE, + "Call %d: DTMF sent successfully with INFO", + call_id)); + } else if (tsx->status_code >= 300) { + PJ_LOG(4,(THIS_FILE, + "Call %d: Failed to send DTMF with INFO: %d/%.*s", + call_id, + tsx->status_code, + (int)tsx->status_text.slen, + tsx->status_text.ptr)); + } + } else if (dtmf_info && tsx->role == PJSIP_ROLE_UAS && + tsx->state == PJSIP_TSX_STATE_TRYING) + { + /* Answer incoming INFO with 200/OK */ + pjsip_rx_data *rdata; + pjsip_tx_data *tdata; + pj_status_t status; + + rdata = e->body.tsx_state.src.rdata; + + if (rdata->msg_info.msg->body) { + status = pjsip_endpt_create_response(tsx->endpt, rdata, + 200, NULL, &tdata); + if (status == PJ_SUCCESS) + status = pjsip_tsx_send_msg(tsx, tdata); + + PJ_LOG(3,(THIS_FILE, "Call %d: incoming INFO:\n%.*s", + call_id, + (int)rdata->msg_info.msg->body->len, + rdata->msg_info.msg->body->data)); + } else { + status = pjsip_endpt_create_response(tsx->endpt, rdata, + 400, NULL, &tdata); + if (status == PJ_SUCCESS) + status = pjsip_tsx_send_msg(tsx, tdata); + } + } + } +} + +/* General processing for media state. "mi" is the media index */ +static void on_call_generic_media_state(pjsua_call_info *ci, unsigned mi, + pj_bool_t *has_error) +{ + const char *status_name[] = { + "None", + "Active", + "Local hold", + "Remote hold", + "Error" + }; + + PJ_UNUSED_ARG(has_error); + + pj_assert(ci->media[mi].status <= PJ_ARRAY_SIZE(status_name)); + pj_assert(PJSUA_CALL_MEDIA_ERROR == 4); + + PJ_LOG(4,(THIS_FILE, "Call %d media %d [type=%s], status is %s", + ci->id, mi, pjmedia_type_name(ci->media[mi].type), + status_name[ci->media[mi].status])); +} + +/* Process audio media state. "mi" is the media index. */ +static void on_call_audio_state(pjsua_call_info *ci, unsigned mi, + pj_bool_t *has_error) +{ + PJ_UNUSED_ARG(has_error); + + /* Stop ringback */ + ring_stop(ci->id); + + /* Connect ports appropriately when media status is ACTIVE or REMOTE HOLD, + * otherwise we should NOT connect the ports. + */ + if (ci->media[mi].status == PJSUA_CALL_MEDIA_ACTIVE || + ci->media[mi].status == PJSUA_CALL_MEDIA_REMOTE_HOLD) + { + pj_bool_t connect_sound = PJ_TRUE; + pj_bool_t disconnect_mic = PJ_FALSE; + pjsua_conf_port_id call_conf_slot; + + call_conf_slot = ci->media[mi].stream.aud.conf_slot; + + /* Loopback sound, if desired */ + if (app_config.auto_loop) { + pjsua_conf_connect(call_conf_slot, call_conf_slot); + connect_sound = PJ_FALSE; + } + + /* Automatically record conversation, if desired */ + if (app_config.auto_rec && app_config.rec_port != PJSUA_INVALID_ID) { + pjsua_conf_connect(call_conf_slot, app_config.rec_port); + } + + /* Stream a file, if desired */ + if ((app_config.auto_play || app_config.auto_play_hangup) && + app_config.wav_port != PJSUA_INVALID_ID) + { + pjsua_conf_connect(app_config.wav_port, call_conf_slot); + connect_sound = PJ_FALSE; + } + + /* Stream AVI, if desired */ + if (app_config.avi_auto_play && + app_config.avi_def_idx != PJSUA_INVALID_ID && + app_config.avi[app_config.avi_def_idx].slot != PJSUA_INVALID_ID) + { + pjsua_conf_connect(app_config.avi[app_config.avi_def_idx].slot, + call_conf_slot); + disconnect_mic = PJ_TRUE; + } + + /* Put call in conference with other calls, if desired */ + if (app_config.auto_conf) { + pjsua_call_id call_ids[PJSUA_MAX_CALLS]; + unsigned call_cnt=PJ_ARRAY_SIZE(call_ids); + unsigned i; + + /* Get all calls, and establish media connection between + * this call and other calls. + */ + pjsua_enum_calls(call_ids, &call_cnt); + + for (i=0; i<call_cnt; ++i) { + if (call_ids[i] == ci->id) + continue; + + if (!pjsua_call_has_media(call_ids[i])) + continue; + + pjsua_conf_connect(call_conf_slot, + pjsua_call_get_conf_port(call_ids[i])); + pjsua_conf_connect(pjsua_call_get_conf_port(call_ids[i]), + call_conf_slot); + + /* Automatically record conversation, if desired */ + if (app_config.auto_rec && app_config.rec_port != + PJSUA_INVALID_ID) + { + pjsua_conf_connect(pjsua_call_get_conf_port(call_ids[i]), + app_config.rec_port); + } + + } + + /* Also connect call to local sound device */ + connect_sound = PJ_TRUE; + } + + /* Otherwise connect to sound device */ + if (connect_sound) { + pjsua_conf_connect(call_conf_slot, 0); + if (!disconnect_mic) + pjsua_conf_connect(0, call_conf_slot); + + /* Automatically record conversation, if desired */ + if (app_config.auto_rec && app_config.rec_port != PJSUA_INVALID_ID) + { + pjsua_conf_connect(call_conf_slot, app_config.rec_port); + pjsua_conf_connect(0, app_config.rec_port); + } + } + } +} + +/* Process video media state. "mi" is the media index. */ +static void on_call_video_state(pjsua_call_info *ci, unsigned mi, + pj_bool_t *has_error) +{ + if (ci->media_status != PJSUA_CALL_MEDIA_ACTIVE) + return; + + arrange_window(ci->media[mi].stream.vid.win_in); + + PJ_UNUSED_ARG(has_error); +} + +/* + * Callback on media state changed event. + * The action may connect the call to sound device, to file, or + * to loop the call. + */ +static void on_call_media_state(pjsua_call_id call_id) +{ + pjsua_call_info call_info; + unsigned mi; + pj_bool_t has_error = PJ_FALSE; + + pjsua_call_get_info(call_id, &call_info); + + for (mi=0; mi<call_info.media_cnt; ++mi) { + on_call_generic_media_state(&call_info, mi, &has_error); + + switch (call_info.media[mi].type) { + case PJMEDIA_TYPE_AUDIO: + on_call_audio_state(&call_info, mi, &has_error); + break; + case PJMEDIA_TYPE_VIDEO: + on_call_video_state(&call_info, mi, &has_error); + break; + default: + /* Make gcc happy about enum not handled by switch/case */ + break; + } + } + + if (has_error) { + pj_str_t reason = pj_str("Media failed"); + pjsua_call_hangup(call_id, 500, &reason, NULL); + } + +#if PJSUA_HAS_VIDEO + /* Check if remote has just tried to enable video */ + if (call_info.rem_offerer && call_info.rem_vid_cnt) + { + int vid_idx; + + /* Check if there is active video */ + vid_idx = pjsua_call_get_vid_stream_idx(call_id); + if (vid_idx == -1 || call_info.media[vid_idx].dir == PJMEDIA_DIR_NONE) { + PJ_LOG(3,(THIS_FILE, + "Just rejected incoming video offer on call %d, " + "use \"vid call enable %d\" or \"vid call add\" to " + "enable video!", call_id, vid_idx)); + } + } +#endif +} + +/* + * DTMF callback. + */ +static void call_on_dtmf_callback(pjsua_call_id call_id, int dtmf) +{ + PJ_LOG(3,(THIS_FILE, "Incoming DTMF on call %d: %c", call_id, dtmf)); +} + +/* + * Redirection handler. + */ +static pjsip_redirect_op call_on_redirected(pjsua_call_id call_id, + const pjsip_uri *target, + const pjsip_event *e) +{ + PJ_UNUSED_ARG(e); + + if (app_config.redir_op == PJSIP_REDIRECT_PENDING) { + char uristr[PJSIP_MAX_URL_SIZE]; + int len; + + len = pjsip_uri_print(PJSIP_URI_IN_FROMTO_HDR, target, uristr, + sizeof(uristr)); + if (len < 1) { + pj_ansi_strcpy(uristr, "--URI too long--"); + } + + PJ_LOG(3,(THIS_FILE, "Call %d is being redirected to %.*s. " + "Press 'Ra' to accept+replace To header, 'RA' to accept, " + "'Rr' to reject, or 'Rd' to disconnect.", + call_id, len, uristr)); + } + + return app_config.redir_op; +} + +/* + * Handler registration status has changed. + */ +static void on_reg_state(pjsua_acc_id acc_id) +{ + PJ_UNUSED_ARG(acc_id); + + // Log already written. +} + +/* + * Handler for incoming presence subscription request + */ +static void on_incoming_subscribe(pjsua_acc_id acc_id, + pjsua_srv_pres *srv_pres, + pjsua_buddy_id buddy_id, + const pj_str_t *from, + pjsip_rx_data *rdata, + pjsip_status_code *code, + pj_str_t *reason, + pjsua_msg_data *msg_data) +{ + /* Just accept the request (the default behavior) */ + PJ_UNUSED_ARG(acc_id); + PJ_UNUSED_ARG(srv_pres); + PJ_UNUSED_ARG(buddy_id); + PJ_UNUSED_ARG(from); + PJ_UNUSED_ARG(rdata); + PJ_UNUSED_ARG(code); + PJ_UNUSED_ARG(reason); + PJ_UNUSED_ARG(msg_data); +} + + +/* + * Handler on buddy state changed. + */ +static void on_buddy_state(pjsua_buddy_id buddy_id) +{ + pjsua_buddy_info info; + pjsua_buddy_get_info(buddy_id, &info); + + PJ_LOG(3,(THIS_FILE, "%.*s status is %.*s, subscription state is %s " + "(last termination reason code=%d %.*s)", + (int)info.uri.slen, + info.uri.ptr, + (int)info.status_text.slen, + info.status_text.ptr, + info.sub_state_name, + info.sub_term_code, + (int)info.sub_term_reason.slen, + info.sub_term_reason.ptr)); +} + + +/* + * Subscription state has changed. + */ +static void on_buddy_evsub_state(pjsua_buddy_id buddy_id, + pjsip_evsub *sub, + pjsip_event *event) +{ + char event_info[80]; + + PJ_UNUSED_ARG(sub); + + event_info[0] = '\0'; + + if (event->type == PJSIP_EVENT_TSX_STATE && + event->body.tsx_state.type == PJSIP_EVENT_RX_MSG) + { + pjsip_rx_data *rdata = event->body.tsx_state.src.rdata; + snprintf(event_info, sizeof(event_info), + " (RX %s)", + pjsip_rx_data_get_info(rdata)); + } + + PJ_LOG(4,(THIS_FILE, + "Buddy %d: subscription state: %s (event: %s%s)", + buddy_id, pjsip_evsub_get_state_name(sub), + pjsip_event_str(event->type), + event_info)); + +} + + +/** + * Incoming IM message (i.e. MESSAGE request)! + */ +static void on_pager(pjsua_call_id call_id, const pj_str_t *from, + const pj_str_t *to, const pj_str_t *contact, + const pj_str_t *mime_type, const pj_str_t *text) +{ + /* Note: call index may be -1 */ + PJ_UNUSED_ARG(call_id); + PJ_UNUSED_ARG(to); + PJ_UNUSED_ARG(contact); + PJ_UNUSED_ARG(mime_type); + + PJ_LOG(3,(THIS_FILE,"MESSAGE from %.*s: %.*s (%.*s)", + (int)from->slen, from->ptr, + (int)text->slen, text->ptr, + (int)mime_type->slen, mime_type->ptr)); +} + + +/** + * Received typing indication + */ +static void on_typing(pjsua_call_id call_id, const pj_str_t *from, + const pj_str_t *to, const pj_str_t *contact, + pj_bool_t is_typing) +{ + PJ_UNUSED_ARG(call_id); + PJ_UNUSED_ARG(to); + PJ_UNUSED_ARG(contact); + + PJ_LOG(3,(THIS_FILE, "IM indication: %.*s %s", + (int)from->slen, from->ptr, + (is_typing?"is typing..":"has stopped typing"))); +} + + +/** + * Call transfer request status. + */ +static void on_call_transfer_status(pjsua_call_id call_id, + int status_code, + const pj_str_t *status_text, + pj_bool_t final, + pj_bool_t *p_cont) +{ + PJ_LOG(3,(THIS_FILE, "Call %d: transfer status=%d (%.*s) %s", + call_id, status_code, + (int)status_text->slen, status_text->ptr, + (final ? "[final]" : ""))); + + if (status_code/100 == 2) { + PJ_LOG(3,(THIS_FILE, + "Call %d: call transferred successfully, disconnecting call", + call_id)); + pjsua_call_hangup(call_id, PJSIP_SC_GONE, NULL, NULL); + *p_cont = PJ_FALSE; + } +} + + +/* + * Notification that call is being replaced. + */ +static void on_call_replaced(pjsua_call_id old_call_id, + pjsua_call_id new_call_id) +{ + pjsua_call_info old_ci, new_ci; + + pjsua_call_get_info(old_call_id, &old_ci); + pjsua_call_get_info(new_call_id, &new_ci); + + PJ_LOG(3,(THIS_FILE, "Call %d with %.*s is being replaced by " + "call %d with %.*s", + old_call_id, + (int)old_ci.remote_info.slen, old_ci.remote_info.ptr, + new_call_id, + (int)new_ci.remote_info.slen, new_ci.remote_info.ptr)); +} + + +/* + * NAT type detection callback. + */ +static void on_nat_detect(const pj_stun_nat_detect_result *res) +{ + if (res->status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "NAT detection failed", res->status); + } else { + PJ_LOG(3, (THIS_FILE, "NAT detected as %s", res->nat_type_name)); + } +} + + +/* + * MWI indication + */ +static void on_mwi_info(pjsua_acc_id acc_id, pjsua_mwi_info *mwi_info) +{ + pj_str_t body; + + PJ_LOG(3,(THIS_FILE, "Received MWI for acc %d:", acc_id)); + + if (mwi_info->rdata->msg_info.ctype) { + const pjsip_ctype_hdr *ctype = mwi_info->rdata->msg_info.ctype; + + PJ_LOG(3,(THIS_FILE, " Content-Type: %.*s/%.*s", + (int)ctype->media.type.slen, + ctype->media.type.ptr, + (int)ctype->media.subtype.slen, + ctype->media.subtype.ptr)); + } + + if (!mwi_info->rdata->msg_info.msg->body) { + PJ_LOG(3,(THIS_FILE, " no message body")); + return; + } + + body.ptr = (char *)mwi_info->rdata->msg_info.msg->body->data; + body.slen = mwi_info->rdata->msg_info.msg->body->len; + + PJ_LOG(3,(THIS_FILE, " Body:\n%.*s", (int)body.slen, body.ptr)); +} + + +/* + * Transport status notification + */ +static void on_transport_state(pjsip_transport *tp, + pjsip_transport_state state, + const pjsip_transport_state_info *info) +{ + char host_port[128]; + + pj_ansi_snprintf(host_port, sizeof(host_port), "[%.*s:%d]", + (int)tp->remote_name.host.slen, + tp->remote_name.host.ptr, + tp->remote_name.port); + + switch (state) { + case PJSIP_TP_STATE_CONNECTED: + { + PJ_LOG(3,(THIS_FILE, "SIP %s transport is connected to %s", + tp->type_name, host_port)); + } + break; + + case PJSIP_TP_STATE_DISCONNECTED: + { + char buf[100]; + + snprintf(buf, sizeof(buf), "SIP %s transport is disconnected " + "from %s", tp->type_name, host_port); + pjsua_perror(THIS_FILE, buf, info->status); + } + break; + + default: + break; + } + +#if defined(PJSIP_HAS_TLS_TRANSPORT) && PJSIP_HAS_TLS_TRANSPORT!=0 + + if (!pj_ansi_stricmp(tp->type_name, "tls") && info->ext_info && + (state == PJSIP_TP_STATE_CONNECTED || + ((pjsip_tls_state_info*)info->ext_info)-> + ssl_sock_info->verify_status != PJ_SUCCESS)) + { + pjsip_tls_state_info *tls_info = (pjsip_tls_state_info*)info->ext_info; + pj_ssl_sock_info *ssl_sock_info = tls_info->ssl_sock_info; + char buf[2048]; + const char *verif_msgs[32]; + unsigned verif_msg_cnt; + + /* Dump server TLS cipher */ + PJ_LOG(4,(THIS_FILE, "TLS cipher used: 0x%06X/%s", + ssl_sock_info->cipher, + pj_ssl_cipher_name(ssl_sock_info->cipher) )); + + /* Dump server TLS certificate */ + pj_ssl_cert_info_dump(ssl_sock_info->remote_cert_info, " ", + buf, sizeof(buf)); + PJ_LOG(4,(THIS_FILE, "TLS cert info of %s:\n%s", host_port, buf)); + + /* Dump server TLS certificate verification result */ + verif_msg_cnt = PJ_ARRAY_SIZE(verif_msgs); + pj_ssl_cert_get_verify_status_strings(ssl_sock_info->verify_status, + verif_msgs, &verif_msg_cnt); + PJ_LOG(3,(THIS_FILE, "TLS cert verification result of %s : %s", + host_port, + (verif_msg_cnt == 1? verif_msgs[0]:""))); + if (verif_msg_cnt > 1) { + unsigned i; + for (i = 0; i < verif_msg_cnt; ++i) + PJ_LOG(3,(THIS_FILE, "- %s", verif_msgs[i])); + } + + if (ssl_sock_info->verify_status && + !app_config.udp_cfg.tls_setting.verify_server) + { + PJ_LOG(3,(THIS_FILE, "PJSUA is configured to ignore TLS cert " + "verification errors")); + } + } + +#endif + +} + +/* + * Notification on ICE error. + */ +static void on_ice_transport_error(int index, pj_ice_strans_op op, + pj_status_t status, void *param) +{ + PJ_UNUSED_ARG(op); + PJ_UNUSED_ARG(param); + PJ_PERROR(1,(THIS_FILE, status, + "ICE keep alive failure for transport %d", index)); +} + +/* + * Notification on sound device operation. + */ +static pj_status_t on_snd_dev_operation(int operation) +{ + PJ_LOG(3,(THIS_FILE, "Turning sound device %s", (operation? "ON":"OFF"))); + return PJ_SUCCESS; +} + +/* Callback on media events */ +static void on_call_media_event(pjsua_call_id call_id, + unsigned med_idx, + pjmedia_event *event) +{ + char event_name[5]; + + PJ_LOG(5,(THIS_FILE, "Event %s", + pjmedia_fourcc_name(event->type, event_name))); + +#if PJSUA_HAS_VIDEO + if (event->type == PJMEDIA_EVENT_FMT_CHANGED) { + /* Adjust renderer window size to original video size */ + pjsua_call_info ci; + pjsua_vid_win_id wid; + pjmedia_rect_size size; + + pjsua_call_get_info(call_id, &ci); + + if ((ci.media[med_idx].type == PJMEDIA_TYPE_VIDEO) && + (ci.media[med_idx].dir & PJMEDIA_DIR_DECODING)) + { + wid = ci.media[med_idx].stream.vid.win_in; + size = event->data.fmt_changed.new_fmt.det.vid.size; + pjsua_vid_win_set_size(wid, &size); + } + + /* Re-arrange video windows */ + arrange_window(PJSUA_INVALID_ID); + } +#else + PJ_UNUSED_ARG(call_id); + PJ_UNUSED_ARG(med_idx); + PJ_UNUSED_ARG(event); +#endif +} + +#ifdef TRANSPORT_ADAPTER_SAMPLE +/* + * This callback is called when media transport needs to be created. + */ +static pjmedia_transport* on_create_media_transport(pjsua_call_id call_id, + unsigned media_idx, + pjmedia_transport *base_tp, + unsigned flags) +{ + pjmedia_transport *adapter; + pj_status_t status; + + /* Create the adapter */ + status = pjmedia_tp_adapter_create(pjsua_get_pjmedia_endpt(), + NULL, base_tp, + (flags & PJSUA_MED_TP_CLOSE_MEMBER), + &adapter); + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, status, "Error creating adapter")); + return NULL; + } + + PJ_LOG(3,(THIS_FILE, "Media transport is created for call %d media %d", + call_id, media_idx)); + + return adapter; +} +#endif + +/* Playfile done notification, set timer to hangup calls */ +pj_status_t on_playfile_done(pjmedia_port *port, void *usr_data) +{ + pj_time_val delay; + + PJ_UNUSED_ARG(port); + PJ_UNUSED_ARG(usr_data); + + /* Just rewind WAV when it is played outside of call */ + if (pjsua_call_get_count() == 0) { + pjsua_player_set_pos(app_config.wav_id, 0); + return PJ_SUCCESS; + } + + /* Timer is already active */ + if (app_config.auto_hangup_timer.id == 1) + return PJ_SUCCESS; + + app_config.auto_hangup_timer.id = 1; + delay.sec = 0; + delay.msec = 200; /* Give 200 ms before hangup */ + pjsip_endpt_schedule_timer(pjsua_get_pjsip_endpt(), + &app_config.auto_hangup_timer, + &delay); + + return PJ_SUCCESS; +} + +/* Auto hangup timer callback */ +static void hangup_timeout_callback(pj_timer_heap_t *timer_heap, + struct pj_timer_entry *entry) +{ + PJ_UNUSED_ARG(timer_heap); + PJ_UNUSED_ARG(entry); + + app_config.auto_hangup_timer.id = 0; + pjsua_call_hangup_all(); +} + +/* + * A simple registrar, invoked by default_mod_on_rx_request() + */ +static void simple_registrar(pjsip_rx_data *rdata) +{ + pjsip_tx_data *tdata; + const pjsip_expires_hdr *exp; + const pjsip_hdr *h; + unsigned cnt = 0; + pjsip_generic_string_hdr *srv; + pj_status_t status; + + status = pjsip_endpt_create_response(pjsua_get_pjsip_endpt(), + rdata, 200, NULL, &tdata); + if (status != PJ_SUCCESS) + return; + + exp = (pjsip_expires_hdr *)pjsip_msg_find_hdr(rdata->msg_info.msg, + PJSIP_H_EXPIRES, NULL); + + h = rdata->msg_info.msg->hdr.next; + while (h != &rdata->msg_info.msg->hdr) { + if (h->type == PJSIP_H_CONTACT) { + const pjsip_contact_hdr *c = (const pjsip_contact_hdr*)h; + int e = c->expires; + + if (e < 0) { + if (exp) + e = exp->ivalue; + else + e = 3600; + } + + if (e > 0) { + pjsip_contact_hdr *nc = (pjsip_contact_hdr *)pjsip_hdr_clone( + tdata->pool, h); + nc->expires = e; + pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)nc); + ++cnt; + } + } + h = h->next; + } + + srv = pjsip_generic_string_hdr_create(tdata->pool, NULL, NULL); + srv->name = pj_str("Server"); + srv->hvalue = pj_str("pjsua simple registrar"); + pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)srv); + + pjsip_endpt_send_response2(pjsua_get_pjsip_endpt(), + rdata, tdata, NULL, NULL); +} + +/***************************************************************************** + * A simple module to handle otherwise unhandled request. We will register + * this with the lowest priority. + */ + +/* Notification on incoming request */ +static pj_bool_t default_mod_on_rx_request(pjsip_rx_data *rdata) +{ + pjsip_tx_data *tdata; + pjsip_status_code status_code; + pj_status_t status; + + /* Don't respond to ACK! */ + if (pjsip_method_cmp(&rdata->msg_info.msg->line.req.method, + &pjsip_ack_method) == 0) + return PJ_TRUE; + + /* Simple registrar */ + if (pjsip_method_cmp(&rdata->msg_info.msg->line.req.method, + &pjsip_register_method) == 0) + { + simple_registrar(rdata); + return PJ_TRUE; + } + + /* Create basic response. */ + if (pjsip_method_cmp(&rdata->msg_info.msg->line.req.method, + &pjsip_notify_method) == 0) + { + /* Unsolicited NOTIFY's, send with Bad Request */ + status_code = PJSIP_SC_BAD_REQUEST; + } else { + /* Probably unknown method */ + status_code = PJSIP_SC_METHOD_NOT_ALLOWED; + } + status = pjsip_endpt_create_response(pjsua_get_pjsip_endpt(), + rdata, status_code, + NULL, &tdata); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Unable to create response", status); + return PJ_TRUE; + } + + /* Add Allow if we're responding with 405 */ + if (status_code == PJSIP_SC_METHOD_NOT_ALLOWED) { + const pjsip_hdr *cap_hdr; + cap_hdr = pjsip_endpt_get_capability(pjsua_get_pjsip_endpt(), + PJSIP_H_ALLOW, NULL); + if (cap_hdr) { + pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr *)pjsip_hdr_clone( + tdata->pool, cap_hdr)); + } + } + + /* Add User-Agent header */ + { + pj_str_t user_agent; + char tmp[80]; + const pj_str_t USER_AGENT = { "User-Agent", 10}; + pjsip_hdr *h; + + pj_ansi_snprintf(tmp, sizeof(tmp), "PJSUA v%s/%s", + pj_get_version(), PJ_OS_NAME); + pj_strdup2_with_null(tdata->pool, &user_agent, tmp); + + h = (pjsip_hdr*) pjsip_generic_string_hdr_create(tdata->pool, + &USER_AGENT, + &user_agent); + pjsip_msg_add_hdr(tdata->msg, h); + } + + pjsip_endpt_send_response2(pjsua_get_pjsip_endpt(), rdata, tdata, + NULL, NULL); + + return PJ_TRUE; +} + +/* The module instance. */ +static pjsip_module mod_default_handler = +{ + NULL, NULL, /* prev, next. */ + { "mod-default-handler", 19 }, /* Name. */ + -1, /* Id */ + PJSIP_MOD_PRIORITY_APPLICATION+99, /* Priority */ + NULL, /* load() */ + NULL, /* start() */ + NULL, /* stop() */ + NULL, /* unload() */ + &default_mod_on_rx_request, /* on_rx_request() */ + NULL, /* on_rx_response() */ + NULL, /* on_tx_request. */ + NULL, /* on_tx_response() */ + NULL, /* on_tsx_state() */ + +}; + +/** CLI callback **/ + +/* Called on CLI (re)started, e.g: initial start, after iOS bg */ +void cli_on_started(pj_status_t status) +{ + /* Notify app */ + if (app_cfg.on_started) { + if (status == PJ_SUCCESS) { + char info[128]; + cli_get_info(info, sizeof(info)); + if (app_cfg.on_started) { + (*app_cfg.on_started)(status, info); + } + } else { + if (app_cfg.on_started) { + (*app_cfg.on_started)(status, NULL); + } + } + } +} + +/* Called on CLI quit */ +void cli_on_stopped(pj_bool_t restart, int argc, char* argv[]) +{ + /* Notify app */ + if (app_cfg.on_stopped) + (*app_cfg.on_stopped)(restart, argc, argv); +} + + +/* Called on pjsua legacy quit */ +void legacy_on_stopped(pj_bool_t restart) +{ + /* Notify app */ + if (app_cfg.on_stopped) + (*app_cfg.on_stopped)(restart, 1, NULL); +} + +/***************************************************************************** + * Public API + */ + +int stdout_refresh_proc(void *arg) +{ + extern char *stdout_refresh_text; + + PJ_UNUSED_ARG(arg); + + /* Set thread to lowest priority so that it doesn't clobber + * stdout output + */ + pj_thread_set_prio(pj_thread_this(), + pj_thread_get_prio_min(pj_thread_this())); + + while (!stdout_refresh_quit) { + pj_thread_sleep(stdout_refresh * 1000); + puts(stdout_refresh_text); + fflush(stdout); + } + + return 0; +} + +static pj_status_t app_init() +{ + pjsua_transport_id transport_id = -1; + pjsua_transport_config tcp_cfg; + unsigned i; + pj_pool_t *tmp_pool; + pj_status_t status; + + /** Create pjsua **/ + status = pjsua_create(); + if (status != PJ_SUCCESS) + return status; + + /* Create pool for application */ + app_config.pool = pjsua_pool_create("pjsua-app", 1000, 1000); + tmp_pool = pjsua_pool_create("tmp-pjsua", 1000, 1000);; + + /* Init CLI & its FE settings */ + if (!app_running) { + pj_cli_cfg_default(&app_config.cli_cfg.cfg); + pj_cli_telnet_cfg_default(&app_config.cli_cfg.telnet_cfg); + pj_cli_console_cfg_default(&app_config.cli_cfg.console_cfg); + app_config.cli_cfg.telnet_cfg.on_started = cli_on_started; + } + + /** Parse args **/ + status = load_config(app_cfg.argc, app_cfg.argv, &uri_arg); + if (status != PJ_SUCCESS) { + pj_pool_release(tmp_pool); + return status; + } + + /* Initialize application callbacks */ + app_config.cfg.cb.on_call_state = &on_call_state; + app_config.cfg.cb.on_call_media_state = &on_call_media_state; + app_config.cfg.cb.on_incoming_call = &on_incoming_call; + app_config.cfg.cb.on_call_tsx_state = &on_call_tsx_state; + app_config.cfg.cb.on_dtmf_digit = &call_on_dtmf_callback; + app_config.cfg.cb.on_call_redirected = &call_on_redirected; + app_config.cfg.cb.on_reg_state = &on_reg_state; + app_config.cfg.cb.on_incoming_subscribe = &on_incoming_subscribe; + app_config.cfg.cb.on_buddy_state = &on_buddy_state; + app_config.cfg.cb.on_buddy_evsub_state = &on_buddy_evsub_state; + app_config.cfg.cb.on_pager = &on_pager; + app_config.cfg.cb.on_typing = &on_typing; + app_config.cfg.cb.on_call_transfer_status = &on_call_transfer_status; + app_config.cfg.cb.on_call_replaced = &on_call_replaced; + app_config.cfg.cb.on_nat_detect = &on_nat_detect; + app_config.cfg.cb.on_mwi_info = &on_mwi_info; + app_config.cfg.cb.on_transport_state = &on_transport_state; + app_config.cfg.cb.on_ice_transport_error = &on_ice_transport_error; + app_config.cfg.cb.on_snd_dev_operation = &on_snd_dev_operation; + app_config.cfg.cb.on_call_media_event = &on_call_media_event; +#ifdef TRANSPORT_ADAPTER_SAMPLE + app_config.cfg.cb.on_create_media_transport = &on_create_media_transport; +#endif + + /* Set sound device latency */ + if (app_config.capture_lat > 0) + app_config.media_cfg.snd_rec_latency = app_config.capture_lat; + if (app_config.playback_lat) + app_config.media_cfg.snd_play_latency = app_config.playback_lat; + + if (app_cfg.on_config_init) + (*app_cfg.on_config_init)(&app_config); + + /* Initialize pjsua */ + status = pjsua_init(&app_config.cfg, &app_config.log_cfg, + &app_config.media_cfg); + if (status != PJ_SUCCESS) { + pj_pool_release(tmp_pool); + return status; + } + + /* Initialize our module to handle otherwise unhandled request */ + status = pjsip_endpt_register_module(pjsua_get_pjsip_endpt(), + &mod_default_handler); + if (status != PJ_SUCCESS) + return status; + +#ifdef STEREO_DEMO + stereo_demo(); +#endif + + /* Initialize calls data */ + for (i=0; i<PJ_ARRAY_SIZE(app_config.call_data); ++i) { + app_config.call_data[i].timer.id = PJSUA_INVALID_ID; + app_config.call_data[i].timer.cb = &call_timeout_callback; + } + + /* Optionally registers WAV file */ + for (i=0; i<app_config.wav_count; ++i) { + pjsua_player_id wav_id; + unsigned play_options = 0; + + if (app_config.auto_play_hangup) + play_options |= PJMEDIA_FILE_NO_LOOP; + + status = pjsua_player_create(&app_config.wav_files[i], play_options, + &wav_id); + if (status != PJ_SUCCESS) + goto on_error; + + if (app_config.wav_id == PJSUA_INVALID_ID) { + app_config.wav_id = wav_id; + app_config.wav_port = pjsua_player_get_conf_port(app_config.wav_id); + if (app_config.auto_play_hangup) { + pjmedia_port *port; + + pjsua_player_get_port(app_config.wav_id, &port); + status = pjmedia_wav_player_set_eof_cb(port, NULL, + &on_playfile_done); + if (status != PJ_SUCCESS) + goto on_error; + + pj_timer_entry_init(&app_config.auto_hangup_timer, 0, NULL, + &hangup_timeout_callback); + } + } + } + + /* Optionally registers tone players */ + for (i=0; i<app_config.tone_count; ++i) { + pjmedia_port *tport; + char name[80]; + pj_str_t label; + pj_status_t status; + + pj_ansi_snprintf(name, sizeof(name), "tone-%d,%d", + app_config.tones[i].freq1, + app_config.tones[i].freq2); + label = pj_str(name); + status = pjmedia_tonegen_create2(app_config.pool, &label, + 8000, 1, 160, 16, + PJMEDIA_TONEGEN_LOOP, &tport); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Unable to create tone generator", status); + goto on_error; + } + + status = pjsua_conf_add_port(app_config.pool, tport, + &app_config.tone_slots[i]); + pj_assert(status == PJ_SUCCESS); + + status = pjmedia_tonegen_play(tport, 1, &app_config.tones[i], 0); + pj_assert(status == PJ_SUCCESS); + } + + /* Optionally create recorder file, if any. */ + if (app_config.rec_file.slen) { + status = pjsua_recorder_create(&app_config.rec_file, 0, NULL, 0, 0, + &app_config.rec_id); + if (status != PJ_SUCCESS) + goto on_error; + + app_config.rec_port = pjsua_recorder_get_conf_port(app_config.rec_id); + } + + pj_memcpy(&tcp_cfg, &app_config.udp_cfg, sizeof(tcp_cfg)); + + /* Create ringback tones */ + if (app_config.no_tones == PJ_FALSE) { + unsigned i, samples_per_frame; + pjmedia_tone_desc tone[RING_CNT+RINGBACK_CNT]; + pj_str_t name; + + samples_per_frame = app_config.media_cfg.audio_frame_ptime * + app_config.media_cfg.clock_rate * + app_config.media_cfg.channel_count / 1000; + + /* Ringback tone (call is ringing) */ + name = pj_str("ringback"); + status = pjmedia_tonegen_create2(app_config.pool, &name, + app_config.media_cfg.clock_rate, + app_config.media_cfg.channel_count, + samples_per_frame, + 16, PJMEDIA_TONEGEN_LOOP, + &app_config.ringback_port); + if (status != PJ_SUCCESS) + goto on_error; + + pj_bzero(&tone, sizeof(tone)); + for (i=0; i<RINGBACK_CNT; ++i) { + tone[i].freq1 = RINGBACK_FREQ1; + tone[i].freq2 = RINGBACK_FREQ2; + tone[i].on_msec = RINGBACK_ON; + tone[i].off_msec = RINGBACK_OFF; + } + tone[RINGBACK_CNT-1].off_msec = RINGBACK_INTERVAL; + + pjmedia_tonegen_play(app_config.ringback_port, RINGBACK_CNT, tone, + PJMEDIA_TONEGEN_LOOP); + + + status = pjsua_conf_add_port(app_config.pool, app_config.ringback_port, + &app_config.ringback_slot); + if (status != PJ_SUCCESS) + goto on_error; + + /* Ring (to alert incoming call) */ + name = pj_str("ring"); + status = pjmedia_tonegen_create2(app_config.pool, &name, + app_config.media_cfg.clock_rate, + app_config.media_cfg.channel_count, + samples_per_frame, + 16, PJMEDIA_TONEGEN_LOOP, + &app_config.ring_port); + if (status != PJ_SUCCESS) + goto on_error; + + for (i=0; i<RING_CNT; ++i) { + tone[i].freq1 = RING_FREQ1; + tone[i].freq2 = RING_FREQ2; + tone[i].on_msec = RING_ON; + tone[i].off_msec = RING_OFF; + } + tone[RING_CNT-1].off_msec = RING_INTERVAL; + + pjmedia_tonegen_play(app_config.ring_port, RING_CNT, + tone, PJMEDIA_TONEGEN_LOOP); + + status = pjsua_conf_add_port(app_config.pool, app_config.ring_port, + &app_config.ring_slot); + if (status != PJ_SUCCESS) + goto on_error; + + } + + /* Create AVI player virtual devices */ + if (app_config.avi_cnt) { +#if PJMEDIA_HAS_VIDEO && PJMEDIA_VIDEO_DEV_HAS_AVI + pjmedia_vid_dev_factory *avi_factory; + + status = pjmedia_avi_dev_create_factory(pjsua_get_pool_factory(), + app_config.avi_cnt, + &avi_factory); + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, status, "Error creating AVI factory")); + goto on_error; + } + + for (i=0; i<app_config.avi_cnt; ++i) { + pjmedia_avi_dev_param avdp; + pjmedia_vid_dev_index avid; + unsigned strm_idx, strm_cnt; + + app_config.avi[i].dev_id = PJMEDIA_VID_INVALID_DEV; + app_config.avi[i].slot = PJSUA_INVALID_ID; + + pjmedia_avi_dev_param_default(&avdp); + avdp.path = app_config.avi[i].path; + + status = pjmedia_avi_dev_alloc(avi_factory, &avdp, &avid); + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, status, + "Error creating AVI player for %.*s", + (int)avdp.path.slen, avdp.path.ptr)); + goto on_error; + } + + PJ_LOG(4,(THIS_FILE, "AVI player %.*s created, dev_id=%d", + (int)avdp.title.slen, avdp.title.ptr, avid)); + + app_config.avi[i].dev_id = avid; + if (app_config.avi_def_idx == PJSUA_INVALID_ID) + app_config.avi_def_idx = i; + + strm_cnt = pjmedia_avi_streams_get_num_streams(avdp.avi_streams); + for (strm_idx=0; strm_idx<strm_cnt; ++strm_idx) { + pjmedia_port *aud; + pjmedia_format *fmt; + pjsua_conf_port_id slot; + char fmt_name[5]; + + aud = pjmedia_avi_streams_get_stream(avdp.avi_streams, + strm_idx); + fmt = &aud->info.fmt; + + pjmedia_fourcc_name(fmt->id, fmt_name); + + if (fmt->id == PJMEDIA_FORMAT_PCM) { + status = pjsua_conf_add_port(app_config.pool, aud, + &slot); + if (status == PJ_SUCCESS) { + PJ_LOG(4,(THIS_FILE, + "AVI %.*s: audio added to slot %d", + (int)avdp.title.slen, avdp.title.ptr, + slot)); + app_config.avi[i].slot = slot; + } + } else { + PJ_LOG(4,(THIS_FILE, + "AVI %.*s: audio ignored, format=%s", + (int)avdp.title.slen, avdp.title.ptr, + fmt_name)); + } + } + } +#else + PJ_LOG(2,(THIS_FILE, + "Warning: --play-avi is ignored because AVI is disabled")); +#endif /* PJMEDIA_VIDEO_DEV_HAS_AVI */ + } + + /* Add UDP transport unless it's disabled. */ + if (!app_config.no_udp) { + pjsua_acc_id aid; + pjsip_transport_type_e type = PJSIP_TRANSPORT_UDP; + + status = pjsua_transport_create(type, + &app_config.udp_cfg, + &transport_id); + if (status != PJ_SUCCESS) + goto on_error; + + /* Add local account */ + pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); + + /* Adjust local account config based on pjsua app config */ + { + pjsua_acc_config acc_cfg; + pjsua_acc_get_config(aid, tmp_pool, &acc_cfg); + + app_config_init_video(&acc_cfg); + acc_cfg.rtp_cfg = app_config.rtp_cfg; + pjsua_acc_modify(aid, &acc_cfg); + } + + //pjsua_acc_set_transport(aid, transport_id); + pjsua_acc_set_online_status(current_acc, PJ_TRUE); + + if (app_config.udp_cfg.port == 0) { + pjsua_transport_info ti; + pj_sockaddr_in *a; + + pjsua_transport_get_info(transport_id, &ti); + a = (pj_sockaddr_in*)&ti.local_addr; + + tcp_cfg.port = pj_ntohs(a->sin_port); + } + } + + /* Add UDP IPv6 transport unless it's disabled. */ + if (!app_config.no_udp && app_config.ipv6) { + pjsua_acc_id aid; + pjsip_transport_type_e type = PJSIP_TRANSPORT_UDP6; + pjsua_transport_config udp_cfg; + + udp_cfg = app_config.udp_cfg; + if (udp_cfg.port == 0) + udp_cfg.port = 5060; + else + udp_cfg.port += 10; + status = pjsua_transport_create(type, + &udp_cfg, + &transport_id); + if (status != PJ_SUCCESS) + goto on_error; + + /* Add local account */ + pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); + + /* Adjust local account config based on pjsua app config */ + { + pjsua_acc_config acc_cfg; + pjsua_acc_get_config(aid, tmp_pool, &acc_cfg); + + app_config_init_video(&acc_cfg); + acc_cfg.rtp_cfg = app_config.rtp_cfg; + acc_cfg.ipv6_media_use = PJSUA_IPV6_ENABLED; + pjsua_acc_modify(aid, &acc_cfg); + } + + //pjsua_acc_set_transport(aid, transport_id); + pjsua_acc_set_online_status(current_acc, PJ_TRUE); + + if (app_config.udp_cfg.port == 0) { + pjsua_transport_info ti; + pj_sockaddr_in *a; + + pjsua_transport_get_info(transport_id, &ti); + a = (pj_sockaddr_in*)&ti.local_addr; + + tcp_cfg.port = pj_ntohs(a->sin_port); + } + } + + /* Add TCP transport unless it's disabled */ + if (!app_config.no_tcp) { + pjsua_acc_id aid; + + status = pjsua_transport_create(PJSIP_TRANSPORT_TCP, + &tcp_cfg, + &transport_id); + if (status != PJ_SUCCESS) + goto on_error; + + /* Add local account */ + pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); + + /* Adjust local account config based on pjsua app config */ + { + pjsua_acc_config acc_cfg; + pjsua_acc_get_config(aid, tmp_pool, &acc_cfg); + + app_config_init_video(&acc_cfg); + acc_cfg.rtp_cfg = app_config.rtp_cfg; + pjsua_acc_modify(aid, &acc_cfg); + } + + pjsua_acc_set_online_status(current_acc, PJ_TRUE); + + } + + /* Add TCP IPv6 transport unless it's disabled. */ + if (!app_config.no_tcp && app_config.ipv6) { + pjsua_acc_id aid; + pjsip_transport_type_e type = PJSIP_TRANSPORT_TCP6; + + tcp_cfg.port += 10; + + status = pjsua_transport_create(type, + &tcp_cfg, + &transport_id); + if (status != PJ_SUCCESS) + goto on_error; + + /* Add local account */ + pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); + + /* Adjust local account config based on pjsua app config */ + { + pjsua_acc_config acc_cfg; + pjsua_acc_get_config(aid, tmp_pool, &acc_cfg); + + app_config_init_video(&acc_cfg); + acc_cfg.rtp_cfg = app_config.rtp_cfg; + acc_cfg.ipv6_media_use = PJSUA_IPV6_ENABLED; + pjsua_acc_modify(aid, &acc_cfg); + } + + //pjsua_acc_set_transport(aid, transport_id); + pjsua_acc_set_online_status(current_acc, PJ_TRUE); + } + + +#if defined(PJSIP_HAS_TLS_TRANSPORT) && PJSIP_HAS_TLS_TRANSPORT!=0 + /* Add TLS transport when application wants one */ + if (app_config.use_tls) { + + pjsua_acc_id acc_id; + + /* Copy the QoS settings */ + tcp_cfg.tls_setting.qos_type = tcp_cfg.qos_type; + pj_memcpy(&tcp_cfg.tls_setting.qos_params, &tcp_cfg.qos_params, + sizeof(tcp_cfg.qos_params)); + + /* Set TLS port as TCP port+1 */ + tcp_cfg.port++; + status = pjsua_transport_create(PJSIP_TRANSPORT_TLS, + &tcp_cfg, + &transport_id); + tcp_cfg.port--; + if (status != PJ_SUCCESS) + goto on_error; + + /* Add local account */ + pjsua_acc_add_local(transport_id, PJ_FALSE, &acc_id); + + /* Adjust local account config based on pjsua app config */ + { + pjsua_acc_config acc_cfg; + pjsua_acc_get_config(acc_id, tmp_pool, &acc_cfg); + + app_config_init_video(&acc_cfg); + acc_cfg.rtp_cfg = app_config.rtp_cfg; + pjsua_acc_modify(acc_id, &acc_cfg); + } + + pjsua_acc_set_online_status(acc_id, PJ_TRUE); + } + + /* Add TLS IPv6 transport unless it's disabled. */ + if (app_config.use_tls && app_config.ipv6) { + pjsua_acc_id aid; + pjsip_transport_type_e type = PJSIP_TRANSPORT_TLS6; + + tcp_cfg.port += 10; + + status = pjsua_transport_create(type, + &tcp_cfg, + &transport_id); + if (status != PJ_SUCCESS) + goto on_error; + + /* Add local account */ + pjsua_acc_add_local(transport_id, PJ_TRUE, &aid); + + /* Adjust local account config based on pjsua app config */ + { + pjsua_acc_config acc_cfg; + pjsua_acc_get_config(aid, tmp_pool, &acc_cfg); + + app_config_init_video(&acc_cfg); + acc_cfg.rtp_cfg = app_config.rtp_cfg; + acc_cfg.ipv6_media_use = PJSUA_IPV6_ENABLED; + pjsua_acc_modify(aid, &acc_cfg); + } + + //pjsua_acc_set_transport(aid, transport_id); + pjsua_acc_set_online_status(current_acc, PJ_TRUE); + } + +#endif + + if (transport_id == -1) { + PJ_LOG(1,(THIS_FILE, "Error: no transport is configured")); + status = -1; + goto on_error; + } + + + /* Add accounts */ + for (i=0; i<app_config.acc_cnt; ++i) { + app_config.acc_cfg[i].rtp_cfg = app_config.rtp_cfg; + app_config.acc_cfg[i].reg_retry_interval = 300; + app_config.acc_cfg[i].reg_first_retry_interval = 60; + + app_config_init_video(&app_config.acc_cfg[i]); + + status = pjsua_acc_add(&app_config.acc_cfg[i], PJ_TRUE, NULL); + if (status != PJ_SUCCESS) + goto on_error; + pjsua_acc_set_online_status(current_acc, PJ_TRUE); + } + + /* Add buddies */ + for (i=0; i<app_config.buddy_cnt; ++i) { + status = pjsua_buddy_add(&app_config.buddy_cfg[i], NULL); + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, status, "Error adding buddy")); + goto on_error; + } + } + + /* Optionally disable some codec */ + for (i=0; i<app_config.codec_dis_cnt; ++i) { + pjsua_codec_set_priority(&app_config.codec_dis[i], + PJMEDIA_CODEC_PRIO_DISABLED); +#if PJSUA_HAS_VIDEO + pjsua_vid_codec_set_priority(&app_config.codec_dis[i], + PJMEDIA_CODEC_PRIO_DISABLED); +#endif + } + + /* Optionally set codec orders */ + for (i=0; i<app_config.codec_cnt; ++i) { + pjsua_codec_set_priority(&app_config.codec_arg[i], + (pj_uint8_t)(PJMEDIA_CODEC_PRIO_NORMAL+i+9)); +#if PJSUA_HAS_VIDEO + pjsua_vid_codec_set_priority(&app_config.codec_arg[i], + (pj_uint8_t)(PJMEDIA_CODEC_PRIO_NORMAL+i+9)); +#endif + } + + /* Use null sound device? */ +#ifndef STEREO_DEMO + if (app_config.null_audio) { + status = pjsua_set_null_snd_dev(); + if (status != PJ_SUCCESS) + return status; + } +#endif + + if (app_config.capture_dev != PJSUA_INVALID_ID || + app_config.playback_dev != PJSUA_INVALID_ID) + { + status = pjsua_set_snd_dev(app_config.capture_dev, + app_config.playback_dev); + if (status != PJ_SUCCESS) + goto on_error; + } + + /* Init call setting */ + pjsua_call_setting_default(&call_opt); + call_opt.aud_cnt = app_config.aud_cnt; + call_opt.vid_cnt = app_config.vid.vid_cnt; + + pj_pool_release(tmp_pool); + return PJ_SUCCESS; + +on_error: + pj_pool_release(tmp_pool); + app_destroy(); + return status; +} + +pj_status_t pjsua_app_init(const pjsua_app_cfg_t *cfg) +{ + pj_status_t status; + pj_memcpy(&app_cfg, cfg, sizeof(app_cfg)); + + status = app_init(); + if (status != PJ_SUCCESS) + return status; + + /* Init CLI if configured */ + if (app_config.use_cli) { + status = cli_init(); + } + return status; +} + +pj_status_t pjsua_app_run(pj_bool_t wait_telnet_cli) +{ + pj_thread_t *stdout_refresh_thread = NULL; + pj_status_t status; + + /* Start console refresh thread */ + if (stdout_refresh > 0) { + pj_thread_create(app_config.pool, "stdout", &stdout_refresh_proc, + NULL, 0, 0, &stdout_refresh_thread); + } + + status = pjsua_start(); + if (status != PJ_SUCCESS) + goto on_return; + + if (app_config.use_cli && (app_config.cli_cfg.cli_fe & CLI_FE_TELNET)) { + char info[128]; + cli_get_info(info, sizeof(info)); + if (app_cfg.on_started) { + (*app_cfg.on_started)(status, info); + } + } else { + if (app_cfg.on_started) { + (*app_cfg.on_started)(status, "Ready"); + } + } + + /* If user specifies URI to call, then call the URI */ + if (uri_arg.slen) { + pjsua_call_setting_default(&call_opt); + call_opt.aud_cnt = app_config.aud_cnt; + call_opt.vid_cnt = app_config.vid.vid_cnt; + + pjsua_call_make_call(current_acc, &uri_arg, &call_opt, NULL, + NULL, NULL); + } + + app_running = PJ_TRUE; + + if (app_config.use_cli) + cli_main(wait_telnet_cli); + else + legacy_main(); + + status = PJ_SUCCESS; + +on_return: + if (stdout_refresh_thread) { + stdout_refresh_quit = PJ_TRUE; + pj_thread_join(stdout_refresh_thread); + pj_thread_destroy(stdout_refresh_thread); + stdout_refresh_quit = PJ_FALSE; + } + return status; +} + +static pj_status_t app_destroy() +{ + pj_status_t status = PJ_SUCCESS; + unsigned i; + pj_bool_t use_cli = PJ_FALSE; + int cli_fe = 0; + pj_uint16_t cli_telnet_port = 0; + +#ifdef STEREO_DEMO + if (app_config.snd) { + pjmedia_snd_port_destroy(app_config.snd); + app_config.snd = NULL; + } + if (app_config.sc_ch1) { + pjsua_conf_remove_port(app_config.sc_ch1_slot); + app_config.sc_ch1_slot = PJSUA_INVALID_ID; + pjmedia_port_destroy(app_config.sc_ch1); + app_config.sc_ch1 = NULL; + } + if (app_config.sc) { + pjmedia_port_destroy(app_config.sc); + app_config.sc = NULL; + } +#endif + + /* Close avi devs and ports */ + for (i=0; i<app_config.avi_cnt; ++i) { + if (app_config.avi[i].slot != PJSUA_INVALID_ID) + pjsua_conf_remove_port(app_config.avi[i].slot); +#if PJMEDIA_HAS_VIDEO && PJMEDIA_VIDEO_DEV_HAS_AVI + if (app_config.avi[i].dev_id != PJMEDIA_VID_INVALID_DEV) + pjmedia_avi_dev_free(app_config.avi[i].dev_id); +#endif + } + + /* Close ringback port */ + if (app_config.ringback_port && + app_config.ringback_slot != PJSUA_INVALID_ID) + { + pjsua_conf_remove_port(app_config.ringback_slot); + app_config.ringback_slot = PJSUA_INVALID_ID; + pjmedia_port_destroy(app_config.ringback_port); + app_config.ringback_port = NULL; + } + + /* Close ring port */ + if (app_config.ring_port && app_config.ring_slot != PJSUA_INVALID_ID) { + pjsua_conf_remove_port(app_config.ring_slot); + app_config.ring_slot = PJSUA_INVALID_ID; + pjmedia_port_destroy(app_config.ring_port); + app_config.ring_port = NULL; + } + + /* Close tone generators */ + for (i=0; i<app_config.tone_count; ++i) { + pjsua_conf_remove_port(app_config.tone_slots[i]); + } + + if (app_config.pool) { + pj_pool_release(app_config.pool); + app_config.pool = NULL; + } + + status = pjsua_destroy(); + + if (app_config.use_cli) { + use_cli = app_config.use_cli; + cli_fe = app_config.cli_cfg.cli_fe; + cli_telnet_port = app_config.cli_cfg.telnet_cfg.port; + } + + /* Reset config */ + pj_bzero(&app_config, sizeof(app_config)); + + if (use_cli) { + app_config.use_cli = use_cli; + app_config.cli_cfg.cli_fe = cli_fe; + app_config.cli_cfg.telnet_cfg.port = cli_telnet_port; + } + + return status; +} + +pj_status_t pjsua_app_destroy() +{ + pj_status_t status; + + status = app_destroy(); + + if (app_config.use_cli) { + cli_destroy(); + } + + return status; +} + +/** ======================= **/ + +#ifdef STEREO_DEMO +/* + * In this stereo demo, we open the sound device in stereo mode and + * arrange the attachment to the PJSUA-LIB conference bridge as such + * so that channel0/left channel of the sound device corresponds to + * slot 0 in the bridge, and channel1/right channel of the sound + * device corresponds to slot 1 in the bridge. Then user can independently + * feed different media to/from the speakers/microphones channels, by + * connecting them to slot 0 or 1 respectively. + * + * Here's how the connection looks like: + * + +-----------+ stereo +-----------------+ 2x mono +-----------+ + | AUDIO DEV |<------>| SPLITCOMB left|<------->|#0 BRIDGE | + +-----------+ | right|<------->|#1 | + +-----------------+ +-----------+ + */ +static void stereo_demo() +{ + pjmedia_port *conf; + pj_status_t status; + + /* Disable existing sound device */ + conf = pjsua_set_no_snd_dev(); + + /* Create stereo-mono splitter/combiner */ + status = pjmedia_splitcomb_create(app_config.pool, + conf->info.clock_rate /* clock rate */, + 2 /* stereo */, + 2 * conf->info.samples_per_frame, + conf->info.bits_per_sample, + 0 /* options */, + &app_config.sc); + pj_assert(status == PJ_SUCCESS); + + /* Connect channel0 (left channel?) to conference port slot0 */ + status = pjmedia_splitcomb_set_channel(app_config.sc, 0 /* ch0 */, + 0 /*options*/, + conf); + pj_assert(status == PJ_SUCCESS); + + /* Create reverse channel for channel1 (right channel?)... */ + status = pjmedia_splitcomb_create_rev_channel(app_config.pool, + app_config.sc, + 1 /* ch1 */, + 0 /* options */, + &app_config.sc_ch1); + pj_assert(status == PJ_SUCCESS); + + /* .. and register it to conference bridge (it would be slot1 + * if there's no other devices connected to the bridge) + */ + status = pjsua_conf_add_port(app_config.pool, app_config.sc_ch1, + &app_config.sc_ch1_slot); + pj_assert(status == PJ_SUCCESS); + + /* Create sound device */ + status = pjmedia_snd_port_create(app_config.pool, -1, -1, + conf->info.clock_rate, + 2 /* stereo */, + 2 * conf->info.samples_per_frame, + conf->info.bits_per_sample, + 0, &app_config.snd); + pj_assert(status == PJ_SUCCESS); + + + /* Connect the splitter to the sound device */ + status = pjmedia_snd_port_connect(app_config.snd, app_config.sc); + pj_assert(status == PJ_SUCCESS); +} +#endif diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app.h new file mode 100644 index 0000000000000000000000000000000000000000..568fa767da32da5903a53910c74304943f45506c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app.h @@ -0,0 +1,88 @@ +/* $Id: pjsua_app.h 4489 2013-04-23 07:53:25Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __PJSUA_APP_H__ +#define __PJSUA_APP_H__ + +/** + * Interface for user application to use pjsua with CLI/menu based UI. + */ + +#include "pjsua_app_common.h" + +PJ_BEGIN_DECL + +/** + * This structure contains the configuration of application. + */ +typedef struct pjsua_app_cfg_t +{ + /** + * The number of runtime arguments passed to the application. + */ + int argc; + + /** + * The array of arguments string passed to the application. + */ + char **argv; + + /** + * Tell app that CLI (and pjsua) is (re)started. + * msg will contain start error message such as �Telnet to X:Y�, + * �failed to start pjsua lib�, �port busy�.. + */ + void (*on_started)(pj_status_t status, const char* title); + + /** + * Tell app that library request to stopped/restart. + * GUI app needs to use a timer mechanism to wait before invoking the + * cleanup procedure. + */ + void (*on_stopped)(pj_bool_t restart, int argc, char** argv); + + /** + * This will enable application to supply customize configuration other than + * the basic configuration provided by pjsua. + */ + void (*on_config_init)(pjsua_app_config *cfg); +} pjsua_app_cfg_t; + +/** + * This will initiate the pjsua and the user interface (CLI/menu UI) based on + * the provided configuration. + */ +pj_status_t pjsua_app_init(const pjsua_app_cfg_t *app_cfg); + +/** + * This will run the CLI/menu based UI. + * wait_telnet_cli is used for CLI based UI. It will tell the library to block + * or wait until user invoke the "shutdown"/"restart" command. GUI based app + * should define this param as PJ_FALSE. + */ +pj_status_t pjsua_app_run(pj_bool_t wait_telnet_cli); + +/** + * This will destroy/cleanup the application library. + */ +pj_status_t pjsua_app_destroy(); + +PJ_END_DECL + +#endif /* __PJSUA_APP_H__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_cli.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_cli.c new file mode 100644 index 0000000000000000000000000000000000000000..6783f3ce1ebe8489ed173d96ecdbef2b7653b9e3 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_cli.c @@ -0,0 +1,3126 @@ +/* $Id: pjsua_app_cli.c 4729 2014-02-04 13:13:02Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "pjsua_app_common.h" + +#define THIS_FILE "pjsua_app_cli.c" + +#define CHECK_PJSUA_RUNNING() if (pjsua_get_state()!=PJSUA_STATE_RUNNING) \ + return PJ_EINVALIDOP + +/* CLI command id */ +/* level 1 command */ +#define CMD_CALL 100 +#define CMD_PRESENCE 200 +#define CMD_ACCOUNT 300 +#define CMD_MEDIA 400 +#define CMD_CONFIG 500 +#define CMD_VIDEO 600 +#define CMD_SLEEP 700 +#define CMD_ECHO 800 +#define CMD_NETWORK 900 +#define CMD_QUIT 110 +#define CMD_RESTART 120 + +/* call level 2 command */ +#define CMD_CALL_NEW ((CMD_CALL*10)+1) +#define CMD_CALL_MULTI ((CMD_CALL*10)+2) +#define CMD_CALL_ANSWER ((CMD_CALL*10)+3) +#define CMD_CALL_HANGUP ((CMD_CALL*10)+4) +#define CMD_CALL_HANGUP_ALL ((CMD_CALL*10)+5) +#define CMD_CALL_HOLD ((CMD_CALL*10)+6) +#define CMD_CALL_REINVITE ((CMD_CALL*10)+7) +#define CMD_CALL_UPDATE ((CMD_CALL*10)+8) +#define CMD_CALL_NEXT ((CMD_CALL*10)+9) +#define CMD_CALL_PREVIOUS ((CMD_CALL*10)+10) +#define CMD_CALL_TRANSFER ((CMD_CALL*10)+11) +#define CMD_CALL_TRANSFER_REPLACE ((CMD_CALL*10)+12) +#define CMD_CALL_REDIRECT ((CMD_CALL*10)+13) +#define CMD_CALL_D2833 ((CMD_CALL*10)+14) +#define CMD_CALL_INFO ((CMD_CALL*10)+15) +#define CMD_CALL_DUMP_Q ((CMD_CALL*10)+16) +#define CMD_CALL_SEND_ARB ((CMD_CALL*10)+17) +#define CMD_CALL_LIST ((CMD_CALL*10)+18) + +/* im & presence level 2 command */ +#define CMD_PRESENCE_ADD_BUDDY ((CMD_PRESENCE*10)+1) +#define CMD_PRESENCE_DEL_BUDDY ((CMD_PRESENCE*10)+2) +#define CMD_PRESENCE_SEND_IM ((CMD_PRESENCE*10)+3) +#define CMD_PRESENCE_SUB ((CMD_PRESENCE*10)+4) +#define CMD_PRESENCE_UNSUB ((CMD_PRESENCE*10)+5) +#define CMD_PRESENCE_TOG_STATE ((CMD_PRESENCE*10)+6) +#define CMD_PRESENCE_TEXT ((CMD_PRESENCE*10)+7) +#define CMD_PRESENCE_LIST ((CMD_PRESENCE*10)+8) + +/* account level 2 command */ +#define CMD_ACCOUNT_ADD ((CMD_ACCOUNT*10)+1) +#define CMD_ACCOUNT_DEL ((CMD_ACCOUNT*10)+2) +#define CMD_ACCOUNT_MOD ((CMD_ACCOUNT*10)+3) +#define CMD_ACCOUNT_REG ((CMD_ACCOUNT*10)+4) +#define CMD_ACCOUNT_UNREG ((CMD_ACCOUNT*10)+5) +#define CMD_ACCOUNT_NEXT ((CMD_ACCOUNT*10)+6) +#define CMD_ACCOUNT_PREV ((CMD_ACCOUNT*10)+7) +#define CMD_ACCOUNT_SHOW ((CMD_ACCOUNT*10)+8) + +/* conference & media level 2 command */ +#define CMD_MEDIA_LIST ((CMD_MEDIA*10)+1) +#define CMD_MEDIA_CONF_CONNECT ((CMD_MEDIA*10)+2) +#define CMD_MEDIA_CONF_DISCONNECT ((CMD_MEDIA*10)+3) +#define CMD_MEDIA_ADJUST_VOL ((CMD_MEDIA*10)+4) +#define CMD_MEDIA_CODEC_PRIO ((CMD_MEDIA*10)+5) +#define CMD_MEDIA_SPEAKER_TOGGLE ((CMD_MEDIA*10)+6) + +/* status & config level 2 command */ +#define CMD_CONFIG_DUMP_STAT ((CMD_CONFIG*10)+1) +#define CMD_CONFIG_DUMP_DETAIL ((CMD_CONFIG*10)+2) +#define CMD_CONFIG_DUMP_CONF ((CMD_CONFIG*10)+3) +#define CMD_CONFIG_WRITE_SETTING ((CMD_CONFIG*10)+4) + +/* video level 2 command */ +#define CMD_VIDEO_ENABLE ((CMD_VIDEO*10)+1) +#define CMD_VIDEO_DISABLE ((CMD_VIDEO*10)+2) +#define CMD_VIDEO_ACC ((CMD_VIDEO*10)+3) +#define CMD_VIDEO_CALL ((CMD_VIDEO*10)+4) +#define CMD_VIDEO_DEVICE ((CMD_VIDEO*10)+5) +#define CMD_VIDEO_CODEC ((CMD_VIDEO*10)+6) +#define CMD_VIDEO_WIN ((CMD_VIDEO*10)+7) + +/* video level 3 command */ +#define CMD_VIDEO_ACC_SHOW ((CMD_VIDEO_ACC*10)+1) +#define CMD_VIDEO_ACC_AUTORX ((CMD_VIDEO_ACC*10)+2) +#define CMD_VIDEO_ACC_AUTOTX ((CMD_VIDEO_ACC*10)+3) +#define CMD_VIDEO_ACC_CAP_ID ((CMD_VIDEO_ACC*10)+4) +#define CMD_VIDEO_ACC_REN_ID ((CMD_VIDEO_ACC*10)+5) +#define CMD_VIDEO_CALL_RX ((CMD_VIDEO_CALL*10)+1) +#define CMD_VIDEO_CALL_TX ((CMD_VIDEO_CALL*10)+2) +#define CMD_VIDEO_CALL_ADD ((CMD_VIDEO_CALL*10)+3) +#define CMD_VIDEO_CALL_ENABLE ((CMD_VIDEO_CALL*10)+4) +#define CMD_VIDEO_CALL_DISABLE ((CMD_VIDEO_CALL*10)+5) +#define CMD_VIDEO_CALL_CAP ((CMD_VIDEO_CALL*10)+6) +#define CMD_VIDEO_DEVICE_LIST ((CMD_VIDEO_DEVICE*10)+1) +#define CMD_VIDEO_DEVICE_REFRESH ((CMD_VIDEO_DEVICE*10)+2) +#define CMD_VIDEO_DEVICE_PREVIEW ((CMD_VIDEO_DEVICE*10)+3) +#define CMD_VIDEO_CODEC_LIST ((CMD_VIDEO_CODEC*10)+1) +#define CMD_VIDEO_CODEC_PRIO ((CMD_VIDEO_CODEC*10)+2) +#define CMD_VIDEO_CODEC_FPS ((CMD_VIDEO_CODEC*10)+3) +#define CMD_VIDEO_CODEC_BITRATE ((CMD_VIDEO_CODEC*10)+4) +#define CMD_VIDEO_CODEC_SIZE ((CMD_VIDEO_CODEC*10)+5) +#define CMD_VIDEO_WIN_LIST ((CMD_VIDEO_WIN*10)+1) +#define CMD_VIDEO_WIN_ARRANGE ((CMD_VIDEO_WIN*10)+2) +#define CMD_VIDEO_WIN_SHOW ((CMD_VIDEO_WIN*10)+3) +#define CMD_VIDEO_WIN_HIDE ((CMD_VIDEO_WIN*10)+4) +#define CMD_VIDEO_WIN_MOVE ((CMD_VIDEO_WIN*10)+5) +#define CMD_VIDEO_WIN_RESIZE ((CMD_VIDEO_WIN*10)+6) + +/* dynamic choice argument list */ +#define DYN_CHOICE_START 9900 +#define DYN_CHOICE_BUDDY_ID (DYN_CHOICE_START)+1 +#define DYN_CHOICE_ACCOUNT_ID (DYN_CHOICE_START)+2 +#define DYN_CHOICE_MEDIA_PORT (DYN_CHOICE_START)+3 +#define DYN_CHOICE_AUDIO_CODEC_ID (DYN_CHOICE_START)+4 +#define DYN_CHOICE_CAP_DEV_ID (DYN_CHOICE_START)+5 +#define DYN_CHOICE_REN_DEV_ID (DYN_CHOICE_START)+6 +#define DYN_CHOICE_VID_DEV_ID (DYN_CHOICE_START)+7 +#define DYN_CHOICE_STREAM_ID (DYN_CHOICE_START)+8 +#define DYN_CHOICE_VIDEO_CODEC_ID (DYN_CHOICE_START)+9 +#define DYN_CHOICE_WIN_ID (DYN_CHOICE_START)+10 +#define DYN_CHOICE_CALL_ID (DYN_CHOICE_START)+11 +#define DYN_CHOICE_ADDED_BUDDY_ID (DYN_CHOICE_START)+12 + +static pj_bool_t pj_inited = PJ_FALSE; +static pj_caching_pool cli_cp; +static pj_bool_t cli_cp_inited = PJ_FALSE; +static pj_cli_t *cli = NULL; +static pj_cli_sess *cli_cons_sess = NULL; +static pj_cli_front_end *telnet_front_end = NULL; + +/** Forward declaration **/ +pj_status_t cli_setup_command(pj_cli_t *cli); +void cli_destroy(); + +PJ_DEF(void) cli_get_info(char *info, pj_size_t size) +{ + pj_cli_telnet_info telnet_info; + pj_cli_telnet_get_info(telnet_front_end, &telnet_info); + + pj_ansi_snprintf(info, size, "Telnet to %.*s:%d", + (int)telnet_info.ip_address.slen, + telnet_info.ip_address.ptr, + telnet_info.port); +} + +static void cli_log_writer(int level, const char *buffer, int len) +{ + if (cli) + pj_cli_write_log(cli, level, buffer, len); +} + +pj_status_t cli_init() +{ + pj_status_t status; + + pj_cli_cfg *cfg = &app_config.cli_cfg.cfg; + + /* Init PJLIB */ + status = pj_init(); + if (status != PJ_SUCCESS) + goto on_error; + + pj_inited = PJ_TRUE; + + /* Init PJLIB-UTIL */ + status = pjlib_util_init(); + if (status != PJ_SUCCESS) + goto on_error; + + /* Init CLI */ + pj_caching_pool_init(&cli_cp, NULL, 0); + cli_cp_inited = PJ_TRUE; + cfg->pf = &cli_cp.factory; + cfg->name = pj_str("pjsua_cli"); + cfg->title = pj_str("Pjsua CLI Application"); + status = pj_cli_create(cfg, &cli); + if (status != PJ_SUCCESS) + goto on_error; + + status = cli_setup_command(cli); + if (status != PJ_SUCCESS) + goto on_error; + + /* Init telnet frontend */ + if (app_config.cli_cfg.cli_fe & CLI_FE_TELNET) { + pj_cli_telnet_cfg *fe_cfg = &app_config.cli_cfg.telnet_cfg; + pj_pool_t *pool; + + pool = pj_pool_create(cfg->pf, "cli_cp", 128, 128, NULL); + pj_assert(pool); + + status = pj_cli_telnet_create(cli, fe_cfg, &telnet_front_end); + if (status != PJ_SUCCESS) + goto on_error; + } + + /* Init console frontend */ + if (app_config.cli_cfg.cli_fe & CLI_FE_CONSOLE) { + pj_cli_console_cfg *fe_cfg = &app_config.cli_cfg.console_cfg; + + fe_cfg->quit_command = pj_str("shutdown"); + status = pj_cli_console_create(cli, fe_cfg, + &cli_cons_sess, NULL); + if (status != PJ_SUCCESS) + goto on_error; + } + + return PJ_SUCCESS; + +on_error: + cli_destroy(); + return status; +} + +pj_status_t cli_main(pj_bool_t wait_telnet_cli) +{ + char cmdline[PJ_CLI_MAX_CMDBUF]; + + /* ReInit logging */ + app_config.log_cfg.cb = &cli_log_writer; + pjsua_reconfigure_logging(&app_config.log_cfg); + + if (app_config.cli_cfg.cli_fe & CLI_FE_CONSOLE) { + /* Main loop for CLI FE console */ + while (!pj_cli_is_quitting(cli)) { + pj_cli_console_process(cli_cons_sess, cmdline, sizeof(cmdline)); + } + } else if (wait_telnet_cli) { + /* Just wait for CLI quit */ + while (!pj_cli_is_quitting(cli)) { + pj_thread_sleep(200); + } + } + + return PJ_SUCCESS; +} + +void cli_destroy() +{ + /* Destroy CLI, it will automatically destroy any FEs */ + if (cli) { + pj_cli_destroy(cli); + cli = NULL; + } + + /* Destroy CLI caching pool factory */ + if (cli_cp_inited) { + pj_caching_pool_destroy(&cli_cp); + cli_cp_inited = PJ_FALSE; + } + + /* Shutdown PJLIB */ + if (pj_inited) { + pj_shutdown(); + pj_inited = PJ_FALSE; + } +} + +/* Get input URL */ +static void get_input_url(char *buf, + pj_size_t len, + pj_cli_cmd_val *cval, + struct input_result *result) +{ + static const pj_str_t err_invalid_input = {"Invalid input\n", 15}; + result->nb_result = PJSUA_APP_NO_NB; + result->uri_result = NULL; + + len = strlen(buf); + + /* Left trim */ + while (pj_isspace(*buf)) { + ++buf; + --len; + } + + /* Remove trailing newlines */ + while (len && (buf[len-1] == '\r' || buf[len-1] == '\n')) + buf[--len] = '\0'; + + if (len == 0 || buf[0]=='q') + return; + + if (pj_isdigit(*buf) || *buf=='-') { + + unsigned i; + + if (*buf=='-') + i = 1; + else + i = 0; + + for (; i<len; ++i) { + if (!pj_isdigit(buf[i])) { + pj_cli_sess_write_msg(cval->sess, err_invalid_input.ptr, + (int)err_invalid_input.slen); + return; + } + } + + result->nb_result = my_atoi(buf); + + if (result->nb_result >= 0 && + result->nb_result <= (int)pjsua_get_buddy_count()) + { + return; + } + if (result->nb_result == -1) + return; + + pj_cli_sess_write_msg(cval->sess, err_invalid_input.ptr, + (int)err_invalid_input.slen); + result->nb_result = PJSUA_APP_NO_NB; + return; + + } else { + pj_status_t status; + + if ((status=pjsua_verify_url(buf)) != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Invalid URL", status); + return; + } + + result->uri_result = buf; + } +} + +/* CLI dynamic choice handler */ +/* Get buddy id */ +static void get_buddy_id(pj_cli_dyn_choice_param *param) +{ + if (param->cnt < param->max_cnt) { + pjsua_buddy_id ids[64]; + int i = 0; + unsigned count = PJ_ARRAY_SIZE(ids); + char data_out[64]; + + pjsua_enum_buddies(ids, &count); + + if (count > 0) { + for (i=0; i<(int)count; ++i) { + pjsua_buddy_info info; + + if (pjsua_buddy_get_info(ids[i], &info) != PJ_SUCCESS) + continue; + + /* Fill buddy id */ + pj_ansi_snprintf(data_out, sizeof(data_out), "%d", ids[i]+1); + pj_strdup2(param->pool, ¶m->choice[i].value, data_out); + pj_bzero(data_out, PJ_ARRAY_SIZE(data_out)); + + /* Format & fill description */ + pj_ansi_snprintf(data_out, + sizeof(data_out), + "<%.*s> %.*s", + (int)info.status_text.slen, + info.status_text.ptr, + (int)info.uri.slen, + info.uri.ptr); + + pj_strdup2(param->pool, ¶m->choice[i].desc, data_out); + if (++param->cnt >= (param->max_cnt-1)) + break; + } + } + if (param->arg_id == DYN_CHOICE_BUDDY_ID) { + /* Add URL input option */ + pj_ansi_snprintf(data_out, sizeof(data_out), "URL"); + pj_strdup2(param->pool, ¶m->choice[i].value, data_out); + pj_ansi_snprintf(data_out, sizeof(data_out), "An URL"); + pj_strdup2(param->pool, ¶m->choice[i].desc, data_out); + ++param->cnt; + } + } +} + +static void get_account_id(pj_cli_dyn_choice_param *param) +{ + if (param->cnt < param->max_cnt) { + char buf[8]; + char buf_out[80]; + pjsua_acc_info info; + + pjsua_acc_id acc_ids[16]; + unsigned count = PJ_ARRAY_SIZE(acc_ids); + int i; + + pjsua_enum_accs(acc_ids, &count); + + for (i=0; i<(int)count; ++i) { + pj_bzero(&buf_out[0], PJ_ARRAY_SIZE(buf_out)); + + pjsua_acc_get_info(acc_ids[i], &info); + + pj_ansi_snprintf(buf_out, + sizeof(buf_out), + "%c%.*s", + (acc_ids[i]==current_acc?'*':' '), + (int)info.acc_uri.slen, + info.acc_uri.ptr); + + pj_bzero(buf, sizeof(buf)); + pj_ansi_snprintf(buf, sizeof(buf), "%d", acc_ids[i]); + pj_strdup2(param->pool, ¶m->choice[i].value, buf); + pj_strdup2(param->pool, ¶m->choice[i].desc, buf_out); + if (++param->cnt >= param->max_cnt) + break; + } + } +} + +static void get_media_port(pj_cli_dyn_choice_param *param) +{ + unsigned i, count; + pjsua_conf_port_id id[PJSUA_MAX_CONF_PORTS]; + + count = PJ_ARRAY_SIZE(id); + pjsua_enum_conf_ports(id, &count); + + for (i=0; i<count; ++i) { + char slot_id[8]; + char desc[256]; + char txlist[256]; + unsigned j; + pjsua_conf_port_info info; + + pjsua_conf_get_port_info(id[i], &info); + + pj_ansi_snprintf(slot_id, sizeof(slot_id), + "%d", info.slot_id); + pj_strdup2(param->pool, ¶m->choice[i].value, slot_id); + + txlist[0] = '\0'; + for (j=0; j<info.listener_cnt; ++j) { + char s[10]; + pj_ansi_snprintf(s, sizeof(s), "#%d ", info.listeners[j]); + pj_ansi_strcat(txlist, s); + } + + pj_ansi_snprintf(desc, + sizeof(desc), + "[%2dKHz/%dms/%d] %20.*s transmitting to: %s", + info.clock_rate/1000, + info.samples_per_frame*1000/info.channel_count/info.clock_rate, + info.channel_count, + (int)info.name.slen, + info.name.ptr, + txlist); + + pj_strdup2(param->pool, ¶m->choice[i].desc, desc); + if (++param->cnt >= param->max_cnt) + break; + } +} + +static void get_audio_codec_id(pj_cli_dyn_choice_param *param) +{ + if (param->cnt < param->max_cnt) { + pjsua_codec_info c[32]; + unsigned i, count = PJ_ARRAY_SIZE(c); + char codec_id[64]; + char desc[128]; + + pjsua_enum_codecs(c, &count); + for (i=0; i<count; ++i) { + pj_ansi_snprintf(codec_id, sizeof(codec_id), + "%.*s", (int)c[i].codec_id.slen, + c[i].codec_id.ptr); + + pj_strdup2(param->pool, ¶m->choice[param->cnt].value, codec_id); + + pj_ansi_snprintf(desc, sizeof(desc), + "Audio, prio: %d%s%.*s", + c[i].priority, + c[i].desc.slen? " - ":"", + (int)c[i].desc.slen, + c[i].desc.ptr); + + pj_strdup2(param->pool, ¶m->choice[param->cnt].desc, desc); + if (++param->cnt >= param->max_cnt) + break; + } + } +} + +#if PJSUA_HAS_VIDEO +static void get_video_stream_id(pj_cli_dyn_choice_param *param) +{ + if (param->cnt < param->max_cnt) { + pjsua_call_info call_info; + + if (current_call != PJSUA_INVALID_ID) { + unsigned i; + pjsua_call_get_info(current_call, &call_info); + for (i=0; i<call_info.media_cnt; ++i) { + if (call_info.media[i].type == PJMEDIA_TYPE_VIDEO) { + char med_idx[8]; + pj_ansi_snprintf(med_idx, sizeof(med_idx), "%d", + call_info.media[i].index); + pj_strdup2(param->pool, ¶m->choice[i].value, med_idx); + + switch (call_info.media[i].status) { + case PJSUA_CALL_MEDIA_NONE: + pj_strdup2(param->pool, ¶m->choice[i].desc, + "Status:None"); + break; + case PJSUA_CALL_MEDIA_ACTIVE: + pj_strdup2(param->pool, ¶m->choice[i].desc, + "Status:Active"); + break; + case PJSUA_CALL_MEDIA_LOCAL_HOLD: + pj_strdup2(param->pool, ¶m->choice[i].desc, + "Status:Local Hold"); + break; + case PJSUA_CALL_MEDIA_REMOTE_HOLD: + pj_strdup2(param->pool, ¶m->choice[i].desc, + "Status:Remote Hold"); + break; + case PJSUA_CALL_MEDIA_ERROR: + pj_strdup2(param->pool, ¶m->choice[i].desc, + "Status:Media Error"); + break; + } + if (++param->cnt >= param->max_cnt) + break; + } + } + } + } +} + +static void get_video_dev_hint(pj_cli_dyn_choice_param *param, + pjmedia_vid_dev_info *vdi, + unsigned vid_dev_id) +{ + char desc[128]; + char dev_id[8]; + pj_ansi_snprintf(dev_id, sizeof(dev_id), + "%d", vid_dev_id); + pj_ansi_snprintf(desc, sizeof(desc), "%s [%s]", + vdi->name, vdi->driver); + + pj_strdup2(param->pool, ¶m->choice[param->cnt].value, + dev_id); + pj_strdup2(param->pool, ¶m->choice[param->cnt].desc, + desc); +} + +static void get_video_dev_id(pj_cli_dyn_choice_param *param, + pj_bool_t all, + pj_bool_t capture) +{ + if (param->cnt < param->max_cnt) { + unsigned i, count; + pjmedia_vid_dev_info vdi; + pj_status_t status; + + count = pjsua_vid_dev_count(); + if (count == 0) { + return; + } + + for (i=0; i<count; ++i) { + status = pjsua_vid_dev_get_info(i, &vdi); + if (status == PJ_SUCCESS) { + if ((all) || + ((capture) && (vdi.dir == PJMEDIA_DIR_CAPTURE)) || + ((!capture) && (vdi.dir == PJMEDIA_DIR_RENDER))) + { + get_video_dev_hint(param, &vdi, i); + if (++param->cnt >= param->max_cnt) + break; + } + } + } + } +} + +static void get_video_codec_id(pj_cli_dyn_choice_param *param) +{ + if (param->cnt < param->max_cnt) { + pjsua_codec_info ci[32]; + unsigned i, count = PJ_ARRAY_SIZE(ci); + char codec_id[64]; + char desc[128]; + + pjsua_vid_enum_codecs(ci, &count); + for (i=0; i<count; ++i) { + pjmedia_vid_codec_param cp; + pjmedia_video_format_detail *vfd; + pj_status_t status = PJ_SUCCESS; + + status = pjsua_vid_codec_get_param(&ci[i].codec_id, &cp); + if (status != PJ_SUCCESS) + continue; + + vfd = pjmedia_format_get_video_format_detail(&cp.enc_fmt, PJ_TRUE); + + pj_ansi_snprintf(codec_id, sizeof(codec_id), + "%.*s", (int)ci[i].codec_id.slen, + ci[i].codec_id.ptr); + + pj_strdup2(param->pool, ¶m->choice[param->cnt].value, codec_id); + + pj_ansi_snprintf(desc, sizeof(desc), + "Video, p[%d], f[%.2f], b[%d/%d], s[%dx%d]", + ci[i].priority, + (vfd->fps.num*1.0/vfd->fps.denum), + vfd->avg_bps/1000, vfd->max_bps/1000, + vfd->size.w, vfd->size.h); + + pj_strdup2(param->pool, ¶m->choice[param->cnt].desc, desc); + if (++param->cnt >= param->max_cnt) + break; + } + } +} + +static void get_video_window_id(pj_cli_dyn_choice_param *param) +{ + if (param->cnt < param->max_cnt) { + pjsua_vid_win_id wids[PJSUA_MAX_VID_WINS]; + unsigned i, cnt = PJ_ARRAY_SIZE(wids); + char win_id[64]; + char desc[128]; + + pjsua_vid_enum_wins(wids, &cnt); + + for (i = 0; i < cnt; ++i) { + pjsua_vid_win_info wi; + + pjsua_vid_win_get_info(wids[i], &wi); + pj_ansi_snprintf(win_id, sizeof(win_id), "%d", wids[i]); + pj_strdup2(param->pool, ¶m->choice[i].value, win_id); + + pj_ansi_snprintf(desc, sizeof(desc), + "Show:%c Pos(%d,%d) Size(%dx%d)", + (wi.show?'Y':'N'), wi.pos.x, wi.pos.y, + wi.size.w, wi.size.h); + + pj_strdup2(param->pool, ¶m->choice[i].desc, desc); + if (++param->cnt >= param->max_cnt) + break; + } + } +} + +static void get_call_id(pj_cli_dyn_choice_param *param) +{ + if (param->cnt < param->max_cnt) { + char call_id[64]; + char desc[128]; + unsigned i, count; + pjsua_call_id ids[PJSUA_MAX_CALLS]; + int call = current_call; + + count = PJ_ARRAY_SIZE(ids); + pjsua_enum_calls(ids, &count); + + if (count > 1) { + for (i=0; i<count; ++i) { + pjsua_call_info call_info; + + if (ids[i] == call) + return; + + pjsua_call_get_info(ids[i], &call_info); + pj_ansi_snprintf(call_id, sizeof(call_id), "%d", ids[i]); + pj_strdup2(param->pool, ¶m->choice[i].value, call_id); + pj_ansi_snprintf(desc, sizeof(desc), "%.*s [%.*s]", + (int)call_info.remote_info.slen, + call_info.remote_info.ptr, + (int)call_info.state_text.slen, + call_info.state_text.ptr); + pj_strdup2(param->pool, ¶m->choice[i].desc, desc); + if (++param->cnt >= param->max_cnt) + break; + + } + } + } +} + +#endif + +static void get_choice_value(pj_cli_dyn_choice_param *param) +{ + switch (param->arg_id) { + case DYN_CHOICE_BUDDY_ID: + case DYN_CHOICE_ADDED_BUDDY_ID: + get_buddy_id(param); + break; + case DYN_CHOICE_ACCOUNT_ID: + get_account_id(param); + break; + case DYN_CHOICE_MEDIA_PORT: + get_media_port(param); + break; + case DYN_CHOICE_AUDIO_CODEC_ID: + get_audio_codec_id(param); + break; +#if PJSUA_HAS_VIDEO + case DYN_CHOICE_CAP_DEV_ID: + case DYN_CHOICE_REN_DEV_ID: + case DYN_CHOICE_VID_DEV_ID: + get_video_dev_id(param, + (param->arg_id==DYN_CHOICE_VID_DEV_ID), + (param->arg_id==DYN_CHOICE_CAP_DEV_ID)); + break; + case DYN_CHOICE_STREAM_ID: + get_video_stream_id(param); + break; + case DYN_CHOICE_VIDEO_CODEC_ID: + get_video_codec_id(param); + break; + case DYN_CHOICE_WIN_ID: + get_video_window_id(param); + break; + case DYN_CHOICE_CALL_ID: + get_call_id(param); + break; +#endif + default: + param->cnt = 0; + break; + } +} + +/* + * CLI command handler + */ + +/* Add account */ +static pj_status_t cmd_add_account(pj_cli_cmd_val *cval) +{ + pjsua_acc_config acc_cfg; + pj_status_t status; + + pjsua_acc_config_default(&acc_cfg); + acc_cfg.id = cval->argv[1]; + acc_cfg.reg_uri = cval->argv[2]; + acc_cfg.cred_count = 1; + acc_cfg.cred_info[0].scheme = pj_str("Digest"); + acc_cfg.cred_info[0].realm = cval->argv[3]; + acc_cfg.cred_info[0].username = cval->argv[4]; + acc_cfg.cred_info[0].data_type = 0; + acc_cfg.cred_info[0].data = cval->argv[5]; + + acc_cfg.rtp_cfg = app_config.rtp_cfg; + app_config_init_video(&acc_cfg); + + status = pjsua_acc_add(&acc_cfg, PJ_TRUE, NULL); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Error adding new account", status); + } + + return status; +} + +/* Delete account */ +static pj_status_t cmd_del_account(pj_cli_cmd_val *cval) +{ + char out_str[64]; + unsigned str_len; + + int i = my_atoi(cval->argv[1].ptr); + + if (!pjsua_acc_is_valid(i)) { + pj_ansi_snprintf(out_str, sizeof(out_str), + "Invalid account id %d\n", i); + str_len = (unsigned)pj_ansi_strlen(out_str); + pj_cli_sess_write_msg(cval->sess, out_str, str_len); + } else { + pjsua_acc_del(i); + pj_ansi_snprintf(out_str, sizeof(out_str), + "Account %d deleted\n", i); + str_len = (unsigned)pj_ansi_strlen(out_str); + pj_cli_sess_write_msg(cval->sess, out_str, str_len); + } + return PJ_SUCCESS; +} + +/* Modify account */ +static pj_status_t cmd_mod_account(pj_cli_cmd_val *cval) +{ + PJ_UNUSED_ARG(cval); + return PJ_SUCCESS; +} + +/* Register account */ +static pj_status_t cmd_reg_account() +{ + pjsua_acc_set_registration(current_acc, PJ_TRUE); + return PJ_SUCCESS; +} + +/* Unregister account */ +static pj_status_t cmd_unreg_account() +{ + pjsua_acc_set_registration(current_acc, PJ_FALSE); + return PJ_SUCCESS; +} + +/* Select account to be used for sending outgoing request */ +static pj_status_t cmd_next_account(pj_cli_cmd_val *cval) +{ + int i = my_atoi(cval->argv[1].ptr); + if (pjsua_acc_is_valid(i)) { + pjsua_acc_set_default(i); + PJ_LOG(3,(THIS_FILE, "Current account changed to %d", i)); + } else { + PJ_LOG(3,(THIS_FILE, "Invalid account id %d", i)); + } + return PJ_SUCCESS; +} + +/* Show account list */ +static pj_status_t cmd_show_account(pj_cli_cmd_val *cval) +{ + pjsua_acc_id acc_ids[16]; + unsigned count = PJ_ARRAY_SIZE(acc_ids); + int i; + static const pj_str_t header = {"Account list:\n", 15}; + + pjsua_enum_accs(acc_ids, &count); + + pj_cli_sess_write_msg(cval->sess, header.ptr, header.slen); + for (i=0; i<(int)count; ++i) { + char acc_info[80]; + char out_str[160]; + pjsua_acc_info info; + + pjsua_acc_get_info(acc_ids[i], &info); + + if (!info.has_registration) { + pj_ansi_snprintf(acc_info, sizeof(acc_info), "%.*s", + (int)info.status_text.slen, + info.status_text.ptr); + + } else { + pj_ansi_snprintf(acc_info, sizeof(acc_info), + "%d/%.*s (expires=%d)", + info.status, + (int)info.status_text.slen, + info.status_text.ptr, + info.expires); + + } + + pj_ansi_snprintf(out_str, sizeof(out_str), + " %c[%2d] %.*s: %s\n", + (acc_ids[i]==current_acc?'*':' '), acc_ids[i], + (int)info.acc_uri.slen, info.acc_uri.ptr, + acc_info); + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + + pj_bzero(out_str, sizeof(out_str)); + pj_ansi_snprintf(out_str, sizeof(out_str), + " Online status: %.*s\n", + (int)info.online_status_text.slen, + info.online_status_text.ptr); + + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + } + + return PJ_SUCCESS; +} + +/* Account command handler */ +pj_status_t cmd_account_handler(pj_cli_cmd_val *cval) +{ + pj_status_t status = PJ_SUCCESS; + + CHECK_PJSUA_RUNNING(); + + switch(pj_cli_get_cmd_id(cval->cmd)) { + case CMD_ACCOUNT_ADD: + status = cmd_add_account(cval); + break; + case CMD_ACCOUNT_DEL: + status = cmd_del_account(cval); + break; + case CMD_ACCOUNT_MOD: + status = cmd_mod_account(cval); + break; + case CMD_ACCOUNT_REG: + status = cmd_reg_account(); + break; + case CMD_ACCOUNT_UNREG: + status = cmd_unreg_account(); + break; + case CMD_ACCOUNT_NEXT: + case CMD_ACCOUNT_PREV: + status = cmd_next_account(cval); + break; + case CMD_ACCOUNT_SHOW: + status = cmd_show_account(cval); + break; + } + return status; +} + +/* Add buddy */ +static pj_status_t cmd_add_buddy(pj_cli_cmd_val *cval) +{ + char out_str[80]; + pjsua_buddy_config buddy_cfg; + pjsua_buddy_id buddy_id; + pj_status_t status = PJ_SUCCESS; + cval->argv[1].ptr[cval->argv[1].slen] = 0; + + if (pjsua_verify_url(cval->argv[1].ptr) != PJ_SUCCESS) { + pj_ansi_snprintf(out_str, sizeof(out_str), + "Invalid URI '%s'\n", cval->argv[1].ptr); + } else { + pj_bzero(&buddy_cfg, sizeof(pjsua_buddy_config)); + + buddy_cfg.uri = pj_str(cval->argv[1].ptr); + buddy_cfg.subscribe = PJ_TRUE; + + status = pjsua_buddy_add(&buddy_cfg, &buddy_id); + if (status == PJ_SUCCESS) { + pj_ansi_snprintf(out_str, sizeof(out_str), + "New buddy '%s' added at index %d\n", + cval->argv[1].ptr, buddy_id+1); + } + } + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + return status; +} + +/* Delete buddy */ +static pj_status_t cmd_del_buddy(pj_cli_cmd_val *cval) +{ + int i = my_atoi(cval->argv[1].ptr) - 1; + char out_str[80]; + + if (!pjsua_buddy_is_valid(i)) { + pj_ansi_snprintf(out_str, sizeof(out_str), + "Invalid buddy id %d\n", i); + } else { + pjsua_buddy_del(i); + pj_ansi_snprintf(out_str, sizeof(out_str), + "Buddy %d deleted\n", i); + } + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + return PJ_SUCCESS; +} + +/* Send IM */ +static pj_status_t cmd_send_im(pj_cli_cmd_val *cval) +{ + int i = -1; + struct input_result result; + char dest[64]; + pj_str_t tmp = pj_str(dest); + + /* make compiler happy. */ + char *uri = NULL; + + pj_strncpy_with_null(&tmp, &cval->argv[1], sizeof(dest)); + + /* input destination. */ + get_input_url(tmp.ptr, tmp.slen, cval, &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + + if (result.nb_result == -1) { + static const pj_str_t err_msg = {"you can't send broadcast im " + "like that!\n", 40 }; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + return PJ_SUCCESS; + } else if (result.nb_result == 0) { + i = current_call; + } else { + pjsua_buddy_info binfo; + pjsua_buddy_get_info(result.nb_result-1, &binfo); + pj_strncpy_with_null(&tmp, &binfo.uri, sizeof(dest)); + uri = tmp.ptr; + } + + } else if (result.uri_result) { + uri = result.uri_result; + } + + /* send typing indication. */ + if (i != -1) + pjsua_call_send_typing_ind(i, PJ_TRUE, NULL); + else { + pj_str_t tmp_uri = pj_str(uri); + pjsua_im_typing(current_acc, &tmp_uri, PJ_TRUE, NULL); + } + + /* send the im */ + if (i != -1) + pjsua_call_send_im(i, NULL, &cval->argv[2], NULL, NULL); + else { + pj_str_t tmp_uri = pj_str(uri); + pjsua_im_send(current_acc, &tmp_uri, NULL, &cval->argv[2], NULL, NULL); + } + return PJ_SUCCESS; +} + +/* Subscribe/unsubscribe presence */ +static pj_status_t cmd_subs_pres(pj_cli_cmd_val *cval, pj_bool_t subscribe) +{ + struct input_result result; + char dest[64] = {0}; + pj_str_t tmp = pj_str(dest); + + pj_strncpy_with_null(&tmp, &cval->argv[1], sizeof(dest)); + get_input_url(tmp.ptr, tmp.slen, cval, &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + if (result.nb_result == -1) { + int i, count; + count = pjsua_get_buddy_count(); + for (i=0; i<count; ++i) + pjsua_buddy_subscribe_pres(i, subscribe); + } else if (result.nb_result == 0) { + static const pj_str_t err_msg = {"Sorry, can only subscribe to " + "buddy's presence, not from " + "existing call\n", 71}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + } else { + pjsua_buddy_subscribe_pres(result.nb_result-1, subscribe); + } + + } else if (result.uri_result) { + static const pj_str_t err_msg = {"Sorry, can only subscribe to " + "buddy's presence, not arbitrary " + "URL (for now)\n", 76}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + } + return PJ_SUCCESS; +} + +/* Toggle online state */ +static pj_status_t cmd_toggle_state(pj_cli_cmd_val *cval) +{ + char out_str[128]; + pjsua_acc_info acc_info; + + pjsua_acc_get_info(current_acc, &acc_info); + acc_info.online_status = !acc_info.online_status; + pjsua_acc_set_online_status(current_acc, acc_info.online_status); + pj_ansi_snprintf(out_str, sizeof(out_str), + "Setting %s online status to %s\n", + acc_info.acc_uri.ptr, + (acc_info.online_status?"online":"offline")); + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + return PJ_SUCCESS; +} + +/* Set presence text */ +static pj_status_t cmd_set_presence_text(pj_cli_cmd_val *cval) +{ + pjrpid_element elem; + int choice; + pj_bool_t online_status; + + enum { + AVAILABLE, BUSY, OTP, IDLE, AWAY, BRB, OFFLINE, OPT_MAX + }; + + choice = pj_strtol(&cval->argv[1]) - 1; + + pj_bzero(&elem, sizeof(elem)); + elem.type = PJRPID_ELEMENT_TYPE_PERSON; + + online_status = PJ_TRUE; + + switch (choice) { + case AVAILABLE: + break; + case BUSY: + elem.activity = PJRPID_ACTIVITY_BUSY; + elem.note = pj_str("Busy"); + break; + case OTP: + elem.activity = PJRPID_ACTIVITY_BUSY; + elem.note = pj_str("On the phone"); + break; + case IDLE: + elem.activity = PJRPID_ACTIVITY_UNKNOWN; + elem.note = pj_str("Idle"); + break; + case AWAY: + elem.activity = PJRPID_ACTIVITY_AWAY; + elem.note = pj_str("Away"); + break; + case BRB: + elem.activity = PJRPID_ACTIVITY_UNKNOWN; + elem.note = pj_str("Be right back"); + break; + case OFFLINE: + online_status = PJ_FALSE; + break; + } + pjsua_acc_set_online_status2(current_acc, online_status, &elem); + return PJ_SUCCESS; +} + +/* Show buddy list */ +static pj_status_t cmd_show_buddy(pj_cli_cmd_val *cval) +{ + pjsua_buddy_id ids[64]; + int i; + unsigned count = PJ_ARRAY_SIZE(ids); + static const pj_str_t header = {"Buddy list:\n", 13}; + char out_str[64]; + + pj_cli_sess_write_msg(cval->sess, header.ptr, header.slen); + + pjsua_enum_buddies(ids, &count); + + if (count == 0) { + pj_ansi_snprintf(out_str, sizeof(out_str), " -none-\n"); + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + } else { + for (i=0; i<(int)count; ++i) { + pjsua_buddy_info info; + pj_bzero(out_str, sizeof(out_str)); + + if (pjsua_buddy_get_info(ids[i], &info) != PJ_SUCCESS) + continue; + + pj_ansi_snprintf(out_str, sizeof(out_str), + " [%2d] <%.*s> %.*s\n", + ids[i]+1, + (int)info.status_text.slen, + info.status_text.ptr, + (int)info.uri.slen, + info.uri.ptr); + + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + } + } + return PJ_SUCCESS; +} + +/* Presence/buddy command handler */ +pj_status_t cmd_presence_handler(pj_cli_cmd_val *cval) +{ + pj_status_t status = PJ_SUCCESS; + + CHECK_PJSUA_RUNNING(); + + switch(pj_cli_get_cmd_id(cval->cmd)) { + case CMD_PRESENCE_ADD_BUDDY: + status = cmd_add_buddy(cval); + break; + case CMD_PRESENCE_DEL_BUDDY: + status = cmd_del_buddy(cval); + break; + case CMD_PRESENCE_SEND_IM: + status = cmd_send_im(cval); + break; + case CMD_PRESENCE_SUB: + case CMD_PRESENCE_UNSUB: + status = cmd_subs_pres(cval, + pj_cli_get_cmd_id(cval->cmd)==CMD_PRESENCE_SUB); + break; + case CMD_PRESENCE_TOG_STATE: + status = cmd_toggle_state(cval); + break; + case CMD_PRESENCE_TEXT: + status = cmd_set_presence_text(cval); + break; + case CMD_PRESENCE_LIST: + status = cmd_show_buddy(cval); + break; + } + + return status; +} + +/* Show conference list */ +static pj_status_t cmd_media_list(pj_cli_cmd_val *cval) +{ + unsigned i, count; + pjsua_conf_port_id id[PJSUA_MAX_CONF_PORTS]; + static const pj_str_t header = {"Conference ports:\n", 19}; + + pj_cli_sess_write_msg(cval->sess, header.ptr, header.slen); + + count = PJ_ARRAY_SIZE(id); + pjsua_enum_conf_ports(id, &count); + + for (i=0; i<count; ++i) { + char out_str[128]; + char txlist[16]; + unsigned j; + pjsua_conf_port_info info; + + pjsua_conf_get_port_info(id[i], &info); + + pj_bzero(txlist, sizeof(txlist)); + for (j=0; j<info.listener_cnt; ++j) { + char s[10]; + pj_ansi_snprintf(s, sizeof(s), "#%d ", info.listeners[j]); + pj_ansi_strcat(txlist, s); + } + pj_ansi_snprintf(out_str, + sizeof(out_str), + "Port #%02d[%2dKHz/%dms/%d] %20.*s transmitting to: %s\n", + info.slot_id, + info.clock_rate/1000, + info.samples_per_frame*1000/info.channel_count/info.clock_rate, + info.channel_count, + (int)info.name.slen, + info.name.ptr, + txlist); + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + } + return PJ_SUCCESS; +} + +/* Conference connect/disconnect */ +static pj_status_t cmd_media_connect(pj_cli_cmd_val *cval, pj_bool_t connect) +{ + pj_status_t status; + + if (connect) + status = pjsua_conf_connect(pj_strtol(&cval->argv[1]), + pj_strtol(&cval->argv[2])); + else + status = pjsua_conf_disconnect(pj_strtol(&cval->argv[1]), + pj_strtol(&cval->argv[2])); + + if (status == PJ_SUCCESS) { + static const pj_str_t success_msg = {"Success\n", 9}; + pj_cli_sess_write_msg(cval->sess, success_msg.ptr, success_msg.slen); + } else { + static const pj_str_t err_msg = {"ERROR!!\n", 9}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + } + return status; +} + +/* Adjust audio volume */ +static pj_status_t cmd_adjust_vol(pj_cli_cmd_val *cval) +{ + char buf[80]; + float orig_level; + char *err; + char level_val[16] = {0}; + pj_str_t tmp = pj_str(level_val); + + /* Adjust mic level */ + orig_level = app_config.mic_level; + pj_strncpy_with_null(&tmp, &cval->argv[1], sizeof(level_val)); + app_config.mic_level = (float)strtod(level_val, &err); + pjsua_conf_adjust_rx_level(0, app_config.mic_level); + + pj_ansi_snprintf(buf, sizeof(buf), + "Adjust mic level: [%4.1fx] -> [%4.1fx]\n", + orig_level, app_config.mic_level); + + pj_cli_sess_write_msg(cval->sess, buf, pj_ansi_strlen(buf)); + + /* Adjust speaker level */ + orig_level = app_config.speaker_level; + pj_strncpy_with_null(&tmp, &cval->argv[2], sizeof(level_val)); + app_config.speaker_level = (float)strtod(level_val, &err); + pjsua_conf_adjust_tx_level(0, app_config.speaker_level); + + pj_ansi_snprintf(buf, sizeof(buf), + "Adjust speaker level: [%4.1fx] -> [%4.1fx]\n", + orig_level, app_config.speaker_level); + + pj_cli_sess_write_msg(cval->sess, buf, pj_ansi_strlen(buf)); + + return PJ_SUCCESS; +} + +/* Set codec priority */ +static pj_status_t cmd_set_codec_prio(pj_cli_cmd_val *cval) +{ + int new_prio; + pj_status_t status; + + new_prio = pj_strtol(&cval->argv[2]); + if (new_prio < 0) + new_prio = 0; + else if (new_prio > PJMEDIA_CODEC_PRIO_HIGHEST) + new_prio = PJMEDIA_CODEC_PRIO_HIGHEST; + + status = pjsua_codec_set_priority(&cval->argv[1], + (pj_uint8_t)new_prio); +#if PJSUA_HAS_VIDEO + if (status != PJ_SUCCESS) { + status = pjsua_vid_codec_set_priority(&cval->argv[1], + (pj_uint8_t)new_prio); + } +#endif + if (status != PJ_SUCCESS) + pjsua_perror(THIS_FILE, "Error setting codec priority", status); + + return status; +} + +/* Conference/media command handler */ +pj_status_t cmd_media_handler(pj_cli_cmd_val *cval) +{ + pj_status_t status = PJ_SUCCESS; + + CHECK_PJSUA_RUNNING(); + + switch(pj_cli_get_cmd_id(cval->cmd)) { + case CMD_MEDIA_LIST: + status = cmd_media_list(cval); + break; + case CMD_MEDIA_CONF_CONNECT: + case CMD_MEDIA_CONF_DISCONNECT: + status = cmd_media_connect(cval, + pj_cli_get_cmd_id(cval->cmd)==CMD_MEDIA_CONF_CONNECT); + break; + case CMD_MEDIA_ADJUST_VOL: + status = cmd_adjust_vol(cval); + break; + case CMD_MEDIA_CODEC_PRIO: + status = cmd_set_codec_prio(cval); + break; + case CMD_MEDIA_SPEAKER_TOGGLE: + { + static int route = PJMEDIA_AUD_DEV_ROUTE_DEFAULT; + status = pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, + &route); + if (status != PJ_SUCCESS) { + PJ_PERROR(2, (THIS_FILE, status, + "Warning: unable to retrieve route setting")); + } + + if (route == PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER) + route = PJMEDIA_AUD_DEV_ROUTE_DEFAULT; + else + route = PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER; + + PJ_LOG(4,(THIS_FILE, "Setting output route to %s %s", + (route==PJMEDIA_AUD_DEV_ROUTE_DEFAULT? + "default" : "loudspeaker"), + (status? "anyway" : ""))); + + status = pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, + &route, PJ_TRUE); + PJ_PERROR(4,(THIS_FILE, status, "Result")); + } + break; + } + + return status; +} + +/* Dump status */ +static pj_status_t cmd_stat_dump(pj_bool_t detail) +{ + pjsua_dump(detail); + return PJ_SUCCESS; +} + +static pj_status_t cmd_show_config() +{ + char settings[2000]; + int len; + + len = write_settings(&app_config, settings, sizeof(settings)); + if (len < 1) + PJ_LOG(1,(THIS_FILE, "Error: not enough buffer")); + else + PJ_LOG(3,(THIS_FILE, + "Dumping configuration (%d bytes):\n%s\n", + len, settings)); + + return PJ_SUCCESS; +} + +static pj_status_t cmd_write_config(pj_cli_cmd_val *cval) +{ + char settings[2000]; + char buf[128] = {0}; + int len; + pj_str_t tmp = pj_str(buf); + + pj_strncpy_with_null(&tmp, &cval->argv[1], sizeof(buf)); + + len = write_settings(&app_config, settings, sizeof(settings)); + if (len < 1) + PJ_LOG(1,(THIS_FILE, "Error: not enough buffer")); + else { + pj_oshandle_t fd; + pj_status_t status; + + status = pj_file_open(app_config.pool, buf, PJ_O_WRONLY, &fd); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Unable to open file", status); + } else { + char out_str[256]; + pj_ssize_t size = len; + pj_file_write(fd, settings, &size); + pj_file_close(fd); + + pj_ansi_snprintf(out_str, sizeof(out_str), + "Settings successfully written to '%s'\n", buf); + + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + } + } + + return PJ_SUCCESS; +} + +/* Status and config command handler */ +pj_status_t cmd_config_handler(pj_cli_cmd_val *cval) +{ + pj_status_t status = PJ_SUCCESS; + + CHECK_PJSUA_RUNNING(); + + switch(pj_cli_get_cmd_id(cval->cmd)) { + case CMD_CONFIG_DUMP_STAT: + status = cmd_stat_dump(PJ_FALSE); + break; + case CMD_CONFIG_DUMP_DETAIL: + status = cmd_stat_dump(PJ_TRUE); + break; + case CMD_CONFIG_DUMP_CONF: + status = cmd_show_config(); + break; + case CMD_CONFIG_WRITE_SETTING: + status = cmd_write_config(cval); + break; + } + + return status; +} + +/* Make single call */ +static pj_status_t cmd_make_single_call(pj_cli_cmd_val *cval) +{ + struct input_result result; + char dest[64] = {0}; + char out_str[128]; + pj_str_t tmp = pj_str(dest); + + pj_strncpy_with_null(&tmp, &cval->argv[1], sizeof(dest)); + + pj_ansi_snprintf(out_str, + sizeof(out_str), + "(You currently have %d calls)\n", + pjsua_call_get_count()); + + pj_cli_sess_write_msg(cval->sess, out_str, pj_ansi_strlen(out_str)); + + /* input destination. */ + get_input_url(tmp.ptr, tmp.slen, cval, &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + pjsua_buddy_info binfo; + if (result.nb_result == -1 || result.nb_result == 0) { + static const pj_str_t err_msg = + {"You can't do that with make call!\n", 35}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + return PJ_SUCCESS; + } + pjsua_buddy_get_info(result.nb_result-1, &binfo); + pj_strncpy(&tmp, &binfo.uri, sizeof(dest)); + } else if (result.uri_result) { + tmp = pj_str(result.uri_result); + } else { + tmp.slen = 0; + } + + pjsua_msg_data_init(&msg_data); + TEST_MULTIPART(&msg_data); + pjsua_call_make_call(current_acc, &tmp, &call_opt, NULL, + &msg_data, ¤t_call); + return PJ_SUCCESS; +} + +/* Make multi call */ +static pj_status_t cmd_make_multi_call(pj_cli_cmd_val *cval) +{ + struct input_result result; + char dest[64] = {0}; + char out_str[128]; + int i, count; + pj_str_t tmp = pj_str(dest); + + pj_ansi_snprintf(out_str, + sizeof(out_str), + "(You currently have %d calls)\n", + pjsua_call_get_count()); + + count = pj_strtol(&cval->argv[1]); + if (count < 1) + return PJ_SUCCESS; + + pj_strncpy_with_null(&tmp, &cval->argv[2], sizeof(dest)); + + /* input destination. */ + get_input_url(tmp.ptr, tmp.slen, cval, &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + pjsua_buddy_info binfo; + if (result.nb_result == -1 || result.nb_result == 0) { + static const pj_str_t err_msg = + {"You can't do that with make call!\n", 35}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + return PJ_SUCCESS; + } + pjsua_buddy_get_info(result.nb_result-1, &binfo); + pj_strncpy(&tmp, &binfo.uri, sizeof(dest)); + } else { + tmp = pj_str(result.uri_result); + } + + for (i=0; i<count; ++i) { + pj_status_t status; + + status = pjsua_call_make_call(current_acc, &tmp, &call_opt, NULL, + NULL, NULL); + if (status != PJ_SUCCESS) + break; + } + return PJ_SUCCESS; +} + +/* Answer call */ +static pj_status_t cmd_answer_call(pj_cli_cmd_val *cval) +{ + pjsua_call_info call_info; + + if (current_call != PJSUA_INVALID_ID) { + pjsua_call_get_info(current_call, &call_info); + } else { + /* Make compiler happy */ + call_info.role = PJSIP_ROLE_UAC; + call_info.state = PJSIP_INV_STATE_DISCONNECTED; + } + + if (current_call == PJSUA_INVALID_ID || + call_info.role != PJSIP_ROLE_UAS || + call_info.state >= PJSIP_INV_STATE_CONNECTING) + { + static const pj_str_t err_msg = {"No pending incoming call\n", 26}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + + } else { + int st_code; + char contact[120]; + pj_str_t hname = { "Contact", 7 }; + pj_str_t hvalue; + pjsip_generic_string_hdr hcontact; + + st_code = pj_strtol(&cval->argv[1]); + if ((st_code < 100) || (st_code > 699)) + return PJ_SUCCESS; + + pjsua_msg_data_init(&msg_data); + + if (st_code/100 == 3) { + if (cval->argc < 3) { + static const pj_str_t err_msg = {"Enter URL to be put " + "in Contact\n", 32}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + return PJ_SUCCESS; + } + + hvalue = pj_str(contact); + pjsip_generic_string_hdr_init2(&hcontact, &hname, &hvalue); + + pj_list_push_back(&msg_data.hdr_list, &hcontact); + } + + /* + * Must check again! + * Call may have been disconnected while we're waiting for + * keyboard input. + */ + if (current_call == PJSUA_INVALID_ID) { + static const pj_str_t err_msg = {"Call has been disconnected\n", + 28}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + } + + pjsua_call_answer2(current_call, &call_opt, st_code, NULL, &msg_data); + } + return PJ_SUCCESS; +} + +/* Hangup call */ +static pj_status_t cmd_hangup_call(pj_cli_cmd_val *cval, pj_bool_t all) +{ + if (current_call == PJSUA_INVALID_ID) { + static const pj_str_t err_msg = {"No current call\n", 17}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + } else { + if (all) + pjsua_call_hangup_all(); + else + pjsua_call_hangup(current_call, 0, NULL, NULL); + } + return PJ_SUCCESS; +} + +/* Hold call */ +static pj_status_t cmd_hold_call() +{ + if (current_call != PJSUA_INVALID_ID) { + pjsua_call_set_hold(current_call, NULL); + + } else { + PJ_LOG(3,(THIS_FILE, "No current call")); + } + return PJ_SUCCESS; +} + +/* Call reinvite */ +static pj_status_t cmd_call_reinvite() +{ + if (current_call != PJSUA_INVALID_ID) { + /* + * re-INVITE + */ + call_opt.flag |= PJSUA_CALL_UNHOLD; + pjsua_call_reinvite2(current_call, &call_opt, NULL); + + } else { + PJ_LOG(3,(THIS_FILE, "No current call")); + } + return PJ_SUCCESS; +} + +/* Send update */ +static pj_status_t cmd_call_update() +{ + if (current_call != PJSUA_INVALID_ID) { + pjsua_call_update2(current_call, &call_opt, NULL); + } else { + PJ_LOG(3,(THIS_FILE, "No current call")); + } + return PJ_SUCCESS; +} + +/* Select next call */ +static pj_status_t cmd_next_call(pj_bool_t next) +{ + /* + * Cycle next/prev dialog. + */ + if (next) { + find_next_call(); + } else { + find_prev_call(); + } + + if (current_call != PJSUA_INVALID_ID) { + pjsua_call_info call_info; + + pjsua_call_get_info(current_call, &call_info); + PJ_LOG(3,(THIS_FILE,"Current dialog: %.*s", + (int)call_info.remote_info.slen, + call_info.remote_info.ptr)); + + } else { + PJ_LOG(3,(THIS_FILE,"No current dialog")); + } + return PJ_SUCCESS; +} + +/* Transfer call */ +static pj_status_t cmd_transfer_call(pj_cli_cmd_val *cval) +{ + if (current_call == PJSUA_INVALID_ID) { + + PJ_LOG(3,(THIS_FILE, "No current call")); + + } else { + char out_str[64]; + int call = current_call; + char dest[64] = {0}; + pj_str_t tmp = pj_str(dest); + struct input_result result; + pjsip_generic_string_hdr refer_sub; + pj_str_t STR_REFER_SUB = { "Refer-Sub", 9 }; + pj_str_t STR_FALSE = { "false", 5 }; + pjsua_call_info ci; + + pj_strncpy_with_null(&tmp, &cval->argv[1], sizeof(dest)); + + pjsua_call_get_info(current_call, &ci); + pj_ansi_snprintf(out_str, + sizeof(out_str), + "Transferring current call [%d] %.*s\n", + current_call, + (int)ci.remote_info.slen, + ci.remote_info.ptr); + + get_input_url(tmp.ptr, tmp.slen, cval, &result); + + /* Check if call is still there. */ + + if (call != current_call) { + puts("Call has been disconnected"); + return PJ_SUCCESS; + } + + pjsua_msg_data_init(&msg_data); + if (app_config.no_refersub) { + /* Add Refer-Sub: false in outgoing REFER request */ + pjsip_generic_string_hdr_init2(&refer_sub, &STR_REFER_SUB, + &STR_FALSE); + pj_list_push_back(&msg_data.hdr_list, &refer_sub); + } + if (result.nb_result != PJSUA_APP_NO_NB) { + if (result.nb_result == -1 || result.nb_result == 0) { + static const pj_str_t err_msg = {"You can't do that with " + "transfer call!\n", 39}; + + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + } else { + pjsua_buddy_info binfo; + pjsua_buddy_get_info(result.nb_result-1, &binfo); + pjsua_call_xfer( current_call, &binfo.uri, &msg_data); + } + } else if (result.uri_result) { + pj_str_t tmp; + tmp = pj_str(result.uri_result); + pjsua_call_xfer( current_call, &tmp, &msg_data); + } + } + return PJ_SUCCESS; +} + +/* Transfer call */ +static pj_status_t cmd_transfer_replace_call(pj_cli_cmd_val *cval) +{ + if (current_call == -1) { + PJ_LOG(3,(THIS_FILE, "No current call")); + } else { + int call = current_call; + int dst_call; + pjsip_generic_string_hdr refer_sub; + pj_str_t STR_REFER_SUB = { "Refer-Sub", 9 }; + pj_str_t STR_FALSE = { "false", 5 }; + pjsua_call_id ids[PJSUA_MAX_CALLS]; + pjsua_msg_data msg_data; + char buf[8] = {0}; + pj_str_t tmp = pj_str(buf); + unsigned count; + static const pj_str_t err_invalid_num = + {"Invalid destination call number\n", 32 }; + count = PJ_ARRAY_SIZE(ids); + pjsua_enum_calls(ids, &count); + + if (count <= 1) { + static const pj_str_t err_no_other_call = + {"There are no other calls\n", 25}; + + pj_cli_sess_write_msg(cval->sess, err_no_other_call.ptr, + err_no_other_call.slen); + return PJ_SUCCESS; + } + + pj_strncpy_with_null(&tmp, &cval->argv[1], sizeof(buf)); + dst_call = my_atoi(tmp.ptr); + + /* Check if call is still there. */ + if (call != current_call) { + static pj_str_t err_call_dc = + {"Call has been disconnected\n", 27}; + + pj_cli_sess_write_msg(cval->sess, err_call_dc.ptr, + err_call_dc.slen); + return PJ_SUCCESS; + } + + /* Check that destination call is valid. */ + if (dst_call == call) { + static pj_str_t err_same_num = + {"Destination call number must not be the " + "same as the call being transferred\n", 74}; + + pj_cli_sess_write_msg(cval->sess, err_same_num.ptr, + err_same_num.slen); + return PJ_SUCCESS; + } + + if (dst_call >= PJSUA_MAX_CALLS) { + pj_cli_sess_write_msg(cval->sess, err_invalid_num.ptr, + err_invalid_num.slen); + return PJ_SUCCESS; + } + + if (!pjsua_call_is_active(dst_call)) { + pj_cli_sess_write_msg(cval->sess, err_invalid_num.ptr, + err_invalid_num.slen); + return PJ_SUCCESS; + } + + pjsua_msg_data_init(&msg_data); + if (app_config.no_refersub) { + /* Add Refer-Sub: false in outgoing REFER request */ + pjsip_generic_string_hdr_init2(&refer_sub, &STR_REFER_SUB, + &STR_FALSE); + pj_list_push_back(&msg_data.hdr_list, &refer_sub); + } + + pjsua_call_xfer_replaces(call, dst_call, + PJSUA_XFER_NO_REQUIRE_REPLACES, + &msg_data); + } + return PJ_SUCCESS; +} + +static pj_status_t cmd_redirect_call(pj_cli_cmd_val *cval) +{ + if (current_call == PJSUA_INVALID_ID) { + PJ_LOG(3,(THIS_FILE, "No current call")); + return PJ_SUCCESS; + } + if (!pjsua_call_is_active(current_call)) { + PJ_LOG(1,(THIS_FILE, "Call %d has gone", current_call)); + } else { + enum { + ACCEPT_REPLACE, ACCEPT, REJECT, STOP + }; + int choice = pj_strtol(&cval->argv[1]); + + switch (choice) { + case ACCEPT_REPLACE: + pjsua_call_process_redirect(current_call, + PJSIP_REDIRECT_ACCEPT_REPLACE); + break; + case ACCEPT: + pjsua_call_process_redirect(current_call, PJSIP_REDIRECT_ACCEPT); + break; + case REJECT: + pjsua_call_process_redirect(current_call, PJSIP_REDIRECT_REJECT); + break; + default: + pjsua_call_process_redirect(current_call, PJSIP_REDIRECT_STOP); + break; + } + } + return PJ_SUCCESS; +} + +/* Send DTMF (RFC2833) */ +static pj_status_t cmd_dtmf_2833(pj_cli_cmd_val *cval) +{ + if (current_call == PJSUA_INVALID_ID) { + + PJ_LOG(3,(THIS_FILE, "No current call")); + + } else if (!pjsua_call_has_media(current_call)) { + + PJ_LOG(3,(THIS_FILE, "Media is not established yet!")); + + } else { + int call = current_call; + pj_status_t status; + + if (call != current_call) { + static const pj_str_t err_msg = {"Call has been disconnected\n", + 28}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + return PJ_SUCCESS;; + } + + status = pjsua_call_dial_dtmf(current_call, &cval->argv[1]); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Unable to send DTMF", status); + } else { + static const pj_str_t msg = {"DTMF digits enqueued " + "for transmission\n", 39}; + pj_cli_sess_write_msg(cval->sess, msg.ptr, msg.slen); + } + } + return PJ_SUCCESS; +} + +/* Send DTMF with SIP Info */ +static pj_status_t cmd_call_info(pj_cli_cmd_val *cval) +{ + if (current_call == PJSUA_INVALID_ID) { + + PJ_LOG(3,(THIS_FILE, "No current call")); + + } else { + const pj_str_t SIP_INFO = pj_str("INFO"); + int call = current_call; + int i; + pj_status_t status; + + if (call != current_call) { + static const pj_str_t err_msg = {"Call has been disconnected\n", + 28}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + return PJ_SUCCESS;; + } + + for (i=0; i<cval->argv[1].slen; ++i) { + char body[64]; + + pjsua_msg_data_init(&msg_data); + msg_data.content_type = pj_str("application/dtmf-relay"); + + pj_ansi_snprintf(body, + sizeof(body), + "Signal=%c\n" + "Duration=160", + cval->argv[1].ptr[i]); + + msg_data.msg_body = pj_str(body); + + status = pjsua_call_send_request(current_call, &SIP_INFO, + &msg_data); + if (status != PJ_SUCCESS) { + break; + } + } + } + return PJ_SUCCESS; +} + +/* Dump call quality */ +static pj_status_t cmd_call_quality() +{ + if (current_call != PJSUA_INVALID_ID) { + log_call_dump(current_call); + } else { + PJ_LOG(3,(THIS_FILE, "No current call")); + } + return PJ_SUCCESS; +} + +/* Send arbitrary request */ +static pj_status_t cmd_send_arbitrary(pj_cli_cmd_val *cval) +{ + if (pjsua_acc_get_count() == 0) { + static const pj_str_t err_msg = {"Sorry, need at least one " + "account configured\n", 45}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + } else { + char *uri; + char dest[64] = {0}; + pj_str_t tmp = pj_str(dest); + struct input_result result; + static const pj_str_t header = {"Send arbitrary request to " + "remote host\n", 39}; + + pj_cli_sess_write_msg(cval->sess, header.ptr, header.slen); + + pj_strncpy_with_null(&tmp, &cval->argv[2], sizeof(dest)); + /* Input destination URI */ + uri = NULL; + get_input_url(tmp.ptr, tmp.slen, cval, &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + if (result.nb_result == -1) { + static const pj_str_t err_msg = {"Sorry you can't do that!\n", + 26}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, err_msg.slen); + return PJ_SUCCESS; + } else if (result.nb_result == 0) { + uri = NULL; + if (current_call == PJSUA_INVALID_ID) { + static const pj_str_t err_msg = {"No current call\n", + 17}; + pj_cli_sess_write_msg(cval->sess, err_msg.ptr, + err_msg.slen); + + return PJ_SUCCESS; + } + } else { + pjsua_buddy_info binfo; + pjsua_buddy_get_info(result.nb_result-1, &binfo); + pj_strncpy_with_null(&tmp, &binfo.uri, sizeof(dest)); + uri = tmp.ptr; + } + } else if (result.uri_result) { + uri = result.uri_result; + } else { + return PJ_SUCCESS;; + } + + if (uri) { + char method[64] = {0}; + pj_str_t tmp_method = pj_str(method); + pj_strncpy_with_null(&tmp_method, &cval->argv[1], sizeof(method)); + tmp = pj_str(uri); + send_request(method, &tmp); + } else { + /* If you send call control request using this method + * (such requests includes BYE, CANCEL, etc.), it will + * not go well with the call state, so don't do it + * unless it's for testing. + */ + pjsua_call_send_request(current_call, &cval->argv[1], NULL); + } + } + return PJ_SUCCESS; +} + +static pj_status_t cmd_show_current_call(pj_cli_cmd_val *cval) +{ + char out_str[128]; + int i = pjsua_call_get_count(); + pj_ansi_snprintf(out_str, sizeof(out_str), + "You have %d active call%s\n", i, (i>1?"s":"")); + + pj_cli_sess_write_msg(cval->sess, out_str, + pj_ansi_strlen(out_str)); + + if (current_call != PJSUA_INVALID_ID) { + pjsua_call_info ci; + if (pjsua_call_get_info(current_call, &ci)==PJ_SUCCESS) { + pj_ansi_snprintf(out_str, sizeof(out_str), + "Current call id=%d to %.*s [%.*s]\n", current_call, + (int)ci.remote_info.slen, ci.remote_info.ptr, + (int)ci.state_text.slen, ci.state_text.ptr); + + pj_cli_sess_write_msg(cval->sess, out_str, + pj_ansi_strlen(out_str)); + } + } + return PJ_SUCCESS; +} + +/* Call handler */ +pj_status_t cmd_call_handler(pj_cli_cmd_val *cval) +{ + pj_status_t status = PJ_SUCCESS; + pj_cli_cmd_id cmd_id = pj_cli_get_cmd_id(cval->cmd); + + CHECK_PJSUA_RUNNING(); + + switch(cmd_id) { + case CMD_CALL_NEW: + status = cmd_make_single_call(cval); + break; + case CMD_CALL_MULTI: + status = cmd_make_multi_call(cval); + break; + case CMD_CALL_ANSWER: + status = cmd_answer_call(cval); + break; + case CMD_CALL_HANGUP: + case CMD_CALL_HANGUP_ALL: + status = cmd_hangup_call(cval, (cmd_id==CMD_CALL_HANGUP_ALL)); + break; + case CMD_CALL_HOLD: + status = cmd_hold_call(); + break; + case CMD_CALL_REINVITE: + status = cmd_call_reinvite(); + break; + case CMD_CALL_UPDATE: + status = cmd_call_update(); + break; + case CMD_CALL_NEXT: + case CMD_CALL_PREVIOUS: + status = cmd_next_call(cmd_id==CMD_CALL_NEXT); + break; + case CMD_CALL_TRANSFER: + status = cmd_transfer_call(cval); + break; + case CMD_CALL_TRANSFER_REPLACE: + status = cmd_transfer_replace_call(cval); + break; + case CMD_CALL_REDIRECT: + status = cmd_redirect_call(cval); + break; + case CMD_CALL_D2833: + status = cmd_dtmf_2833(cval); + break; + case CMD_CALL_INFO: + status = cmd_call_info(cval); + break; + case CMD_CALL_DUMP_Q: + status = cmd_call_quality(); + break; + case CMD_CALL_SEND_ARB: + status = cmd_send_arbitrary(cval); + break; + case CMD_CALL_LIST: + status = cmd_show_current_call(cval); + break; + } + + return status; +} + +#if PJSUA_HAS_VIDEO +static pj_status_t cmd_set_video_enable(pj_bool_t enabled) +{ + app_config.vid.vid_cnt = (enabled ? 1 : 0); + PJ_LOG(3,(THIS_FILE, "Video will be %s in next offer/answer", + (enabled?"enabled":"disabled"))); + + return PJ_SUCCESS; +} + +static pj_status_t modify_video_account(pjsua_acc_config *acc_cfg) +{ + pj_status_t status = pjsua_acc_modify(current_acc, acc_cfg); + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Error modifying account %d", + current_acc)); + + return status; +} + +static pj_status_t cmd_show_account_video() +{ + pjsua_acc_config acc_cfg; + pj_pool_t *pool = pjsua_pool_create("tmp-pjsua", 1000, 1000); + + pjsua_acc_get_config(current_acc, pool, &acc_cfg); + app_config_show_video(current_acc, &acc_cfg); + pj_pool_release(pool); + return PJ_SUCCESS; +} + +static pj_status_t cmd_video_acc_handler(pj_cli_cmd_val *cval) +{ + pjsua_acc_config acc_cfg; + pj_cli_cmd_id cmd_id = pj_cli_get_cmd_id(cval->cmd); + pj_pool_t *pool = pjsua_pool_create("tmp-pjsua", 1000, 1000); + + CHECK_PJSUA_RUNNING(); + + pjsua_acc_get_config(current_acc, pool, &acc_cfg); + + switch(cmd_id) { + case CMD_VIDEO_ACC_AUTORX: + case CMD_VIDEO_ACC_AUTOTX: + { + int on = (pj_ansi_strnicmp(cval->argv[1].ptr, "On", 2)==0); + + if (cmd_id == CMD_VIDEO_ACC_AUTORX) + acc_cfg.vid_in_auto_show = on; + else + acc_cfg.vid_out_auto_transmit = on; + } + break; + case CMD_VIDEO_ACC_CAP_ID: + case CMD_VIDEO_ACC_REN_ID: + { + int dev = pj_strtol(&cval->argv[1]); + + if (cmd_id == CMD_VIDEO_ACC_CAP_ID) + acc_cfg.vid_cap_dev = dev; + else + acc_cfg.vid_rend_dev = dev; + } + break; + } + modify_video_account(&acc_cfg); + pj_pool_release(pool); + return PJ_SUCCESS; +} + +static pj_status_t cmd_add_vid_strm() +{ + return pjsua_call_set_vid_strm(current_call, + PJSUA_CALL_VID_STRM_ADD, NULL); +} + +static pj_status_t cmd_enable_vid_rx(pj_cli_cmd_val *cval) +{ + pjsua_call_vid_strm_op_param param; + pjsua_stream_info si; + pj_status_t status = PJ_SUCCESS; + pj_bool_t on = (pj_ansi_strnicmp(cval->argv[1].ptr, "On", 2) == 0); + + pjsua_call_vid_strm_op_param_default(¶m); + + param.med_idx = pj_strtol(&cval->argv[2]); + if (pjsua_call_get_stream_info(current_call, param.med_idx, &si) || + si.type != PJMEDIA_TYPE_VIDEO) + { + PJ_PERROR(1,(THIS_FILE, PJ_EINVAL, "Invalid stream")); + return status; + } + + if (on) param.dir = (si.info.vid.dir | PJMEDIA_DIR_DECODING); + else param.dir = (si.info.vid.dir & PJMEDIA_DIR_ENCODING); + + status = pjsua_call_set_vid_strm(current_call, + PJSUA_CALL_VID_STRM_CHANGE_DIR, + ¶m); + return status; +} + +static pj_status_t cmd_enable_vid_tx(pj_cli_cmd_val *cval) +{ + pjsua_call_vid_strm_op_param param; + pj_status_t status = PJ_SUCCESS; + pj_bool_t on = (pj_ansi_strnicmp(cval->argv[1].ptr, "On", 2) == 0); + + pjsua_call_vid_strm_op op = on? PJSUA_CALL_VID_STRM_START_TRANSMIT : + PJSUA_CALL_VID_STRM_STOP_TRANSMIT; + + pjsua_call_vid_strm_op_param_default(¶m); + + param.med_idx = pj_strtol(&cval->argv[2]); + + status = pjsua_call_set_vid_strm(current_call, op, ¶m); + return status; +} + +static pj_status_t cmd_enable_vid_stream(pj_cli_cmd_val *cval, + pj_bool_t enable) +{ + pjsua_call_vid_strm_op_param param; + pjsua_call_vid_strm_op op = enable? PJSUA_CALL_VID_STRM_CHANGE_DIR : + PJSUA_CALL_VID_STRM_REMOVE; + + pjsua_call_vid_strm_op_param_default(¶m); + + param.med_idx = cval->argc > 1 ? pj_strtol(&cval->argv[1]) : -1; + param.dir = PJMEDIA_DIR_ENCODING_DECODING; + return pjsua_call_set_vid_strm(current_call, op, ¶m); +} + +static pj_status_t cmd_set_cap_dev_id(pj_cli_cmd_val *cval) +{ + pjsua_call_vid_strm_op_param param; + + pjsua_call_vid_strm_op_param_default(¶m); + param.med_idx = cval->argc > 1? pj_strtol(&cval->argv[1]) : -1; + param.cap_dev = cval->argc > 2? pj_strtol(&cval->argv[2]) : + PJMEDIA_VID_DEFAULT_CAPTURE_DEV; + + return pjsua_call_set_vid_strm(current_call, + PJSUA_CALL_VID_STRM_CHANGE_CAP_DEV, + ¶m); +} + +static pj_status_t cmd_list_vid_dev() +{ + vid_list_devs(); + return PJ_SUCCESS; +} + +static pj_status_t cmd_vid_device_refresh() +{ + pjmedia_vid_dev_refresh(); + return PJ_SUCCESS; +} + +static pj_status_t cmd_vid_device_preview(pj_cli_cmd_val *cval) +{ + int dev_id = pj_strtol(&cval->argv[2]); + pj_bool_t on = (pj_ansi_strnicmp(cval->argv[1].ptr, "On", 2) == 0); + + if (on) { + pjsua_vid_preview_param param; + + pjsua_vid_preview_param_default(¶m); + param.wnd_flags = PJMEDIA_VID_DEV_WND_BORDER | + PJMEDIA_VID_DEV_WND_RESIZABLE; + pjsua_vid_preview_start(dev_id, ¶m); + arrange_window(pjsua_vid_preview_get_win(dev_id)); + } else { + pjsua_vid_win_id wid; + wid = pjsua_vid_preview_get_win(dev_id); + if (wid != PJSUA_INVALID_ID) { + /* Preview window hiding once it is stopped is + * responsibility of app */ + pjsua_vid_win_set_show(wid, PJ_FALSE); + pjsua_vid_preview_stop(dev_id); + } + } + return PJ_SUCCESS; +} + +static pj_status_t cmd_vid_codec_list() +{ + pjsua_codec_info ci[PJMEDIA_CODEC_MGR_MAX_CODECS]; + unsigned count = PJ_ARRAY_SIZE(ci); + pj_status_t status = pjsua_vid_enum_codecs(ci, &count); + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, status, "Error enumerating codecs")); + } else { + unsigned i; + PJ_LOG(3,(THIS_FILE, "Found %d video codecs:", count)); + PJ_LOG(3,(THIS_FILE, "codec id prio fps bw(kbps) size")); + PJ_LOG(3,(THIS_FILE, "------------------------------------------")); + for (i=0; i<count; ++i) { + pjmedia_vid_codec_param cp; + pjmedia_video_format_detail *vfd; + + status = pjsua_vid_codec_get_param(&ci[i].codec_id, &cp); + if (status != PJ_SUCCESS) + continue; + + vfd = pjmedia_format_get_video_format_detail(&cp.enc_fmt, + PJ_TRUE); + PJ_LOG(3,(THIS_FILE, "%.*s%.*s %3d %7.2f %4d/%4d %dx%d", + (int)ci[i].codec_id.slen, ci[i].codec_id.ptr, + 13-(int)ci[i].codec_id.slen, " ", + ci[i].priority, + (vfd->fps.num*1.0/vfd->fps.denum), + vfd->avg_bps/1000, vfd->max_bps/1000, + vfd->size.w, vfd->size.h)); + } + } + return PJ_SUCCESS; +} + +static pj_status_t cmd_set_vid_codec_prio(pj_cli_cmd_val *cval) +{ + int prio = pj_strtol(&cval->argv[2]); + pj_status_t status; + + status = pjsua_vid_codec_set_priority(&cval->argv[1], (pj_uint8_t)prio); + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Set codec priority error")); + + return PJ_SUCCESS; +} + +static pj_status_t cmd_set_vid_codec_fps(pj_cli_cmd_val *cval) +{ + pjmedia_vid_codec_param cp; + int M, N; + pj_status_t status; + + M = pj_strtol(&cval->argv[2]); + N = pj_strtol(&cval->argv[3]); + status = pjsua_vid_codec_get_param(&cval->argv[1], &cp); + if (status == PJ_SUCCESS) { + cp.enc_fmt.det.vid.fps.num = M; + cp.enc_fmt.det.vid.fps.denum = N; + status = pjsua_vid_codec_set_param(&cval->argv[1], &cp); + } + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Set codec framerate error")); + + return PJ_SUCCESS; +} + +static pj_status_t cmd_set_vid_codec_bitrate(pj_cli_cmd_val *cval) +{ + pjmedia_vid_codec_param cp; + int M, N; + pj_status_t status; + + M = pj_strtol(&cval->argv[2]); + N = pj_strtol(&cval->argv[3]); + status = pjsua_vid_codec_get_param(&cval->argv[1], &cp); + if (status == PJ_SUCCESS) { + cp.enc_fmt.det.vid.avg_bps = M * 1000; + cp.enc_fmt.det.vid.max_bps = N * 1000; + status = pjsua_vid_codec_set_param(&cval->argv[1], &cp); + } + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Set codec bitrate error")); + + return status; +} + +static pj_status_t cmd_set_vid_codec_size(pj_cli_cmd_val *cval) +{ + pjmedia_vid_codec_param cp; + int M, N; + pj_status_t status; + + M = pj_strtol(&cval->argv[2]); + N = pj_strtol(&cval->argv[3]); + status = pjsua_vid_codec_get_param(&cval->argv[1], &cp); + if (status == PJ_SUCCESS) { + cp.enc_fmt.det.vid.size.w = M; + cp.enc_fmt.det.vid.size.h = N; + status = pjsua_vid_codec_set_param(&cval->argv[1], &cp); + } + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Set codec size error")); + + return status; +} + +static pj_status_t cmd_vid_win_list() +{ + pjsua_vid_win_id wids[PJSUA_MAX_VID_WINS]; + unsigned i, cnt = PJ_ARRAY_SIZE(wids); + + pjsua_vid_enum_wins(wids, &cnt); + + PJ_LOG(3,(THIS_FILE, "Found %d video windows:", cnt)); + PJ_LOG(3,(THIS_FILE, "WID show pos size")); + PJ_LOG(3,(THIS_FILE, "------------------------------")); + for (i = 0; i < cnt; ++i) { + pjsua_vid_win_info wi; + pjsua_vid_win_get_info(wids[i], &wi); + PJ_LOG(3,(THIS_FILE, "%3d %c (%d,%d) %dx%d", + wids[i], (wi.show?'Y':'N'), wi.pos.x, wi.pos.y, + wi.size.w, wi.size.h)); + } + return PJ_SUCCESS; +} + +static pj_status_t cmd_arrange_vid_win() +{ + arrange_window(PJSUA_INVALID_ID); + return PJ_SUCCESS; +} + +static pj_status_t cmd_show_vid_win(pj_cli_cmd_val *cval, pj_bool_t show) +{ + pjsua_vid_win_id wid = pj_strtol(&cval->argv[1]); + return pjsua_vid_win_set_show(wid, show); +} + +static pj_status_t cmd_move_vid_win(pj_cli_cmd_val *cval) +{ + pjsua_vid_win_id wid = pj_strtol(&cval->argv[1]); + pjmedia_coord pos; + + pos.x = pj_strtol(&cval->argv[2]); + pos.y = pj_strtol(&cval->argv[3]); + return pjsua_vid_win_set_pos(wid, &pos); +} + +static pj_status_t cmd_resize_vid_win(pj_cli_cmd_val *cval) +{ + pjsua_vid_win_id wid = pj_strtol(&cval->argv[1]); + pjmedia_rect_size size; + + size.w = pj_strtol(&cval->argv[2]); + size.h = pj_strtol(&cval->argv[3]); + return pjsua_vid_win_set_size(wid, &size); +} + +/* Video handler */ +static pj_status_t cmd_video_handler(pj_cli_cmd_val *cval) +{ + pj_status_t status = PJ_SUCCESS; + pj_cli_cmd_id cmd_id = pj_cli_get_cmd_id(cval->cmd); + + CHECK_PJSUA_RUNNING(); + + switch(cmd_id) { + case CMD_VIDEO_ENABLE: + status = cmd_set_video_enable(PJ_TRUE); + break; + case CMD_VIDEO_DISABLE: + status = cmd_set_video_enable(PJ_FALSE); + break; + case CMD_VIDEO_ACC_SHOW: + status = cmd_show_account_video(); + break; + case CMD_VIDEO_ACC_AUTORX: + case CMD_VIDEO_ACC_AUTOTX: + case CMD_VIDEO_ACC_CAP_ID: + case CMD_VIDEO_ACC_REN_ID: + status = cmd_video_acc_handler(cval); + break; + case CMD_VIDEO_CALL_ADD: + status = cmd_add_vid_strm(); + break; + case CMD_VIDEO_CALL_RX: + status = cmd_enable_vid_rx(cval); + break; + case CMD_VIDEO_CALL_TX: + status = cmd_enable_vid_tx(cval); + break; + case CMD_VIDEO_CALL_ENABLE: + case CMD_VIDEO_CALL_DISABLE: + status = cmd_enable_vid_stream(cval, (cmd_id==CMD_VIDEO_CALL_ENABLE)); + break; + case CMD_VIDEO_CALL_CAP: + status = cmd_set_cap_dev_id(cval); + break; + case CMD_VIDEO_DEVICE_LIST: + status = cmd_list_vid_dev(); + break; + case CMD_VIDEO_DEVICE_REFRESH: + status = cmd_vid_device_refresh(); + break; + case CMD_VIDEO_DEVICE_PREVIEW: + status = cmd_vid_device_preview(cval); + break; + case CMD_VIDEO_CODEC_LIST: + status = cmd_vid_codec_list(); + break; + case CMD_VIDEO_CODEC_PRIO: + status = cmd_set_vid_codec_prio(cval); + break; + case CMD_VIDEO_CODEC_FPS: + status = cmd_set_vid_codec_fps(cval); + break; + case CMD_VIDEO_CODEC_BITRATE: + status = cmd_set_vid_codec_bitrate(cval); + break; + case CMD_VIDEO_CODEC_SIZE: + status = cmd_set_vid_codec_size(cval); + break; + case CMD_VIDEO_WIN_LIST: + status = cmd_vid_win_list(); + break; + case CMD_VIDEO_WIN_ARRANGE: + status = cmd_arrange_vid_win(); + break; + case CMD_VIDEO_WIN_SHOW: + case CMD_VIDEO_WIN_HIDE: + status = cmd_show_vid_win(cval, (cmd_id==CMD_VIDEO_WIN_SHOW)); + break; + case CMD_VIDEO_WIN_MOVE: + status = cmd_move_vid_win(cval); + break; + case CMD_VIDEO_WIN_RESIZE: + status = cmd_resize_vid_win(cval); + break; + } + + return status; +} +#endif + +/* Other command handler */ +static pj_status_t cmd_sleep_handler(pj_cli_cmd_val *cval) +{ + int delay; + + delay = pj_strtoul(&cval->argv[1]); + if (delay < 0) delay = 0; + pj_thread_sleep(delay); + + return PJ_SUCCESS; +} + +static pj_status_t cmd_network_handler(pj_cli_cmd_val *cval) +{ + pj_status_t status = PJ_SUCCESS; + PJ_UNUSED_ARG(cval); + + CHECK_PJSUA_RUNNING(); + + status = pjsua_detect_nat_type(); + if (status != PJ_SUCCESS) + pjsua_perror(THIS_FILE, "Error", status); + + return status; +} + +static pj_status_t cmd_quit_handler(pj_cli_cmd_val *cval) +{ + PJ_LOG(3,(THIS_FILE, "Quitting app..")); + pj_cli_quit(cval->sess->fe->cli, cval->sess, PJ_FALSE); + + /* Invoke CLI stop callback (defined in pjsua_app.c) */ + cli_on_stopped(PJ_FALSE, 0, NULL); + + return PJ_SUCCESS; +} + +/* + * Syntax error handler for parser. + */ +static void on_syntax_error(pj_scanner *scanner) +{ + PJ_UNUSED_ARG(scanner); + PJ_THROW(PJ_EINVAL); +} + +/* + * This method will parse buffer string info array of argument string + * @argc On input, maximum array size of argument. On output, number of argument + * parsed + * @argv Array of argument string + */ +static pj_status_t get_options(pj_str_t *options, unsigned *argc, + pj_str_t argv[]) +{ + pj_scanner scanner; + unsigned max_argc = *argc; + + PJ_USE_EXCEPTION; + + if (!options) + return PJ_SUCCESS; + + pj_scan_init(&scanner, options->ptr, options->slen, PJ_SCAN_AUTOSKIP_WS, + &on_syntax_error); + PJ_TRY { + *argc = 0; + while (!pj_scan_is_eof(&scanner) && (max_argc > *argc)) { + pj_str_t str; + + pj_scan_get_until_chr(&scanner, " \t\r\n", &str); + argv[*argc] = str; + ++(*argc); + } + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return PJ_GET_EXCEPTION(); + } + PJ_END; + return PJ_SUCCESS; +} + +static pj_status_t cmd_restart_handler(pj_cli_cmd_val *cval) +{ + enum { MAX_ARGC = 64 }; + int i; + unsigned argc = 1; + static char argv_buffer[PJ_CLI_MAX_CMDBUF]; + static char *argv[MAX_ARGC] = {NULL}; + char *pbuf = argv_buffer; + + PJ_LOG(3,(THIS_FILE, "Restarting app..")); + pj_cli_quit(cval->sess->fe->cli, cval->sess, PJ_TRUE); + + /** Get the pjsua option **/ + for (i=1; i < cval->argc; i++) { + pj_str_t argvst[MAX_ARGC]; + unsigned j, ac; + + ac = MAX_ARGC - argc; + get_options(&cval->argv[i], &ac, argvst); + for (j = 0; j < ac; j++) { + pj_ansi_strncpy(pbuf, argvst[j].ptr, argvst[j].slen); + pbuf[argvst[j].slen] = '\0'; + argv[argc + j] = pbuf; + pbuf += argvst[j].slen + 1; + } + argc += ac; + } + + /* Invoke CLI stop callback (defined in pjsua_app.c) */ + cli_on_stopped(PJ_TRUE, argc, (char**)argv); + + return PJ_SUCCESS; +} + +static pj_status_t add_call_command(pj_cli_t *cli) +{ + char* call_command = + "<CMD name='call' id='100' desc='Call related commands'>" + " <CMD name='new' id='1001' desc='Make a new call/INVITE'>" + " <ARG name='buddy_id' type='choice' id='9901' validate='0' " + " desc='Buddy Id'>" + " <CHOICE value='-1' desc='All buddies'/>" + " <CHOICE value='0' desc='Current dialog'/>" + " </ARG>" + " </CMD>" + " <CMD name='multi' id='1002' desc='Make multiple calls'>" + " <ARG name='number_of_calls' type='int' desc='Number of calls'/>" + " <ARG name='buddy_id' type='choice' id='9901' validate='0' " + " desc='Buddy Id'>" + " <CHOICE value='-1' desc='All buddies'/>" + " <CHOICE value='0' desc='Current dialog'/>" + " </ARG>" + " </CMD>" + " <CMD name='answer' id='1003' desc='Answer call'>" + " <ARG name='code' type='int' desc='Answer code'/>" + " <ARG name='new_url' type='string' optional='1' " + " desc='New URL(for 3xx resp)'/>" + " </CMD>" + " <CMD name='hangup' id='1004' sc='g' desc='Hangup call'/>" + " <CMD name='hangup_all' id='1005' sc='hA' desc='Hangup all call'/>" + " <CMD name='hold' id='1006' sc='H' desc='Hold call'/>" + " <CMD name='reinvite' id='1007' sc='v' " + " desc='Re-invite (release hold)'/>" + " <CMD name='update' id='1008' sc='U' desc='Send Update request'/>" + " <CMD name='next' id='1009' sc=']' desc='Select next call'/>" + " <CMD name='previous' id='1010' sc='[' desc='Select previous call'/>" + " <CMD name='transfer' id='1011' sc='x' desc='Transfer call'>" + " <ARG name='buddy_id' type='choice' id='9901' validate='0' " + " desc='Buddy Id'>" + " <CHOICE value='-1' desc='All buddies'/>" + " <CHOICE value='0' desc='Current dialog'/>" + " </ARG>" + " </CMD>" + " <CMD name='transfer_replaces' id='1012' sc='X' " + " desc='Transfer replace call'>" + " <ARG name='call_id' type='choice' id='9911' desc='Call Id'/>" + " </CMD>" + " <CMD name='redirect' id='1013' sc='R' desc='Redirect call'>" + " <ARG name='redirect_option' type='choice' desc='Redirect option'>" + " <CHOICE value='0' desc='Redirect accept replace'/>" + " <CHOICE value='1' desc='Redirect accept'/>" + " <CHOICE value='2' desc='Redirect reject'/>" + " <CHOICE value='3' desc='Redirect stop'/>" + " </ARG>" + " </CMD>" + " <CMD name='d_2833' id='1014' sc='#' desc='Send DTMF (RFC 2833)'>" + " <ARG name='dtmf_to_send' type='string' " + " desc='DTMF String to send'/>" + " </CMD>" + " <CMD name='d_info' id='1015' sc='*' desc='Send DTMF with SIP INFO'>" + " <ARG name='dtmf_to_send' type='string' " + " desc='DTMF String to send'/>" + " </CMD>" + " <CMD name='dump_q' id='1016' sc='dq' desc='Dump (call) quality'/>" + " <CMD name='send_arb' id='1017' sc='S' desc='Send arbitrary request'>" + " <ARG name='request_method' type='string' desc='Request method'/>" + " <ARG name='buddy_id' type='choice' id='9901' validate='0' " + " desc='Buddy Id'>" + " <CHOICE value='-1' desc='All buddies'/>" + " <CHOICE value='0' desc='Current dialog'/>" + " </ARG>" + " </CMD>" + " <CMD name='list' id='1018' desc='Show current call'/>" + "</CMD>"; + + pj_str_t xml = pj_str(call_command); + return pj_cli_add_cmd_from_xml(cli, NULL, + &xml, cmd_call_handler, + NULL, get_choice_value); +} + +static pj_status_t add_presence_command(pj_cli_t *cli) +{ + char* presence_command = + "<CMD name='im' id='200' desc='IM and Presence Commands'>" + " <CMD name='add_b' id='2001' sc='+b' desc='Add buddy'>" + " <ARG name='buddy_uri' type='string' desc='Buddy URI'/>" + " </CMD>" + " <CMD name='del_b' id='2002' sc='-b' desc='Delete buddy'>" + " <ARG name='added_buddy_id' type='choice' id='9912' " + " desc='Buddy ID'/>" + " </CMD>" + " <CMD name='send_im' id='2003' sc='i' desc='Send IM'>" + " <ARG name='buddy_id' type='choice' id='9901' validate='0' " + " desc='Buddy Id'>" + " <CHOICE value='-1' desc='All buddies'/>" + " <CHOICE value='0' desc='Current dialog'/>" + " </ARG>" + " <ARG name='message_content' type='string' desc='Message Content'/>" + " </CMD>" + " <CMD name='sub_pre' id='2004' desc='Subscribe presence'>" + " <ARG name='buddy_id' type='choice' id='9901' validate='0' " + " desc='Buddy Id'>" + " <CHOICE value='-1' desc='All buddies'/>" + " <CHOICE value='0' desc='Current dialog'/>" + " </ARG>" + " </CMD>" + " <CMD name='unsub_pre' id='2005' desc='Unsubscribe Presence'>" + " <ARG name='buddy_id' type='choice' id='9901' validate='0' " + " desc='Buddy Id'>" + " <CHOICE value='-1' desc='All buddies'/>" + " <CHOICE value='0' desc='Current dialog'/>" + " </ARG>" + " </CMD>" + " <CMD name='tog_state' id='2006' desc='Toggle online state'/>" + " <CMD name='pre_text' id='2007' sc='T' " + " desc='Specify custom presence text'>" + " <ARG name='online_state' type='choice' desc='Online state'>" + " <CHOICE value='1' desc='Available'/>" + " <CHOICE value='2' desc='Busy'/>" + " <CHOICE value='3' desc='On The Phone'/>" + " <CHOICE value='4' desc='Idle'/>" + " <CHOICE value='5' desc='Away'/>" + " <CHOICE value='6' desc='Be Right Back'/>" + " <CHOICE value='7' desc='Offline'/>" + " </ARG>" + " </CMD>" + " <CMD name='bud_list' id='2008' sc='bl' desc='Show buddy list'/>" + "</CMD>"; + + pj_str_t xml = pj_str(presence_command); + + return pj_cli_add_cmd_from_xml(cli, NULL, + &xml, cmd_presence_handler, + NULL, get_choice_value); +} + +static pj_status_t add_account_command(pj_cli_t *cli) +{ + char* account_command = + "<CMD name='acc' id='300' desc='Account commands'>" + " <CMD name='add' id='3001' sc='+a' desc='Add new account'>" + " <ARG name='sip_url' type='string' desc='Your SIP URL'/>" + " <ARG name='registrar_url' type='string' " + " desc='URL of the registrar'/>" + " <ARG name='auth_realm' type='string' desc='Auth realm'/>" + " <ARG name='auth_username' type='string' desc='Auth username'/>" + " <ARG name='auth_password' type='string' desc='Auth password'/>" + " </CMD>" + " <CMD name='del' id='3002' sc='-a' desc='Delete account'>" + " <ARG name='account_id' type='choice' id='9902' desc='Account Id'/>" + " </CMD>" + " <CMD name='mod' id='3003' sc='!a' desc='Modify account'>" + " <ARG name='account_id' type='choice' id='9902' desc='Account Id'/>" + " <ARG name='sip_url' type='string' desc='Your SIP URL'/>" + " <ARG name='registrar_url' type='string' " + " desc='URL of the registrar'/>" + " <ARG name='auth_realm' type='string' desc='Auth realm'/>" + " <ARG name='auth_username' type='string' desc='Auth username'/>" + " <ARG name='auth_password' type='string' desc='Auth password'/>" + " </CMD>" + " <CMD name='reg' id='3004' sc='rr' " + " desc='Send (Refresh) Register request to register'/>" + " <CMD name='unreg' id='3005' sc='ru' " + " desc='Send Register request to unregister'/>" + " <CMD name='next' id='3006' sc='<' " + " desc='Select the next account for sending outgoing requests'>" + " <ARG name='account_id' type='choice' id='9902' desc='Account Id'/>" + " </CMD>" + " <CMD name='prev' id='3007' sc='>' " + " desc='Select the previous account for sending outgoing requests'>" + " <ARG name='account_id' type='choice' id='9902' desc='Account Id'/>" + " </CMD>" + " <CMD name='show' id='3008' sc='l' desc='Show account list'/>" + "</CMD>"; + + pj_str_t xml = pj_str(account_command); + return pj_cli_add_cmd_from_xml(cli, NULL, + &xml, cmd_account_handler, + NULL, get_choice_value); +} + +static pj_status_t add_media_command(pj_cli_t *cli) +{ + char* media_command = + "<CMD name='audio' id='400' desc='Conference and Media commands'>" + " <CMD name='list' id='4001' sc='cl' desc='Show conference list'/>" + " <CMD name='conf_con' id='4002' sc='cc' desc='Conference connect'>" + " <ARG name='source_port' type='choice' id='9903' " + " desc='Source Port'/>" + " <ARG name='destination_port' type='choice' id='9903' " + " desc='Destination Port'/>" + " </CMD>" + " <CMD name='conf_dis' id='4003' sc='cd' desc='Conference disconnect'>" + " <ARG name='source_port' type='choice' id='9903' " + " desc='Source Port'/>" + " <ARG name='destination_port' type='choice' id='9903' " + " desc='Destination Port'/>" + " </CMD>" + " <CMD name='adjust_vol' id='4004' sc='V' desc='Adjust volume'>" + " <ARG name='mic_level' type='int' desc='Mic Level'/>" + " <ARG name='speaker_port' type='int' desc='Speaker Level'/>" + " </CMD>" + " <CMD name='speakertog' id='4006' desc='Toggle audio output route' />" + " <CMD name='codec_prio' id='4005' sc='Cp' " + " desc='Arrange codec priorities'>" + " <ARG name='codec_id' type='choice' id='9904' desc='Codec Id'/>" + " <ARG name='priority' type='int' desc='Codec Priority'/>" + " </CMD>" + "</CMD>"; + + pj_str_t xml = pj_str(media_command); + return pj_cli_add_cmd_from_xml(cli, NULL, + &xml, cmd_media_handler, + NULL, get_choice_value); +} + +static pj_status_t add_config_command(pj_cli_t *cli) +{ + char* config_command = + "<CMD name='stat' id='500' desc='Status and config commands'>" + " <CMD name='dump_stat' id='5001' sc='ds' desc='Dump status'/>" + " <CMD name='dump_detail' id='5002' sc='dd' " + " desc='Dump detail status'/>" + " <CMD name='dump_conf' id='5003' sc='dc' " + " desc='Dump configuration to screen'/>" + " <CMD name='write_setting' id='5004' sc='f' " + " desc='Write current configuration file'>" + " <ARG name='output_file' type='string' desc='Output filename'/>" + " </CMD>" + "</CMD>"; + + pj_str_t xml = pj_str(config_command); + return pj_cli_add_cmd_from_xml(cli, NULL, + &xml, cmd_config_handler, + NULL, get_choice_value); +} + +#if PJSUA_HAS_VIDEO +static pj_status_t add_video_command(pj_cli_t *cli) +{ + char* video_command = + "<CMD name='video' id='600' desc='Video commands'>" + " <CMD name='enable' id='6001' desc='Enable video'/>" + " <CMD name='disable' id='6002' desc='Disable video'/>" + " <CMD name='acc' id='6003' desc='Video setting for current account'>" + " <CMD name='show' id='60031' " + " desc='Show video setting for current account'/>" + " <CMD name='autorx' id='60032' sc='ar' " + " desc='Automatically show incoming video'>" + " <ARG name='enable_option' type='choice' " + " desc='Enable/Disable option'>" + " <CHOICE value='On' desc='Enable'/>" + " <CHOICE value='Off' desc='Disable'/>" + " </ARG>" + " </CMD>" + " <CMD name='autotx' id='60033' sc='at' " + " desc='Automatically offer video'>" + " <ARG name='enable_option' type='choice' " + " desc='Enable/Disable option'>" + " <CHOICE value='On' desc='Enable'/>" + " <CHOICE value='Off' desc='Disable'/>" + " </ARG>" + " </CMD>" + " <CMD name='cap_id' id='60034' sc='ci' " + " desc='Set default capture device for current account'>" + " <ARG name='cap_dev_id' type='choice' id='9905' " + " desc='Capture device Id'/>" + " </CMD>" + " <CMD name='ren_id' id='60035' sc='ri' " + " desc='Set default renderer device for current account'>" + " <ARG name='ren_dev_id' type='choice' id='9906' " + " desc='Renderer device Id'/>" + " </CMD>" + " </CMD>" + " <CMD name='call' id='6004' sc='vcl' " + " desc='Video call commands/settings'>" + " <CMD name='rx' id='60041' " + " desc='Enable/disable video RX for stream in curr call'>" + " <ARG name='enable_option' type='choice' " + " desc='Enable/Disable option'>" + " <CHOICE value='On' desc='Enable'/>" + " <CHOICE value='Off' desc='Disable'/>" + " </ARG>" + " <ARG name='stream_id' type='choice' id='9908' desc='Stream Id'/>" + " </CMD>" + " <CMD name='tx' id='60042' " + " desc='Enable/disable video TX for stream in curr call'>" + " <ARG name='enable_option' type='choice' " + " desc='Enable/Disable option'>" + " <CHOICE value='On' desc='Enable'/>" + " <CHOICE value='Off' desc='Disable'/>" + " </ARG>" + " <ARG name='stream_id' type='choice' id='9908' desc='Stream Id'/>" + " </CMD>" + " <CMD name='add' id='60043' " + " desc='Add video stream for current call'/>" + " <CMD name='enable' id='60044' " + " desc='Enable stream #N in current call'>" + " <ARG name='stream_id' type='choice' id='9908' optional='1' " + " desc='Stream Id'/>" + " </CMD>" + " <CMD name='disable' id='60045' " + " desc='Disable stream #N in current call'>" + " <ARG name='stream_id' type='choice' id='9908' optional='1' " + " desc='Stream Id'/>" + " </CMD>" + " <CMD name='cap' id='60046' " + " desc='Set capture dev ID for stream #N in current call'>" + " <ARG name='stream_id' type='choice' id='9908' desc='Stream Id'/>" + " <ARG name='cap_device_id' type='choice' id='9905' " + " desc='Device Id'/>" + " </CMD>" + " </CMD>" + " <CMD name='device' id='6005' sc='vv' desc='Video device commands'>" + " <CMD name='list' id='60051' desc='Show all video devices'/>" + " <CMD name='refresh' id='60052' desc='Refresh video device list'/>" + " <CMD name='prev' id='60053' " + " desc='Enable/disable preview for specified device ID'>" + " <ARG name='enable_option' type='choice' " + " desc='Enable/Disable option'>" + " <CHOICE value='On' desc='Enable'/>" + " <CHOICE value='Off' desc='Disable'/>" + " </ARG>" + " <ARG name='device_id' type='choice' id='9907' " + " desc='Video Device Id'/>" + " </CMD>" + " </CMD>" + " <CMD name='codec' id='6006' desc='Video codec commands'>" + " <CMD name='list' id='60061' desc='Show video codec list'/>" + " <CMD name='prio' id='60062' desc='Set video codec priority'>" + " <ARG name='codec_id' type='choice' id='9909' desc='Codec Id'/>" + " <ARG name='priority' type='int' desc='Priority'/>" + " </CMD>" + " <CMD name='fps' id='60063' desc='Set video codec framerate'>" + " <ARG name='codec_id' type='choice' id='9909' desc='Codec Id'/>" + " <ARG name='num' type='int' desc='Numerator'/>" + " <ARG name='denum' type='int' desc='Denumerator'/>" + " </CMD>" + " <CMD name='bitrate' id='60064' desc='Set video codec bitrate'>" + " <ARG name='codec_id' type='choice' id='9909' desc='Codec Id'/>" + " <ARG name='avg' type='int' desc='Average bps'/>" + " <ARG name='max' type='int' desc='Maximum bps'/>" + " </CMD>" + " <CMD name='size' id='60065' desc='Set codec ID size/resolution'>" + " <ARG name='codec_id' type='choice' id='9909' desc='Codec Id'/>" + " <ARG name='width' type='int' desc='Width'/>" + " <ARG name='height' type='int' desc='Height'/>" + " </CMD>" + " </CMD>" + " <CMD name='win' id='6007' desc='Video windows settings/commands'>" + " <CMD name='list' id='60071' desc='List all active video windows'/>" + " <CMD name='arrange' id='60072' desc='Auto arrange windows'/>" + " <CMD name='show' id='60073' desc='Show specific windows'>" + " <ARG name='window_id' type='choice' id='9910' " + " desc='Windows Id'/>" + " </CMD>" + " <CMD name='hide' id='60074' desc='Hide specific windows'>" + " <ARG name='window_id' type='choice' id='9910' " + " desc='Windows Id'/>" + " </CMD>" + " <CMD name='move' id='60075' desc='Move window position'>" + " <ARG name='window_id' type='choice' id='9910' " + " desc='Windows Id'/>" + " <ARG name='x' type='int' desc='Horizontal position'/>" + " <ARG name='y' type='int' desc='Vertical position'/>" + " </CMD>" + " <CMD name='resize' id='60076' " + " desc='Resize window to specific width/height'>" + " <ARG name='window_id' type='choice' id='9910' " + " desc='Windows Id'/>" + " <ARG name='width' type='int' desc='Width'/>" + " <ARG name='height' type='int' desc='Height'/>" + " </CMD>" + " </CMD>" + "</CMD>"; + + pj_str_t xml = pj_str(video_command); + return pj_cli_add_cmd_from_xml(cli, NULL, + &xml, cmd_video_handler, + NULL, get_choice_value); +} +#endif + +static pj_status_t add_other_command(pj_cli_t *cli) +{ + char* sleep_command = + "<CMD name='sleep' id='700' desc='Suspend keyboard input'>" + " <ARG name='msec' type='int' desc='Millisecond'/>" + "</CMD>"; + + char* network_command = + "<CMD name='network' id='900' desc='Detect network type'/>"; + + char* shutdown_command = + "<CMD name='shutdown' id='110' desc='Shutdown application'/>"; + + char* restart_command = + "<CMD name='restart' id='120' desc='Restart application'>" + " <ARG name='options1' type='string' desc='Options' optional='1'/>" + " <ARG name='options2' type='string' desc='Options' optional='1'/>" + " <ARG name='options3' type='string' desc='Options' optional='1'/>" + " <ARG name='options4' type='string' desc='Options' optional='1'/>" + "</CMD>"; + + pj_status_t status; + pj_str_t sleep_xml = pj_str(sleep_command); + pj_str_t network_xml = pj_str(network_command); + pj_str_t shutdown_xml = pj_str(shutdown_command); + pj_str_t restart_xml = pj_str(restart_command); + + status = pj_cli_add_cmd_from_xml(cli, NULL, + &sleep_xml, cmd_sleep_handler, + NULL, NULL); + if (status != PJ_SUCCESS) + return status; + + status = pj_cli_add_cmd_from_xml(cli, NULL, + &network_xml, cmd_network_handler, + NULL, NULL); + if (status != PJ_SUCCESS) + return status; + + status = pj_cli_add_cmd_from_xml(cli, NULL, + &shutdown_xml, cmd_quit_handler, + NULL, NULL); + + if (status != PJ_SUCCESS) + return status; + + status = pj_cli_add_cmd_from_xml(cli, NULL, + &restart_xml, cmd_restart_handler, + NULL, NULL); + + return status; +} + +pj_status_t cli_setup_command(pj_cli_t *cli) +{ + pj_status_t status; + + status = add_call_command(cli); + if (status != PJ_SUCCESS) + return status; + + status = add_presence_command(cli); + if (status != PJ_SUCCESS) + return status; + + status = add_account_command(cli); + if (status != PJ_SUCCESS) + return status; + + status = add_media_command(cli); + if (status != PJ_SUCCESS) + return status; + + status = add_config_command(cli); + if (status != PJ_SUCCESS) + return status; + +#if PJSUA_HAS_VIDEO + status = add_video_command(cli); + if (status != PJ_SUCCESS) + return status; +#endif + + status = add_other_command(cli); + + return status; +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_common.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_common.c new file mode 100644 index 0000000000000000000000000000000000000000..e95d7657e12808ef764e2ce0cf43457aea881a3f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_common.c @@ -0,0 +1,355 @@ +/* $Id: pjsua_app_common.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include "pjsua_app_common.h" + +#define THIS_FILE "pjsua_app_common.c" + +#if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) +# define SOME_BUF_SIZE (1024 * 10) +#else +# define SOME_BUF_SIZE (1024 * 3) +#endif + +static char some_buf[SOME_BUF_SIZE]; + +/** Variable definition **/ +int stdout_refresh = -1; +pj_bool_t stdout_refresh_quit = PJ_FALSE; +pjsua_call_id current_call = PJSUA_INVALID_ID; +pjsua_app_config app_config; +pjsua_call_setting call_opt; +pjsua_msg_data msg_data; + +int my_atoi(const char *cs) +{ + pj_str_t s; + + pj_cstr(&s, cs); + if (cs[0] == '-') { + s.ptr++, s.slen--; + return 0 - (int)pj_strtoul(&s); + } else if (cs[0] == '+') { + s.ptr++, s.slen--; + return pj_strtoul(&s); + } else { + return pj_strtoul(&s); + } +} + +/* + * Find next call when current call is disconnected or when user + * press ']' + */ +pj_bool_t find_next_call() +{ + int i, max; + + max = pjsua_call_get_max_count(); + for (i=current_call+1; i<max; ++i) { + if (pjsua_call_is_active(i)) { + current_call = i; + return PJ_TRUE; + } + } + + for (i=0; i<current_call; ++i) { + if (pjsua_call_is_active(i)) { + current_call = i; + return PJ_TRUE; + } + } + + current_call = PJSUA_INVALID_ID; + return PJ_FALSE; +} + +pj_bool_t find_prev_call() +{ + int i, max; + + max = pjsua_call_get_max_count(); + for (i=current_call-1; i>=0; --i) { + if (pjsua_call_is_active(i)) { + current_call = i; + return PJ_TRUE; + } + } + + for (i=max-1; i>current_call; --i) { + if (pjsua_call_is_active(i)) { + current_call = i; + return PJ_TRUE; + } + } + + current_call = PJSUA_INVALID_ID; + return PJ_FALSE; +} + +/* + * Send arbitrary request to remote host + */ +void send_request(char *cstr_method, const pj_str_t *dst_uri) +{ + pj_str_t str_method; + pjsip_method method; + pjsip_tx_data *tdata; + pjsip_endpoint *endpt; + pj_status_t status; + + endpt = pjsua_get_pjsip_endpt(); + + str_method = pj_str(cstr_method); + pjsip_method_init_np(&method, &str_method); + + status = pjsua_acc_create_request(current_acc, &method, dst_uri, &tdata); + + status = pjsip_endpt_send_request(endpt, tdata, -1, NULL, NULL); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Unable to send request", status); + return; + } +} + +/* + * Print log of call states. Since call states may be too long for logger, + * printing it is a bit tricky, it should be printed part by part as long + * as the logger can accept. + */ +void log_call_dump(int call_id) +{ + unsigned call_dump_len; + unsigned part_len; + unsigned part_idx; + unsigned log_decor; + + pjsua_call_dump(call_id, PJ_TRUE, some_buf, sizeof(some_buf), " "); + call_dump_len = (unsigned)strlen(some_buf); + + log_decor = pj_log_get_decor(); + pj_log_set_decor(log_decor & ~(PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_CR)); + PJ_LOG(3,(THIS_FILE, "\n")); + pj_log_set_decor(0); + + part_idx = 0; + part_len = PJ_LOG_MAX_SIZE-80; + while (part_idx < call_dump_len) { + char p_orig, *p; + + p = &some_buf[part_idx]; + if (part_idx + part_len > call_dump_len) + part_len = call_dump_len - part_idx; + p_orig = p[part_len]; + p[part_len] = '\0'; + PJ_LOG(3,(THIS_FILE, "%s", p)); + p[part_len] = p_orig; + part_idx += part_len; + } + pj_log_set_decor(log_decor); +} + +#ifdef PJSUA_HAS_VIDEO +void app_config_init_video(pjsua_acc_config *acc_cfg) +{ + acc_cfg->vid_in_auto_show = app_config.vid.in_auto_show; + acc_cfg->vid_out_auto_transmit = app_config.vid.out_auto_transmit; + /* Note that normally GUI application will prefer a borderless + * window. + */ + acc_cfg->vid_wnd_flags = PJMEDIA_VID_DEV_WND_BORDER | + PJMEDIA_VID_DEV_WND_RESIZABLE; + acc_cfg->vid_cap_dev = app_config.vid.vcapture_dev; + acc_cfg->vid_rend_dev = app_config.vid.vrender_dev; + + if (app_config.avi_auto_play && + app_config.avi_def_idx != PJSUA_INVALID_ID && + app_config.avi[app_config.avi_def_idx].dev_id != PJMEDIA_VID_INVALID_DEV) + { + acc_cfg->vid_cap_dev = app_config.avi[app_config.avi_def_idx].dev_id; + } +} +#else +void app_config_init_video(pjsua_acc_config *acc_cfg) +{ + PJ_UNUSED_ARG(acc_cfg); +} +#endif + +#ifdef HAVE_MULTIPART_TEST + /* + * Enable multipart in msg_data and add a dummy body into the + * multipart bodies. + */ + void add_multipart(pjsua_msg_data *msg_data) + { + static pjsip_multipart_part *alt_part; + + if (!alt_part) { + pj_str_t type, subtype, content; + + alt_part = pjsip_multipart_create_part(app_config.pool); + + type = pj_str("text"); + subtype = pj_str("plain"); + content = pj_str("Sample text body of a multipart bodies"); + alt_part->body = pjsip_msg_body_create(app_config.pool, &type, + &subtype, &content); + } + + msg_data->multipart_ctype.type = pj_str("multipart"); + msg_data->multipart_ctype.subtype = pj_str("mixed"); + pj_list_push_back(&msg_data->multipart_parts, alt_part); + } +#endif + +/* arrange windows. arg: + * -1: arrange all windows + * != -1: arrange only this window id + */ +void arrange_window(pjsua_vid_win_id wid) +{ +#if PJSUA_HAS_VIDEO + pjmedia_coord pos; + int i, last; + + pos.x = 0; + pos.y = 10; + last = (wid == PJSUA_INVALID_ID) ? PJSUA_MAX_VID_WINS : wid; + + for (i=0; i<last; ++i) { + pjsua_vid_win_info wi; + pj_status_t status; + + status = pjsua_vid_win_get_info(i, &wi); + if (status != PJ_SUCCESS) + continue; + + if (wid == PJSUA_INVALID_ID) + pjsua_vid_win_set_pos(i, &pos); + + if (wi.show) + pos.y += wi.size.h; + } + + if (wid != PJSUA_INVALID_ID) + pjsua_vid_win_set_pos(wid, &pos); +#else + PJ_UNUSED_ARG(wid); +#endif +} + + +#if PJSUA_HAS_VIDEO +void vid_print_dev(int id, const pjmedia_vid_dev_info *vdi, const char *title) +{ + char capnames[120]; + char formats[120]; + const char *dirname; + unsigned i; + + if (vdi->dir == PJMEDIA_DIR_CAPTURE_RENDER) { + dirname = "capture, render"; + } else if (vdi->dir == PJMEDIA_DIR_CAPTURE) { + dirname = "capture"; + } else { + dirname = "render"; + } + + + capnames[0] = '\0'; + for (i=0; i<sizeof(int)*8 && (1 << i) < PJMEDIA_VID_DEV_CAP_MAX; ++i) { + if (vdi->caps & (1 << i)) { + const char *capname = pjmedia_vid_dev_cap_name(1 << i, NULL); + if (capname) { + if (*capnames) + strcat(capnames, ", "); + strncat(capnames, capname, + sizeof(capnames)-strlen(capnames)-1); + } + } + } + + formats[0] = '\0'; + for (i=0; i<vdi->fmt_cnt; ++i) { + const pjmedia_video_format_info *vfi = + pjmedia_get_video_format_info(NULL, vdi->fmt[i].id); + if (vfi) { + if (*formats) + strcat(formats, ", "); + strncat(formats, vfi->name, sizeof(formats)-strlen(formats)-1); + } + } + + PJ_LOG(3,(THIS_FILE, "%3d %s [%s][%s] %s", id, vdi->name, vdi->driver, + dirname, title)); + PJ_LOG(3,(THIS_FILE, " Supported capabilities: %s", capnames)); + PJ_LOG(3,(THIS_FILE, " Supported formats: %s", formats)); +} + +void vid_list_devs() +{ + unsigned i, count; + pjmedia_vid_dev_info vdi; + pj_status_t status; + + PJ_LOG(3,(THIS_FILE, "Video device list:")); + count = pjsua_vid_dev_count(); + if (count == 0) { + PJ_LOG(3,(THIS_FILE, " - no device detected -")); + return; + } else { + PJ_LOG(3,(THIS_FILE, "%d device(s) detected:", count)); + } + + status = pjsua_vid_dev_get_info(PJMEDIA_VID_DEFAULT_RENDER_DEV, &vdi); + if (status == PJ_SUCCESS) + vid_print_dev(PJMEDIA_VID_DEFAULT_RENDER_DEV, &vdi, + "(default renderer device)"); + + status = pjsua_vid_dev_get_info(PJMEDIA_VID_DEFAULT_CAPTURE_DEV, &vdi); + if (status == PJ_SUCCESS) + vid_print_dev(PJMEDIA_VID_DEFAULT_CAPTURE_DEV, &vdi, + "(default capture device)"); + + for (i=0; i<count; ++i) { + status = pjsua_vid_dev_get_info(i, &vdi); + if (status == PJ_SUCCESS) + vid_print_dev(i, &vdi, ""); + } +} + +void app_config_show_video(int acc_id, const pjsua_acc_config *acc_cfg) +{ + PJ_LOG(3,(THIS_FILE, + "Account %d:\n" + " RX auto show: %d\n" + " TX auto transmit: %d\n" + " Capture dev: %d\n" + " Render dev: %d", + acc_id, + acc_cfg->vid_in_auto_show, + acc_cfg->vid_out_auto_transmit, + acc_cfg->vid_cap_dev, + acc_cfg->vid_rend_dev)); +} + + +#endif diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_common.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_common.h new file mode 100644 index 0000000000000000000000000000000000000000..996ed0622cdda43980885b2224de4c7843bd83a8 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_common.h @@ -0,0 +1,226 @@ +/* $Id: pjsua_app_common.h 4489 2013-04-23 07:53:25Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA_APP_COMMON_H__ +#define __PJSUA_APP_COMMON_H__ + +#include <pjsua-lib/pjsua.h> + +PJ_BEGIN_DECL + +#define current_acc pjsua_acc_get_default() + +#define PJSUA_APP_NO_LIMIT_DURATION (int)0x7FFFFFFF +#define PJSUA_APP_MAX_AVI 4 +#define PJSUA_APP_NO_NB -2 + +typedef struct input_result +{ + int nb_result; + char *uri_result; +} input_result; + +/* Call specific data */ +typedef struct app_call_data +{ + pj_timer_entry timer; + pj_bool_t ringback_on; + pj_bool_t ring_on; +} app_call_data; + +/* Video settings */ +typedef struct app_vid +{ + unsigned vid_cnt; + int vcapture_dev; + int vrender_dev; + pj_bool_t in_auto_show; + pj_bool_t out_auto_transmit; +} app_vid; + +/* Enumeration of CLI frontends */ +typedef enum { + CLI_FE_CONSOLE = 1, + CLI_FE_TELNET = 2 +} CLI_FE; + +/** CLI config **/ +typedef struct cli_cfg_t +{ + /** Bitmask of CLI_FE **/ + int cli_fe; + pj_cli_cfg cfg; + pj_cli_telnet_cfg telnet_cfg; + pj_cli_console_cfg console_cfg; +} cli_cfg_t; + +/* Pjsua application data */ +typedef struct pjsua_app_config +{ + pjsua_config cfg; + pjsua_logging_config log_cfg; + pjsua_media_config media_cfg; + pj_bool_t no_refersub; + pj_bool_t ipv6; + pj_bool_t enable_qos; + pj_bool_t no_tcp; + pj_bool_t no_udp; + pj_bool_t use_tls; + pjsua_transport_config udp_cfg; + pjsua_transport_config rtp_cfg; + pjsip_redirect_op redir_op; + + unsigned acc_cnt; + pjsua_acc_config acc_cfg[PJSUA_MAX_ACC]; + + unsigned buddy_cnt; + pjsua_buddy_config buddy_cfg[PJSUA_MAX_BUDDIES]; + + app_call_data call_data[PJSUA_MAX_CALLS]; + + pj_pool_t *pool; + /* Compatibility with older pjsua */ + + unsigned codec_cnt; + pj_str_t codec_arg[32]; + unsigned codec_dis_cnt; + pj_str_t codec_dis[32]; + pj_bool_t null_audio; + unsigned wav_count; + pj_str_t wav_files[32]; + unsigned tone_count; + pjmedia_tone_desc tones[32]; + pjsua_conf_port_id tone_slots[32]; + pjsua_player_id wav_id; + pjsua_conf_port_id wav_port; + pj_bool_t auto_play; + pj_bool_t auto_play_hangup; + pj_timer_entry auto_hangup_timer; + pj_bool_t auto_loop; + pj_bool_t auto_conf; + pj_str_t rec_file; + pj_bool_t auto_rec; + pjsua_recorder_id rec_id; + pjsua_conf_port_id rec_port; + unsigned auto_answer; + unsigned duration; + +#ifdef STEREO_DEMO + pjmedia_snd_port *snd; + pjmedia_port *sc, *sc_ch1; + pjsua_conf_port_id sc_ch1_slot; +#endif + + float mic_level, + speaker_level; + + int capture_dev, playback_dev; + unsigned capture_lat, playback_lat; + + pj_bool_t no_tones; + int ringback_slot; + int ringback_cnt; + pjmedia_port *ringback_port; + int ring_slot; + int ring_cnt; + pjmedia_port *ring_port; + + app_vid vid; + unsigned aud_cnt; + + /* AVI to play */ + unsigned avi_cnt; + struct { + pj_str_t path; + pjmedia_vid_dev_index dev_id; + pjsua_conf_port_id slot; + } avi[PJSUA_APP_MAX_AVI]; + pj_bool_t avi_auto_play; + int avi_def_idx; + + /* CLI setting */ + pj_bool_t use_cli; + cli_cfg_t cli_cfg; +} pjsua_app_config; + +/** Extern variable declaration **/ +extern pjsua_call_id current_call; +extern pjsua_app_config app_config; +extern int stdout_refresh; +extern pj_bool_t stdout_refresh_quit; +extern pjsua_call_setting call_opt; +extern pjsua_msg_data msg_data; +extern pj_bool_t app_running; + +int my_atoi(const char *cs); +pj_bool_t find_next_call(); +pj_bool_t find_prev_call(); +void send_request(char *cstr_method, const pj_str_t *dst_uri); +void log_call_dump(int call_id); +int write_settings(pjsua_app_config *cfg, char *buf, pj_size_t max); +void app_config_init_video(pjsua_acc_config *acc_cfg); +void arrange_window(pjsua_vid_win_id wid); + +/** Defined in pjsua_cli_cmd.c **/ +pj_bool_t is_cli_inited(); + +/** Defined in pjsua_config.c **/ +/** This is to load the configuration **/ +pj_status_t load_config(int argc, char **argv, pj_str_t *uri_arg); + +/** Pjsua app callback **/ +/** This callback is called when CLI is started. **/ +void cli_on_started(pj_status_t status); + +/** This callback is called when "shutdown"/"restart" command is invoked **/ +void cli_on_stopped(pj_bool_t restart, int argc, char **argv); + +/** This callback is called when "quit"/"restart" command is invoked **/ +void legacy_on_stopped(pj_bool_t restart); + +/** Pjsua cli method **/ +pj_status_t cli_init(); +pj_status_t cli_main(pj_bool_t wait_telnet_cli); +void cli_destroy(); +void cli_get_info(char *info, pj_size_t size); + +/** Legacy method **/ +void legacy_main(); + +#if PJSUA_HAS_VIDEO +void vid_print_dev(int id, const pjmedia_vid_dev_info *vdi, const char *title); +void vid_list_devs(); +void app_config_show_video(int acc_id, const pjsua_acc_config *acc_cfg); +#endif + +#ifdef HAVE_MULTIPART_TEST + /* + * Enable multipart in msg_data and add a dummy body into the + * multipart bodies. + */ + void add_multipart(pjsua_msg_data *msg_data); +# define TEST_MULTIPART(msg_data) add_multipart(msg_data) +#else +# define TEST_MULTIPART(msg_data) +#endif + + +PJ_END_DECL + +#endif /* __PJSUA_APP_COMMON_H__ */ + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_config.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_config.c new file mode 100644 index 0000000000000000000000000000000000000000..726a001482133035e5cfa064fca8fa8fc637d369 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_config.c @@ -0,0 +1,2180 @@ +/* $Id: pjsua_app_config.c 4779 2014-03-06 01:00:11Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "pjsua_app_common.h" + +#define THIS_FILE "pjsua_app_config.c" + +#define MAX_APP_OPTIONS 128 + +char *stdout_refresh_text = "STDOUT_REFRESH"; + +/* Show usage */ +static void usage(void) +{ + puts ("Usage:"); + puts (" pjsua [options] [SIP URL to call]"); + puts (""); + puts ("General options:"); + puts (" --config-file=file Read the config/arguments from file."); + puts (" --help Display this help screen"); + puts (" --version Display version info"); + puts (""); + puts ("Logging options:"); + puts (" --log-file=fname Log to filename (default stderr)"); + puts (" --log-level=N Set log max level to N (0(none) to 6(trace)) (default=5)"); + puts (" --app-log-level=N Set log max level for stdout display (default=4)"); + puts (" --log-append Append instead of overwrite existing log file.\n"); + puts (" --color Use colorful logging (default yes on Win32)"); + puts (" --no-color Disable colorful logging"); + puts (" --light-bg Use dark colors for light background (default is dark bg)"); + puts (" --no-stderr Disable stderr"); + + puts (""); + puts ("SIP Account options:"); + puts (" --registrar=url Set the URL of registrar server"); + puts (" --id=url Set the URL of local ID (used in From header)"); + puts (" --realm=string Set realm"); + puts (" --username=string Set authentication username"); + puts (" --password=string Set authentication password"); + puts (" --contact=url Optionally override the Contact information"); + puts (" --contact-params=S Append the specified parameters S in Contact header"); + puts (" --contact-uri-params=S Append the specified parameters S in Contact URI"); + puts (" --proxy=url Optional URL of proxy server to visit"); + puts (" May be specified multiple times"); + printf(" --reg-timeout=SEC Optional registration interval (default %d)\n", + PJSUA_REG_INTERVAL); + printf(" --rereg-delay=SEC Optional auto retry registration interval (default %d)\n", + PJSUA_REG_RETRY_INTERVAL); + puts (" --reg-use-proxy=N Control the use of proxy settings in REGISTER."); + puts (" 0=no proxy, 1=outbound only, 2=acc only, 3=all (default)"); + puts (" --publish Send presence PUBLISH for this account"); + puts (" --mwi Subscribe to message summary/waiting indication"); + puts (" --use-ims Enable 3GPP/IMS related settings on this account"); +#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) + puts (" --use-srtp=N Use SRTP? 0:disabled, 1:optional, 2:mandatory,"); + puts (" 3:optional by duplicating media offer (def:0)"); + puts (" --srtp-secure=N SRTP require secure SIP? 0:no, 1:tls, 2:sips (def:1)"); +#endif + puts (" --use-100rel Require reliable provisional response (100rel)"); + puts (" --use-timer=N Use SIP session timers? (default=1)"); + puts (" 0:inactive, 1:optional, 2:mandatory, 3:always"); + printf(" --timer-se=N Session timers expiration period, in secs (def:%d)\n", + PJSIP_SESS_TIMER_DEF_SE); + puts (" --timer-min-se=N Session timers minimum expiration period, in secs (def:90)"); + puts (" --outb-rid=string Set SIP outbound reg-id (default:1)"); + puts (" --auto-update-nat=N Where N is 0 or 1 to enable/disable SIP traversal behind"); + puts (" symmetric NAT (default 1)"); + puts (" --disable-stun Disable STUN for this account"); + puts (" --next-cred Add another credentials"); + puts (""); + puts ("SIP Account Control:"); + puts (" --next-account Add more account"); + puts (""); + puts ("Transport Options:"); +#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6 + puts (" --ipv6 Use IPv6 instead for SIP and media."); +#endif + puts (" --set-qos Enable QoS tagging for SIP and media."); + puts (" --local-port=port Set TCP/UDP port. This implicitly enables both "); + puts (" TCP and UDP transports on the specified port, unless"); + puts (" if TCP or UDP is disabled."); + puts (" --ip-addr=IP Use the specifed address as SIP and RTP addresses."); + puts (" (Hint: the IP may be the public IP of the NAT/router)"); + puts (" --bound-addr=IP Bind transports to this IP interface"); + puts (" --no-tcp Disable TCP transport."); + puts (" --no-udp Disable UDP transport."); + puts (" --nameserver=NS Add the specified nameserver to enable SRV resolution"); + puts (" This option can be specified multiple times."); + puts (" --outbound=url Set the URL of global outbound proxy server"); + puts (" May be specified multiple times"); + puts (" --stun-srv=FORMAT Set STUN server host or domain. This option may be"); + puts (" specified more than once. FORMAT is hostdom[:PORT]"); + +#if defined(PJSIP_HAS_TLS_TRANSPORT) && (PJSIP_HAS_TLS_TRANSPORT != 0) + puts (""); + puts ("TLS Options:"); + puts (" --use-tls Enable TLS transport (default=no)"); + puts (" --tls-ca-file Specify TLS CA file (default=none)"); + puts (" --tls-cert-file Specify TLS certificate file (default=none)"); + puts (" --tls-privkey-file Specify TLS private key file (default=none)"); + puts (" --tls-password Specify TLS password to private key file (default=none)"); + puts (" --tls-verify-server Verify server's certificate (default=no)"); + puts (" --tls-verify-client Verify client's certificate (default=no)"); + puts (" --tls-neg-timeout Specify TLS negotiation timeout (default=no)"); + puts (" --tls-srv-name Specify TLS server name for multihosting server"); + puts (" --tls-cipher Specify prefered TLS cipher (optional)."); + puts (" May be specified multiple times"); +#endif + + puts (""); + puts ("Audio Options:"); + puts (" --add-codec=name Manually add codec (default is to enable all)"); + puts (" --dis-codec=name Disable codec (can be specified multiple times)"); + puts (" --clock-rate=N Override conference bridge clock rate"); + puts (" --snd-clock-rate=N Override sound device clock rate"); + puts (" --stereo Audio device and conference bridge opened in stereo mode"); + puts (" --null-audio Use NULL audio device"); + puts (" --play-file=file Register WAV file in conference bridge."); + puts (" This can be specified multiple times."); + puts (" --play-tone=FORMAT Register tone to the conference bridge."); + puts (" FORMAT is 'F1,F2,ON,OFF', where F1,F2 are"); + puts (" frequencies, and ON,OFF=on/off duration in msec."); + puts (" This can be specified multiple times."); + puts (" --auto-play Automatically play the file (to incoming calls only)"); + puts (" --auto-loop Automatically loop incoming RTP to outgoing RTP"); + puts (" --auto-conf Automatically put calls in conference with others"); + puts (" --rec-file=file Open file recorder (extension can be .wav or .mp3"); + puts (" --auto-rec Automatically record conversation"); + puts (" --quality=N Specify media quality (0-10, default=6)"); + puts (" --ptime=MSEC Override codec ptime to MSEC (default=specific)"); + puts (" --no-vad Disable VAD/silence detector (default=vad enabled)"); + puts (" --ec-tail=MSEC Set echo canceller tail length (default=256)"); + puts (" --ec-opt=OPT Select echo canceller algorithm (0=default, "); + puts (" 1=speex, 2=suppressor)"); + puts (" --ilbc-mode=MODE Set iLBC codec mode (20 or 30, default is 30)"); + puts (" --capture-dev=id Audio capture device ID (default=-1)"); + puts (" --playback-dev=id Audio playback device ID (default=-1)"); + puts (" --capture-lat=N Audio capture latency, in ms (default=100)"); + puts (" --playback-lat=N Audio playback latency, in ms (default=100)"); + puts (" --snd-auto-close=N Auto close audio device when idle for N secs (default=1)"); + puts (" Specify N=-1 to disable this feature."); + puts (" Specify N=0 for instant close when unused."); + puts (" --no-tones Disable audible tones"); + puts (" --jb-max-size Specify jitter buffer maximum size, in frames (default=-1)"); + puts (" --extra-audio Add one more audio stream"); + +#if PJSUA_HAS_VIDEO + puts (""); + puts ("Video Options:"); + puts (" --video Enable video"); + puts (" --vcapture-dev=id Video capture device ID (default=-1)"); + puts (" --vrender-dev=id Video render device ID (default=-2)"); + puts (" --play-avi=FILE Load this AVI as virtual capture device"); + puts (" --auto-play-avi Automatically play the AVI media to call"); +#endif + + puts (""); + puts ("Media Transport Options:"); + puts (" --use-ice Enable ICE (default:no)"); + puts (" --ice-regular Use ICE regular nomination (default: aggressive)"); + puts (" --ice-max-hosts=N Set maximum number of ICE host candidates"); + puts (" --ice-no-rtcp Disable RTCP component in ICE (default: no)"); + puts (" --rtp-port=N Base port to try for RTP (default=4000)"); + puts (" --rx-drop-pct=PCT Drop PCT percent of RX RTP (for pkt lost sim, default: 0)"); + puts (" --tx-drop-pct=PCT Drop PCT percent of TX RTP (for pkt lost sim, default: 0)"); + puts (" --use-turn Enable TURN relay with ICE (default:no)"); + puts (" --turn-srv Domain or host name of TURN server (\"NAME:PORT\" format)"); + puts (" --turn-tcp Use TCP connection to TURN server (default no)"); + puts (" --turn-user TURN username"); + puts (" --turn-passwd TURN password"); + + puts (""); + puts ("Buddy List (can be more than one):"); + puts (" --add-buddy url Add the specified URL to the buddy list."); + puts (""); + puts ("User Agent options:"); + puts (" --auto-answer=code Automatically answer incoming calls with code (e.g. 200)"); + puts (" --max-calls=N Maximum number of concurrent calls (default:4, max:255)"); + puts (" --thread-cnt=N Number of worker threads (default:1)"); + puts (" --duration=SEC Set maximum call duration (default:no limit)"); + puts (" --norefersub Suppress event subscription when transferring calls"); + puts (" --use-compact-form Minimize SIP message size"); + puts (" --no-force-lr Allow strict-route to be used (i.e. do not force lr)"); + puts (" --accept-redirect=N Specify how to handle call redirect (3xx) response."); + puts (" 0: reject, 1: follow automatically,"); + puts (" 2: follow + replace To header (default), 3: ask"); + + puts (""); + puts ("CLI options:"); + puts (" --use-cli Use CLI as user interface"); + puts (" --cli-telnet-port=N CLI telnet port"); + puts (" --no-cli-console Disable CLI console"); + puts (""); + + puts (""); + puts ("When URL is specified, pjsua will immediately initiate call to that URL"); + puts (""); + + fflush(stdout); +} + +/* + * Read command arguments from config file. + */ +static int read_config_file(pj_pool_t *pool, const char *filename, + int *app_argc, char ***app_argv) +{ + int i; + FILE *fhnd; + char line[200]; + int argc = 0; + char **argv; + enum { MAX_ARGS = 128 }; + + /* Allocate MAX_ARGS+1 (argv needs to be terminated with NULL argument) */ + argv = pj_pool_calloc(pool, MAX_ARGS+1, sizeof(char*)); + argv[argc++] = *app_argv[0]; + + /* Open config file. */ + fhnd = fopen(filename, "rt"); + if (!fhnd) { + PJ_LOG(1,(THIS_FILE, "Unable to open config file %s", filename)); + fflush(stdout); + return -1; + } + + /* Scan tokens in the file. */ + while (argc < MAX_ARGS && !feof(fhnd)) { + char *token; + char *p; + const char *whitespace = " \t\r\n"; + char cDelimiter; + pj_size_t len; + int token_len; + + pj_bzero(line, sizeof(line)); + if (fgets(line, sizeof(line), fhnd) == NULL) break; + + // Trim ending newlines + len = strlen(line); + if (line[len-1]=='\n') + line[--len] = '\0'; + if (line[len-1]=='\r') + line[--len] = '\0'; + + if (len==0) continue; + + for (p = line; *p != '\0' && argc < MAX_ARGS; p++) { + // first, scan whitespaces + while (*p != '\0' && strchr(whitespace, *p) != NULL) p++; + + if (*p == '\0') // are we done yet? + break; + + if (*p == '"' || *p == '\'') { // is token a quoted string + cDelimiter = *p++; // save quote delimiter + token = p; + + while (*p != '\0' && *p != cDelimiter) p++; + + if (*p == '\0') // found end of the line, but, + cDelimiter = '\0'; // didn't find a matching quote + + } else { // token's not a quoted string + token = p; + + while (*p != '\0' && strchr(whitespace, *p) == NULL) p++; + + cDelimiter = *p; + } + + *p = '\0'; + token_len = (int)(p-token); + + if (token_len > 0) { + if (*token == '#') + break; // ignore remainder of line + + argv[argc] = pj_pool_alloc(pool, token_len + 1); + pj_memcpy(argv[argc], token, token_len + 1); + ++argc; + } + + *p = cDelimiter; + } + } + + /* Copy arguments from command line */ + for (i=1; i<*app_argc && argc < MAX_ARGS; ++i) + argv[argc++] = (*app_argv)[i]; + + if (argc == MAX_ARGS && (i!=*app_argc || !feof(fhnd))) { + PJ_LOG(1,(THIS_FILE, + "Too many arguments specified in cmd line/config file")); + fflush(stdout); + fclose(fhnd); + return -1; + } + + fclose(fhnd); + + /* Assign the new command line back to the original command line. */ + *app_argc = argc; + *app_argv = argv; + return 0; +} + +/* Parse arguments. */ +static pj_status_t parse_args(int argc, char *argv[], + pj_str_t *uri_to_call) +{ + int c; + int option_index; + pjsua_app_config *cfg = &app_config; + enum { OPT_CONFIG_FILE=127, OPT_LOG_FILE, OPT_LOG_LEVEL, OPT_APP_LOG_LEVEL, + OPT_LOG_APPEND, OPT_COLOR, OPT_NO_COLOR, OPT_LIGHT_BG, OPT_NO_STDERR, + OPT_HELP, OPT_VERSION, OPT_NULL_AUDIO, OPT_SND_AUTO_CLOSE, + OPT_LOCAL_PORT, OPT_IP_ADDR, OPT_PROXY, OPT_OUTBOUND_PROXY, + OPT_REGISTRAR, OPT_REG_TIMEOUT, OPT_PUBLISH, OPT_ID, OPT_CONTACT, + OPT_BOUND_ADDR, OPT_CONTACT_PARAMS, OPT_CONTACT_URI_PARAMS, + OPT_100REL, OPT_USE_IMS, OPT_REALM, OPT_USERNAME, OPT_PASSWORD, + OPT_REG_RETRY_INTERVAL, OPT_REG_USE_PROXY, + OPT_MWI, OPT_NAMESERVER, OPT_STUN_SRV, OPT_OUTB_RID, + OPT_ADD_BUDDY, OPT_OFFER_X_MS_MSG, OPT_NO_PRESENCE, + OPT_AUTO_ANSWER, OPT_AUTO_PLAY, OPT_AUTO_PLAY_HANGUP, OPT_AUTO_LOOP, + OPT_AUTO_CONF, OPT_CLOCK_RATE, OPT_SND_CLOCK_RATE, OPT_STEREO, + OPT_USE_ICE, OPT_ICE_REGULAR, OPT_USE_SRTP, OPT_SRTP_SECURE, + OPT_USE_TURN, OPT_ICE_MAX_HOSTS, OPT_ICE_NO_RTCP, OPT_TURN_SRV, + OPT_TURN_TCP, OPT_TURN_USER, OPT_TURN_PASSWD, + OPT_PLAY_FILE, OPT_PLAY_TONE, OPT_RTP_PORT, OPT_ADD_CODEC, + OPT_ILBC_MODE, OPT_REC_FILE, OPT_AUTO_REC, + OPT_COMPLEXITY, OPT_QUALITY, OPT_PTIME, OPT_NO_VAD, + OPT_RX_DROP_PCT, OPT_TX_DROP_PCT, OPT_EC_TAIL, OPT_EC_OPT, + OPT_NEXT_ACCOUNT, OPT_NEXT_CRED, OPT_MAX_CALLS, + OPT_DURATION, OPT_NO_TCP, OPT_NO_UDP, OPT_THREAD_CNT, + OPT_NOREFERSUB, OPT_ACCEPT_REDIRECT, + OPT_USE_TLS, OPT_TLS_CA_FILE, OPT_TLS_CERT_FILE, OPT_TLS_PRIV_FILE, + OPT_TLS_PASSWORD, OPT_TLS_VERIFY_SERVER, OPT_TLS_VERIFY_CLIENT, + OPT_TLS_NEG_TIMEOUT, OPT_TLS_CIPHER, + OPT_CAPTURE_DEV, OPT_PLAYBACK_DEV, + OPT_CAPTURE_LAT, OPT_PLAYBACK_LAT, OPT_NO_TONES, OPT_JB_MAX_SIZE, + OPT_STDOUT_REFRESH, OPT_STDOUT_REFRESH_TEXT, OPT_IPV6, OPT_QOS, +#ifdef _IONBF + OPT_STDOUT_NO_BUF, +#endif + OPT_AUTO_UPDATE_NAT,OPT_USE_COMPACT_FORM,OPT_DIS_CODEC, + OPT_DISABLE_STUN, OPT_NO_FORCE_LR, + OPT_TIMER, OPT_TIMER_SE, OPT_TIMER_MIN_SE, + OPT_VIDEO, OPT_EXTRA_AUDIO, + OPT_VCAPTURE_DEV, OPT_VRENDER_DEV, OPT_PLAY_AVI, OPT_AUTO_PLAY_AVI, + OPT_USE_CLI, OPT_CLI_TELNET_PORT, OPT_DISABLE_CLI_CONSOLE + }; + struct pj_getopt_option long_options[] = { + { "config-file",1, 0, OPT_CONFIG_FILE}, + { "log-file", 1, 0, OPT_LOG_FILE}, + { "log-level", 1, 0, OPT_LOG_LEVEL}, + { "app-log-level",1,0,OPT_APP_LOG_LEVEL}, + { "log-append", 0, 0, OPT_LOG_APPEND}, + { "color", 0, 0, OPT_COLOR}, + { "no-color", 0, 0, OPT_NO_COLOR}, + { "light-bg", 0, 0, OPT_LIGHT_BG}, + { "no-stderr", 0, 0, OPT_NO_STDERR}, + { "help", 0, 0, OPT_HELP}, + { "version", 0, 0, OPT_VERSION}, + { "clock-rate", 1, 0, OPT_CLOCK_RATE}, + { "snd-clock-rate", 1, 0, OPT_SND_CLOCK_RATE}, + { "stereo", 0, 0, OPT_STEREO}, + { "null-audio", 0, 0, OPT_NULL_AUDIO}, + { "local-port", 1, 0, OPT_LOCAL_PORT}, + { "ip-addr", 1, 0, OPT_IP_ADDR}, + { "bound-addr", 1, 0, OPT_BOUND_ADDR}, + { "no-tcp", 0, 0, OPT_NO_TCP}, + { "no-udp", 0, 0, OPT_NO_UDP}, + { "norefersub", 0, 0, OPT_NOREFERSUB}, + { "proxy", 1, 0, OPT_PROXY}, + { "outbound", 1, 0, OPT_OUTBOUND_PROXY}, + { "registrar", 1, 0, OPT_REGISTRAR}, + { "reg-timeout",1, 0, OPT_REG_TIMEOUT}, + { "publish", 0, 0, OPT_PUBLISH}, + { "mwi", 0, 0, OPT_MWI}, + { "use-100rel", 0, 0, OPT_100REL}, + { "use-ims", 0, 0, OPT_USE_IMS}, + { "id", 1, 0, OPT_ID}, + { "contact", 1, 0, OPT_CONTACT}, + { "contact-params",1,0, OPT_CONTACT_PARAMS}, + { "contact-uri-params",1,0, OPT_CONTACT_URI_PARAMS}, + { "auto-update-nat", 1, 0, OPT_AUTO_UPDATE_NAT}, + { "disable-stun",0,0, OPT_DISABLE_STUN}, + { "use-compact-form", 0, 0, OPT_USE_COMPACT_FORM}, + { "accept-redirect", 1, 0, OPT_ACCEPT_REDIRECT}, + { "no-force-lr",0, 0, OPT_NO_FORCE_LR}, + { "realm", 1, 0, OPT_REALM}, + { "username", 1, 0, OPT_USERNAME}, + { "password", 1, 0, OPT_PASSWORD}, + { "rereg-delay",1, 0, OPT_REG_RETRY_INTERVAL}, + { "reg-use-proxy", 1, 0, OPT_REG_USE_PROXY}, + { "nameserver", 1, 0, OPT_NAMESERVER}, + { "stun-srv", 1, 0, OPT_STUN_SRV}, + { "add-buddy", 1, 0, OPT_ADD_BUDDY}, + { "offer-x-ms-msg",0,0,OPT_OFFER_X_MS_MSG}, + { "no-presence", 0, 0, OPT_NO_PRESENCE}, + { "auto-answer",1, 0, OPT_AUTO_ANSWER}, + { "auto-play", 0, 0, OPT_AUTO_PLAY}, + { "auto-play-hangup",0, 0, OPT_AUTO_PLAY_HANGUP}, + { "auto-rec", 0, 0, OPT_AUTO_REC}, + { "auto-loop", 0, 0, OPT_AUTO_LOOP}, + { "auto-conf", 0, 0, OPT_AUTO_CONF}, + { "play-file", 1, 0, OPT_PLAY_FILE}, + { "play-tone", 1, 0, OPT_PLAY_TONE}, + { "rec-file", 1, 0, OPT_REC_FILE}, + { "rtp-port", 1, 0, OPT_RTP_PORT}, + + { "use-ice", 0, 0, OPT_USE_ICE}, + { "ice-regular",0, 0, OPT_ICE_REGULAR}, + { "use-turn", 0, 0, OPT_USE_TURN}, + { "ice-max-hosts",1, 0, OPT_ICE_MAX_HOSTS}, + { "ice-no-rtcp",0, 0, OPT_ICE_NO_RTCP}, + { "turn-srv", 1, 0, OPT_TURN_SRV}, + { "turn-tcp", 0, 0, OPT_TURN_TCP}, + { "turn-user", 1, 0, OPT_TURN_USER}, + { "turn-passwd",1, 0, OPT_TURN_PASSWD}, + +#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) + { "use-srtp", 1, 0, OPT_USE_SRTP}, + { "srtp-secure",1, 0, OPT_SRTP_SECURE}, +#endif + { "add-codec", 1, 0, OPT_ADD_CODEC}, + { "dis-codec", 1, 0, OPT_DIS_CODEC}, + { "complexity", 1, 0, OPT_COMPLEXITY}, + { "quality", 1, 0, OPT_QUALITY}, + { "ptime", 1, 0, OPT_PTIME}, + { "no-vad", 0, 0, OPT_NO_VAD}, + { "ec-tail", 1, 0, OPT_EC_TAIL}, + { "ec-opt", 1, 0, OPT_EC_OPT}, + { "ilbc-mode", 1, 0, OPT_ILBC_MODE}, + { "rx-drop-pct",1, 0, OPT_RX_DROP_PCT}, + { "tx-drop-pct",1, 0, OPT_TX_DROP_PCT}, + { "next-account",0,0, OPT_NEXT_ACCOUNT}, + { "next-cred", 0, 0, OPT_NEXT_CRED}, + { "max-calls", 1, 0, OPT_MAX_CALLS}, + { "duration", 1, 0, OPT_DURATION}, + { "thread-cnt", 1, 0, OPT_THREAD_CNT}, +#if defined(PJSIP_HAS_TLS_TRANSPORT) && (PJSIP_HAS_TLS_TRANSPORT != 0) + { "use-tls", 0, 0, OPT_USE_TLS}, + { "tls-ca-file",1, 0, OPT_TLS_CA_FILE}, + { "tls-cert-file",1,0, OPT_TLS_CERT_FILE}, + { "tls-privkey-file",1,0, OPT_TLS_PRIV_FILE}, + { "tls-password",1,0, OPT_TLS_PASSWORD}, + { "tls-verify-server", 0, 0, OPT_TLS_VERIFY_SERVER}, + { "tls-verify-client", 0, 0, OPT_TLS_VERIFY_CLIENT}, + { "tls-neg-timeout", 1, 0, OPT_TLS_NEG_TIMEOUT}, + { "tls-cipher", 1, 0, OPT_TLS_CIPHER}, +#endif + { "capture-dev", 1, 0, OPT_CAPTURE_DEV}, + { "playback-dev", 1, 0, OPT_PLAYBACK_DEV}, + { "capture-lat", 1, 0, OPT_CAPTURE_LAT}, + { "playback-lat", 1, 0, OPT_PLAYBACK_LAT}, + { "stdout-refresh", 1, 0, OPT_STDOUT_REFRESH}, + { "stdout-refresh-text", 1, 0, OPT_STDOUT_REFRESH_TEXT}, +#ifdef _IONBF + { "stdout-no-buf", 0, 0, OPT_STDOUT_NO_BUF }, +#endif + { "snd-auto-close", 1, 0, OPT_SND_AUTO_CLOSE}, + { "no-tones", 0, 0, OPT_NO_TONES}, + { "jb-max-size", 1, 0, OPT_JB_MAX_SIZE}, +#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6 + { "ipv6", 0, 0, OPT_IPV6}, +#endif + { "set-qos", 0, 0, OPT_QOS}, + { "use-timer", 1, 0, OPT_TIMER}, + { "timer-se", 1, 0, OPT_TIMER_SE}, + { "timer-min-se", 1, 0, OPT_TIMER_MIN_SE}, + { "outb-rid", 1, 0, OPT_OUTB_RID}, + { "video", 0, 0, OPT_VIDEO}, + { "extra-audio",0, 0, OPT_EXTRA_AUDIO}, + { "vcapture-dev", 1, 0, OPT_VCAPTURE_DEV}, + { "vrender-dev", 1, 0, OPT_VRENDER_DEV}, + { "play-avi", 1, 0, OPT_PLAY_AVI}, + { "auto-play-avi", 0, 0, OPT_AUTO_PLAY_AVI}, + { "use-cli", 0, 0, OPT_USE_CLI}, + { "cli-telnet-port", 1, 0, OPT_CLI_TELNET_PORT}, + { "no-cli-console", 0, 0, OPT_DISABLE_CLI_CONSOLE}, + { NULL, 0, 0, 0} + }; + pj_status_t status; + pjsua_acc_config *cur_acc; + char *config_file = NULL; + unsigned i; + + /* Run pj_getopt once to see if user specifies config file to read. */ + pj_optind = 0; + while ((c=pj_getopt_long(argc, argv, "", long_options, + &option_index)) != -1) + { + switch (c) { + case OPT_CONFIG_FILE: + config_file = pj_optarg; + break; + } + if (config_file) + break; + } + + if (config_file) { + status = read_config_file(cfg->pool, config_file, &argc, &argv); + if (status != 0) + return status; + } + + cfg->acc_cnt = 0; + cur_acc = cfg->acc_cfg; + + + /* Reinitialize and re-run pj_getopt again, possibly with new arguments + * read from config file. + */ + pj_optind = 0; + while((c=pj_getopt_long(argc,argv, "", long_options,&option_index))!=-1) { + pj_str_t tmp; + long lval; + + switch (c) { + + case OPT_CONFIG_FILE: + /* Ignore as this has been processed before */ + break; + + case OPT_LOG_FILE: + cfg->log_cfg.log_filename = pj_str(pj_optarg); + break; + + case OPT_LOG_LEVEL: + c = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (c < 0 || c > 6) { + PJ_LOG(1,(THIS_FILE, + "Error: expecting integer value 0-6 " + "for --log-level")); + return PJ_EINVAL; + } + cfg->log_cfg.level = c; + pj_log_set_level( c ); + break; + + case OPT_APP_LOG_LEVEL: + cfg->log_cfg.console_level = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (cfg->log_cfg.console_level > 6) { + PJ_LOG(1,(THIS_FILE, + "Error: expecting integer value 0-6 " + "for --app-log-level")); + return PJ_EINVAL; + } + break; + + case OPT_LOG_APPEND: + cfg->log_cfg.log_file_flags |= PJ_O_APPEND; + break; + + case OPT_COLOR: + cfg->log_cfg.decor |= PJ_LOG_HAS_COLOR; + break; + + case OPT_NO_COLOR: + cfg->log_cfg.decor &= ~PJ_LOG_HAS_COLOR; + break; + + case OPT_LIGHT_BG: + pj_log_set_color(1, PJ_TERM_COLOR_R); + pj_log_set_color(2, PJ_TERM_COLOR_R | PJ_TERM_COLOR_G); + pj_log_set_color(3, PJ_TERM_COLOR_B | PJ_TERM_COLOR_G); + pj_log_set_color(4, 0); + pj_log_set_color(5, 0); + pj_log_set_color(77, 0); + break; + + case OPT_NO_STDERR: +#if !defined(PJ_WIN32_WINCE) || PJ_WIN32_WINCE==0 + freopen("/dev/null", "w", stderr); +#endif + break; + + case OPT_HELP: + usage(); + return PJ_EINVAL; + + case OPT_VERSION: /* version */ + pj_dump_config(); + return PJ_EINVAL; + + case OPT_NULL_AUDIO: + cfg->null_audio = PJ_TRUE; + break; + + case OPT_CLOCK_RATE: + lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (lval < 8000 || lval > 192000) { + PJ_LOG(1,(THIS_FILE, "Error: expecting value between " + "8000-192000 for conference clock rate")); + return PJ_EINVAL; + } + cfg->media_cfg.clock_rate = lval; + break; + + case OPT_SND_CLOCK_RATE: + lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (lval < 8000 || lval > 192000) { + PJ_LOG(1,(THIS_FILE, "Error: expecting value between " + "8000-192000 for sound device clock rate")); + return PJ_EINVAL; + } + cfg->media_cfg.snd_clock_rate = lval; + break; + + case OPT_STEREO: + cfg->media_cfg.channel_count = 2; + break; + + case OPT_LOCAL_PORT: /* local-port */ + lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (lval < 0 || lval > 65535) { + PJ_LOG(1,(THIS_FILE, + "Error: expecting integer value for " + "--local-port")); + return PJ_EINVAL; + } + cfg->udp_cfg.port = (pj_uint16_t)lval; + break; + + case OPT_IP_ADDR: /* ip-addr */ + cfg->udp_cfg.public_addr = pj_str(pj_optarg); + cfg->rtp_cfg.public_addr = pj_str(pj_optarg); + break; + + case OPT_BOUND_ADDR: /* bound-addr */ + cfg->udp_cfg.bound_addr = pj_str(pj_optarg); + cfg->rtp_cfg.bound_addr = pj_str(pj_optarg); + break; + + case OPT_NO_UDP: /* no-udp */ + if (cfg->no_tcp && !cfg->use_tls) { + PJ_LOG(1,(THIS_FILE,"Error: cannot disable both TCP and UDP")); + return PJ_EINVAL; + } + + cfg->no_udp = PJ_TRUE; + break; + + case OPT_NOREFERSUB: /* norefersub */ + cfg->no_refersub = PJ_TRUE; + break; + + case OPT_NO_TCP: /* no-tcp */ + if (cfg->no_udp && !cfg->use_tls) { + PJ_LOG(1,(THIS_FILE,"Error: cannot disable both TCP and UDP")); + return PJ_EINVAL; + } + + cfg->no_tcp = PJ_TRUE; + break; + + case OPT_PROXY: /* proxy */ + if (pjsua_verify_sip_url(pj_optarg) != 0) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid SIP URL '%s' " + "in proxy argument", pj_optarg)); + return PJ_EINVAL; + } + cur_acc->proxy[cur_acc->proxy_cnt++] = pj_str(pj_optarg); + break; + + case OPT_OUTBOUND_PROXY: /* outbound proxy */ + if (pjsua_verify_sip_url(pj_optarg) != 0) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid SIP URL '%s' " + "in outbound proxy argument", pj_optarg)); + return PJ_EINVAL; + } + cfg->cfg.outbound_proxy[cfg->cfg.outbound_proxy_cnt++] = pj_str(pj_optarg); + break; + + case OPT_REGISTRAR: /* registrar */ + if (pjsua_verify_sip_url(pj_optarg) != 0) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid SIP URL '%s' in " + "registrar argument", pj_optarg)); + return PJ_EINVAL; + } + cur_acc->reg_uri = pj_str(pj_optarg); + break; + + case OPT_REG_TIMEOUT: /* reg-timeout */ + cur_acc->reg_timeout = pj_strtoul(pj_cstr(&tmp,pj_optarg)); + if (cur_acc->reg_timeout < 1 || cur_acc->reg_timeout > 3600) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid value for --reg-timeout " + "(expecting 1-3600)")); + return PJ_EINVAL; + } + break; + + case OPT_PUBLISH: /* publish */ + cur_acc->publish_enabled = PJ_TRUE; + break; + + case OPT_MWI: /* mwi */ + cur_acc->mwi_enabled = PJ_TRUE; + break; + + case OPT_100REL: /** 100rel */ + cur_acc->require_100rel = PJSUA_100REL_MANDATORY; + cfg->cfg.require_100rel = PJSUA_100REL_MANDATORY; + break; + + case OPT_TIMER: /** session timer */ + lval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (lval < 0 || lval > 3) { + PJ_LOG(1,(THIS_FILE, + "Error: expecting integer value 0-3 for --use-timer")); + return PJ_EINVAL; + } + cur_acc->use_timer = lval; + cfg->cfg.use_timer = lval; + break; + + case OPT_TIMER_SE: /** session timer session expiration */ + cur_acc->timer_setting.sess_expires = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (cur_acc->timer_setting.sess_expires < 90) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid value for --timer-se " + "(expecting higher than 90)")); + return PJ_EINVAL; + } + cfg->cfg.timer_setting.sess_expires = cur_acc->timer_setting.sess_expires; + break; + + case OPT_TIMER_MIN_SE: /** session timer minimum session expiration */ + cur_acc->timer_setting.min_se = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (cur_acc->timer_setting.min_se < 90) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid value for --timer-min-se " + "(expecting higher than 90)")); + return PJ_EINVAL; + } + cfg->cfg.timer_setting.min_se = cur_acc->timer_setting.min_se; + break; + + case OPT_OUTB_RID: /* Outbound reg-id */ + cur_acc->rfc5626_reg_id = pj_str(pj_optarg); + break; + + case OPT_USE_IMS: /* Activate IMS settings */ + cur_acc->auth_pref.initial_auth = PJ_TRUE; + break; + + case OPT_ID: /* id */ + if (pjsua_verify_url(pj_optarg) != 0) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid SIP URL '%s' " + "in local id argument", pj_optarg)); + return PJ_EINVAL; + } + cur_acc->id = pj_str(pj_optarg); + break; + + case OPT_CONTACT: /* contact */ + if (pjsua_verify_sip_url(pj_optarg) != 0) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid SIP URL '%s' " + "in contact argument", pj_optarg)); + return PJ_EINVAL; + } + cur_acc->force_contact = pj_str(pj_optarg); + break; + + case OPT_CONTACT_PARAMS: + cur_acc->contact_params = pj_str(pj_optarg); + break; + + case OPT_CONTACT_URI_PARAMS: + cur_acc->contact_uri_params = pj_str(pj_optarg); + break; + + case OPT_AUTO_UPDATE_NAT: /* OPT_AUTO_UPDATE_NAT */ + cur_acc->allow_contact_rewrite = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + break; + + case OPT_DISABLE_STUN: + cur_acc->sip_stun_use = PJSUA_STUN_USE_DISABLED; + cur_acc->media_stun_use = PJSUA_STUN_USE_DISABLED; + break; + + case OPT_USE_COMPACT_FORM: + /* enable compact form - from Ticket #342 */ + { + extern pj_bool_t pjsip_use_compact_form; + extern pj_bool_t pjsip_include_allow_hdr_in_dlg; + extern pj_bool_t pjmedia_add_rtpmap_for_static_pt; + + pjsip_use_compact_form = PJ_TRUE; + /* do not transmit Allow header */ + pjsip_include_allow_hdr_in_dlg = PJ_FALSE; + /* Do not include rtpmap for static payload types (<96) */ + pjmedia_add_rtpmap_for_static_pt = PJ_FALSE; + } + break; + + case OPT_ACCEPT_REDIRECT: + cfg->redir_op = my_atoi(pj_optarg); + if (cfg->redir_op>PJSIP_REDIRECT_STOP) { + PJ_LOG(1,(THIS_FILE, + "Error: accept-redirect value '%s' ", pj_optarg)); + return PJ_EINVAL; + } + break; + + case OPT_NO_FORCE_LR: + cfg->cfg.force_lr = PJ_FALSE; + break; + + case OPT_NEXT_ACCOUNT: /* Add more account. */ + cfg->acc_cnt++; + cur_acc = &cfg->acc_cfg[cfg->acc_cnt]; + break; + + case OPT_USERNAME: /* Default authentication user */ + cur_acc->cred_info[cur_acc->cred_count].username = pj_str(pj_optarg); + cur_acc->cred_info[cur_acc->cred_count].scheme = pj_str("Digest"); + break; + + case OPT_REALM: /* Default authentication realm. */ + cur_acc->cred_info[cur_acc->cred_count].realm = pj_str(pj_optarg); + break; + + case OPT_PASSWORD: /* authentication password */ + cur_acc->cred_info[cur_acc->cred_count].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD; + cur_acc->cred_info[cur_acc->cred_count].data = pj_str(pj_optarg); +#if PJSIP_HAS_DIGEST_AKA_AUTH + cur_acc->cred_info[cur_acc->cred_count].data_type |= PJSIP_CRED_DATA_EXT_AKA; + cur_acc->cred_info[cur_acc->cred_count].ext.aka.k = pj_str(pj_optarg); + cur_acc->cred_info[cur_acc->cred_count].ext.aka.cb = &pjsip_auth_create_aka_response; +#endif + break; + + case OPT_REG_RETRY_INTERVAL: + cur_acc->reg_retry_interval = pj_strtoul(pj_cstr(&tmp, pj_optarg)); + break; + + case OPT_REG_USE_PROXY: + cur_acc->reg_use_proxy = (unsigned)pj_strtoul(pj_cstr(&tmp, pj_optarg)); + if (cur_acc->reg_use_proxy > 3) { + PJ_LOG(1,(THIS_FILE, "Error: invalid --reg-use-proxy value '%s'", + pj_optarg)); + return PJ_EINVAL; + } + break; + + case OPT_NEXT_CRED: /* next credential */ + cur_acc->cred_count++; + break; + + case OPT_NAMESERVER: /* nameserver */ + cfg->cfg.nameserver[cfg->cfg.nameserver_count++] = pj_str(pj_optarg); + if (cfg->cfg.nameserver_count > PJ_ARRAY_SIZE(cfg->cfg.nameserver)) { + PJ_LOG(1,(THIS_FILE, "Error: too many nameservers")); + return PJ_ETOOMANY; + } + break; + + case OPT_STUN_SRV: /* STUN server */ + cfg->cfg.stun_host = pj_str(pj_optarg); + if (cfg->cfg.stun_srv_cnt==PJ_ARRAY_SIZE(cfg->cfg.stun_srv)) { + PJ_LOG(1,(THIS_FILE, "Error: too many STUN servers")); + return PJ_ETOOMANY; + } + cfg->cfg.stun_srv[cfg->cfg.stun_srv_cnt++] = pj_str(pj_optarg); + break; + + case OPT_ADD_BUDDY: /* Add to buddy list. */ + if (pjsua_verify_url(pj_optarg) != 0) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid URL '%s' in " + "--add-buddy option", pj_optarg)); + return -1; + } + if (cfg->buddy_cnt == PJ_ARRAY_SIZE(cfg->buddy_cfg)) { + PJ_LOG(1,(THIS_FILE, + "Error: too many buddies in buddy list.")); + return -1; + } + cfg->buddy_cfg[cfg->buddy_cnt].uri = pj_str(pj_optarg); + cfg->buddy_cnt++; + break; + + case OPT_AUTO_PLAY: + cfg->auto_play = 1; + break; + + case OPT_AUTO_PLAY_HANGUP: + cfg->auto_play_hangup = 1; + break; + + case OPT_AUTO_REC: + cfg->auto_rec = 1; + break; + + case OPT_AUTO_LOOP: + cfg->auto_loop = 1; + break; + + case OPT_AUTO_CONF: + cfg->auto_conf = 1; + break; + + case OPT_PLAY_FILE: + cfg->wav_files[cfg->wav_count++] = pj_str(pj_optarg); + break; + + case OPT_PLAY_TONE: + { + int f1, f2, on, off; + int n; + + n = sscanf(pj_optarg, "%d,%d,%d,%d", &f1, &f2, &on, &off); + if (n != 4) { + puts("Expecting f1,f2,on,off in --play-tone"); + return -1; + } + + cfg->tones[cfg->tone_count].freq1 = (short)f1; + cfg->tones[cfg->tone_count].freq2 = (short)f2; + cfg->tones[cfg->tone_count].on_msec = (short)on; + cfg->tones[cfg->tone_count].off_msec = (short)off; + ++cfg->tone_count; + } + break; + + case OPT_REC_FILE: + cfg->rec_file = pj_str(pj_optarg); + break; + + case OPT_USE_ICE: + cfg->media_cfg.enable_ice = + cur_acc->ice_cfg.enable_ice = PJ_TRUE; + break; + + case OPT_ICE_REGULAR: + cfg->media_cfg.ice_opt.aggressive = + cur_acc->ice_cfg.ice_opt.aggressive = PJ_FALSE; + break; + + case OPT_USE_TURN: + cfg->media_cfg.enable_turn = + cur_acc->turn_cfg.enable_turn = PJ_TRUE; + break; + + case OPT_ICE_MAX_HOSTS: + cfg->media_cfg.ice_max_host_cands = + cur_acc->ice_cfg.ice_max_host_cands = my_atoi(pj_optarg); + break; + + case OPT_ICE_NO_RTCP: + cfg->media_cfg.ice_no_rtcp = + cur_acc->ice_cfg.ice_no_rtcp = PJ_TRUE; + break; + + case OPT_TURN_SRV: + cfg->media_cfg.turn_server = + cur_acc->turn_cfg.turn_server = pj_str(pj_optarg); + break; + + case OPT_TURN_TCP: + cfg->media_cfg.turn_conn_type = + cur_acc->turn_cfg.turn_conn_type = PJ_TURN_TP_TCP; + break; + + case OPT_TURN_USER: + cfg->media_cfg.turn_auth_cred.type = + cur_acc->turn_cfg.turn_auth_cred.type = PJ_STUN_AUTH_CRED_STATIC; + cfg->media_cfg.turn_auth_cred.data.static_cred.realm = + cur_acc->turn_cfg.turn_auth_cred.data.static_cred.realm = pj_str("*"); + cfg->media_cfg.turn_auth_cred.data.static_cred.username = + cur_acc->turn_cfg.turn_auth_cred.data.static_cred.username = pj_str(pj_optarg); + break; + + case OPT_TURN_PASSWD: + cfg->media_cfg.turn_auth_cred.data.static_cred.data_type = + cur_acc->turn_cfg.turn_auth_cred.data.static_cred.data_type = PJ_STUN_PASSWD_PLAIN; + cfg->media_cfg.turn_auth_cred.data.static_cred.data = + cur_acc->turn_cfg.turn_auth_cred.data.static_cred.data = pj_str(pj_optarg); + break; + +#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) + case OPT_USE_SRTP: + app_config.cfg.use_srtp = my_atoi(pj_optarg); + if (!pj_isdigit(*pj_optarg) || app_config.cfg.use_srtp > 3) { + PJ_LOG(1,(THIS_FILE, "Invalid value for --use-srtp option")); + return -1; + } + if ((int)app_config.cfg.use_srtp == 3) { + /* SRTP optional mode with duplicated media offer */ + app_config.cfg.use_srtp = PJMEDIA_SRTP_OPTIONAL; + app_config.cfg.srtp_optional_dup_offer = PJ_TRUE; + cur_acc->srtp_optional_dup_offer = PJ_TRUE; + } + cur_acc->use_srtp = app_config.cfg.use_srtp; + break; + case OPT_SRTP_SECURE: + app_config.cfg.srtp_secure_signaling = my_atoi(pj_optarg); + if (!pj_isdigit(*pj_optarg) || + app_config.cfg.srtp_secure_signaling > 2) + { + PJ_LOG(1,(THIS_FILE, "Invalid value for --srtp-secure option")); + return -1; + } + cur_acc->srtp_secure_signaling = app_config.cfg.srtp_secure_signaling; + break; +#endif + + case OPT_RTP_PORT: + cfg->rtp_cfg.port = my_atoi(pj_optarg); + if (cfg->rtp_cfg.port == 0) { + enum { START_PORT=4000 }; + unsigned range; + + range = (65535-START_PORT-PJSUA_MAX_CALLS*2); + cfg->rtp_cfg.port = START_PORT + + ((pj_rand() % range) & 0xFFFE); + } + + if (cfg->rtp_cfg.port < 1 || cfg->rtp_cfg.port > 65535) { + PJ_LOG(1,(THIS_FILE, + "Error: rtp-port argument value " + "(expecting 1-65535")); + return -1; + } + break; + + case OPT_DIS_CODEC: + cfg->codec_dis[cfg->codec_dis_cnt++] = pj_str(pj_optarg); + break; + + case OPT_ADD_CODEC: + cfg->codec_arg[cfg->codec_cnt++] = pj_str(pj_optarg); + break; + + /* These options were no longer valid after new pjsua */ + /* + case OPT_COMPLEXITY: + cfg->complexity = my_atoi(pj_optarg); + if (cfg->complexity < 0 || cfg->complexity > 10) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid --complexity (expecting 0-10")); + return -1; + } + break; + */ + + case OPT_DURATION: + cfg->duration = my_atoi(pj_optarg); + break; + + case OPT_THREAD_CNT: + cfg->cfg.thread_cnt = my_atoi(pj_optarg); + if (cfg->cfg.thread_cnt > 128) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid --thread-cnt option")); + return -1; + } + break; + + case OPT_PTIME: + cfg->media_cfg.ptime = my_atoi(pj_optarg); + if (cfg->media_cfg.ptime < 10 || cfg->media_cfg.ptime > 1000) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid --ptime option")); + return -1; + } + break; + + case OPT_NO_VAD: + cfg->media_cfg.no_vad = PJ_TRUE; + break; + + case OPT_EC_TAIL: + cfg->media_cfg.ec_tail_len = my_atoi(pj_optarg); + if (cfg->media_cfg.ec_tail_len > 1000) { + PJ_LOG(1,(THIS_FILE, "I think the ec-tail length setting " + "is too big")); + return -1; + } + break; + + case OPT_EC_OPT: + cfg->media_cfg.ec_options = my_atoi(pj_optarg); + break; + + case OPT_QUALITY: + cfg->media_cfg.quality = my_atoi(pj_optarg); + if (cfg->media_cfg.quality > 10) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid --quality (expecting 0-10")); + return -1; + } + break; + + case OPT_ILBC_MODE: + cfg->media_cfg.ilbc_mode = my_atoi(pj_optarg); + if (cfg->media_cfg.ilbc_mode!=20 && cfg->media_cfg.ilbc_mode!=30) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid --ilbc-mode (expecting 20 or 30")); + return -1; + } + break; + + case OPT_RX_DROP_PCT: + cfg->media_cfg.rx_drop_pct = my_atoi(pj_optarg); + if (cfg->media_cfg.rx_drop_pct > 100) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid --rx-drop-pct (expecting <= 100")); + return -1; + } + break; + + case OPT_TX_DROP_PCT: + cfg->media_cfg.tx_drop_pct = my_atoi(pj_optarg); + if (cfg->media_cfg.tx_drop_pct > 100) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid --tx-drop-pct (expecting <= 100")); + return -1; + } + break; + + case OPT_AUTO_ANSWER: + cfg->auto_answer = my_atoi(pj_optarg); + if (cfg->auto_answer < 100 || cfg->auto_answer > 699) { + PJ_LOG(1,(THIS_FILE, + "Error: invalid code in --auto-answer " + "(expecting 100-699")); + return -1; + } + break; + + case OPT_MAX_CALLS: + cfg->cfg.max_calls = my_atoi(pj_optarg); + if (cfg->cfg.max_calls < 1 || cfg->cfg.max_calls > PJSUA_MAX_CALLS) { + PJ_LOG(1,(THIS_FILE,"Error: maximum call setting exceeds " + "compile time limit (PJSUA_MAX_CALLS=%d)", + PJSUA_MAX_CALLS)); + return -1; + } + break; + +#if defined(PJSIP_HAS_TLS_TRANSPORT) && (PJSIP_HAS_TLS_TRANSPORT != 0) + case OPT_USE_TLS: + cfg->use_tls = PJ_TRUE; + break; + + case OPT_TLS_CA_FILE: + cfg->udp_cfg.tls_setting.ca_list_file = pj_str(pj_optarg); + break; + + case OPT_TLS_CERT_FILE: + cfg->udp_cfg.tls_setting.cert_file = pj_str(pj_optarg); + break; + + case OPT_TLS_PRIV_FILE: + cfg->udp_cfg.tls_setting.privkey_file = pj_str(pj_optarg); + break; + + case OPT_TLS_PASSWORD: + cfg->udp_cfg.tls_setting.password = pj_str(pj_optarg); + break; + + case OPT_TLS_VERIFY_SERVER: + cfg->udp_cfg.tls_setting.verify_server = PJ_TRUE; + break; + + case OPT_TLS_VERIFY_CLIENT: + cfg->udp_cfg.tls_setting.verify_client = PJ_TRUE; + cfg->udp_cfg.tls_setting.require_client_cert = PJ_TRUE; + break; + + case OPT_TLS_NEG_TIMEOUT: + cfg->udp_cfg.tls_setting.timeout.sec = atoi(pj_optarg); + break; + + case OPT_TLS_CIPHER: + { + pj_ssl_cipher cipher; + + if (pj_ansi_strnicmp(pj_optarg, "0x", 2) == 0) { + pj_str_t cipher_st = pj_str(pj_optarg + 2); + cipher = pj_strtoul2(&cipher_st, NULL, 16); + } else { + cipher = atoi(pj_optarg); + } + + if (pj_ssl_cipher_is_supported(cipher)) { + static pj_ssl_cipher tls_ciphers[128]; + + tls_ciphers[cfg->udp_cfg.tls_setting.ciphers_num++] = cipher; + cfg->udp_cfg.tls_setting.ciphers = tls_ciphers; + } else { + pj_ssl_cipher ciphers[128]; + unsigned j, ciphers_cnt; + + ciphers_cnt = PJ_ARRAY_SIZE(ciphers); + pj_ssl_cipher_get_availables(ciphers, &ciphers_cnt); + + PJ_LOG(1,(THIS_FILE, "Cipher \"%s\" is not supported by " + "TLS/SSL backend.", pj_optarg)); + printf("Available TLS/SSL ciphers (%d):\n", ciphers_cnt); + for (j=0; j<ciphers_cnt; ++j) + printf("- 0x%06X: %s\n", ciphers[j], pj_ssl_cipher_name(ciphers[j])); + return -1; + } + } + break; +#endif /* PJSIP_HAS_TLS_TRANSPORT */ + + case OPT_CAPTURE_DEV: + cfg->capture_dev = atoi(pj_optarg); + break; + + case OPT_PLAYBACK_DEV: + cfg->playback_dev = atoi(pj_optarg); + break; + + case OPT_STDOUT_REFRESH: + stdout_refresh = atoi(pj_optarg); + break; + + case OPT_STDOUT_REFRESH_TEXT: + stdout_refresh_text = pj_optarg; + break; + +#ifdef _IONBF + case OPT_STDOUT_NO_BUF: + setvbuf(stdout, NULL, _IONBF, 0); + break; +#endif + + case OPT_CAPTURE_LAT: + cfg->capture_lat = atoi(pj_optarg); + break; + + case OPT_PLAYBACK_LAT: + cfg->playback_lat = atoi(pj_optarg); + break; + + case OPT_SND_AUTO_CLOSE: + cfg->media_cfg.snd_auto_close_time = atoi(pj_optarg); + break; + + case OPT_NO_TONES: + cfg->no_tones = PJ_TRUE; + break; + + case OPT_JB_MAX_SIZE: + cfg->media_cfg.jb_max = atoi(pj_optarg); + break; + +#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6 + case OPT_IPV6: + cfg->ipv6 = PJ_TRUE; + break; +#endif + case OPT_QOS: + cfg->enable_qos = PJ_TRUE; + /* Set RTP traffic type to Voice */ + cfg->rtp_cfg.qos_type = PJ_QOS_TYPE_VOICE; + /* Directly apply DSCP value to SIP traffic. Say lets + * set it to CS3 (DSCP 011000). Note that this will not + * work on all platforms. + */ + cfg->udp_cfg.qos_params.flags = PJ_QOS_PARAM_HAS_DSCP; + cfg->udp_cfg.qos_params.dscp_val = 0x18; + break; + case OPT_VIDEO: + cfg->vid.vid_cnt = 1; + cfg->vid.in_auto_show = PJ_TRUE; + cfg->vid.out_auto_transmit = PJ_TRUE; + break; + case OPT_EXTRA_AUDIO: + cfg->aud_cnt++; + break; + + case OPT_VCAPTURE_DEV: + cfg->vid.vcapture_dev = atoi(pj_optarg); + cur_acc->vid_cap_dev = cfg->vid.vcapture_dev; + break; + + case OPT_VRENDER_DEV: + cfg->vid.vrender_dev = atoi(pj_optarg); + cur_acc->vid_rend_dev = cfg->vid.vrender_dev; + break; + + case OPT_PLAY_AVI: + if (app_config.avi_cnt >= PJSUA_APP_MAX_AVI) { + PJ_LOG(1,(THIS_FILE, "Too many AVIs")); + return -1; + } + app_config.avi[app_config.avi_cnt++].path = pj_str(pj_optarg); + break; + + case OPT_AUTO_PLAY_AVI: + app_config.avi_auto_play = PJ_TRUE; + break; + + case OPT_USE_CLI: + cfg->use_cli = PJ_TRUE; + break; + + case OPT_CLI_TELNET_PORT: + cfg->cli_cfg.telnet_cfg.port = (pj_uint16_t)atoi(pj_optarg); + cfg->cli_cfg.cli_fe |= CLI_FE_TELNET; + break; + + case OPT_DISABLE_CLI_CONSOLE: + cfg->cli_cfg.cli_fe &= (~CLI_FE_CONSOLE); + break; + + default: + PJ_LOG(1,(THIS_FILE, + "Argument \"%s\" is not valid. Use --help to see help", + argv[pj_optind-1])); + return -1; + } + } + + if (pj_optind != argc) { + pj_str_t uri_arg; + + if (pjsua_verify_url(argv[pj_optind]) != PJ_SUCCESS) { + PJ_LOG(1,(THIS_FILE, "Invalid SIP URI %s", argv[pj_optind])); + return -1; + } + uri_arg = pj_str(argv[pj_optind]); + if (uri_to_call) + *uri_to_call = uri_arg; + pj_optind++; + + /* Add URI to call to buddy list if it's not already there */ + for (i=0; i<cfg->buddy_cnt; ++i) { + if (pj_stricmp(&cfg->buddy_cfg[i].uri, &uri_arg)==0) + break; + } + if (i == cfg->buddy_cnt && cfg->buddy_cnt < PJSUA_MAX_BUDDIES) { + cfg->buddy_cfg[cfg->buddy_cnt++].uri = uri_arg; + } + + } else { + if (uri_to_call) + uri_to_call->slen = 0; + } + + if (pj_optind != argc) { + PJ_LOG(1,(THIS_FILE, "Error: unknown options %s", argv[pj_optind])); + return PJ_EINVAL; + } + + if (cfg->acc_cfg[cfg->acc_cnt].id.slen) + cfg->acc_cnt++; + + for (i=0; i<cfg->acc_cnt; ++i) { + pjsua_acc_config *acfg = &cfg->acc_cfg[i]; + + if (acfg->cred_info[acfg->cred_count].username.slen) + { + acfg->cred_count++; + } + + if (acfg->ice_cfg.enable_ice) { + acfg->ice_cfg_use = PJSUA_ICE_CONFIG_USE_CUSTOM; + } + if (acfg->turn_cfg.enable_turn) { + acfg->turn_cfg_use = PJSUA_TURN_CONFIG_USE_CUSTOM; + } + + /* When IMS mode is enabled for the account, verify that settings + * are okay. + */ + /* For now we check if IMS mode is activated by looking if + * initial_auth is set. + */ + if (acfg->auth_pref.initial_auth && acfg->cred_count) { + /* Realm must point to the real domain */ + if (*acfg->cred_info[0].realm.ptr=='*') { + PJ_LOG(1,(THIS_FILE, + "Error: cannot use '*' as realm with IMS")); + return PJ_EINVAL; + } + + /* Username for authentication must be in a@b format */ + if (strchr(acfg->cred_info[0].username.ptr, '@')==0) { + PJ_LOG(1,(THIS_FILE, + "Error: Username for authentication must " + "be in user@domain format with IMS")); + return PJ_EINVAL; + } + } + } + return PJ_SUCCESS; +} + +/* Set default config. */ +static void default_config() +{ + char tmp[80]; + unsigned i; + pjsua_app_config *cfg = &app_config; + + pjsua_config_default(&cfg->cfg); + pj_ansi_sprintf(tmp, "PJSUA v%s %s", pj_get_version(), + pj_get_sys_info()->info.ptr); + pj_strdup2_with_null(app_config.pool, &cfg->cfg.user_agent, tmp); + + pjsua_logging_config_default(&cfg->log_cfg); + pjsua_media_config_default(&cfg->media_cfg); + pjsua_transport_config_default(&cfg->udp_cfg); + cfg->udp_cfg.port = 5060; + pjsua_transport_config_default(&cfg->rtp_cfg); + cfg->rtp_cfg.port = 4000; + cfg->redir_op = PJSIP_REDIRECT_ACCEPT_REPLACE; + cfg->duration = PJSUA_APP_NO_LIMIT_DURATION; + cfg->wav_id = PJSUA_INVALID_ID; + cfg->rec_id = PJSUA_INVALID_ID; + cfg->wav_port = PJSUA_INVALID_ID; + cfg->rec_port = PJSUA_INVALID_ID; + cfg->mic_level = cfg->speaker_level = 1.0; + cfg->capture_dev = PJSUA_INVALID_ID; + cfg->playback_dev = PJSUA_INVALID_ID; + cfg->capture_lat = PJMEDIA_SND_DEFAULT_REC_LATENCY; + cfg->playback_lat = PJMEDIA_SND_DEFAULT_PLAY_LATENCY; + cfg->ringback_slot = PJSUA_INVALID_ID; + cfg->ring_slot = PJSUA_INVALID_ID; + + for (i=0; i<PJ_ARRAY_SIZE(cfg->acc_cfg); ++i) + pjsua_acc_config_default(&cfg->acc_cfg[i]); + + for (i=0; i<PJ_ARRAY_SIZE(cfg->buddy_cfg); ++i) + pjsua_buddy_config_default(&cfg->buddy_cfg[i]); + + cfg->vid.vcapture_dev = PJMEDIA_VID_DEFAULT_CAPTURE_DEV; + cfg->vid.vrender_dev = PJMEDIA_VID_DEFAULT_RENDER_DEV; + cfg->aud_cnt = 1; + + cfg->avi_def_idx = PJSUA_INVALID_ID; + + cfg->use_cli = PJ_FALSE; + cfg->cli_cfg.cli_fe = CLI_FE_CONSOLE; + cfg->cli_cfg.telnet_cfg.port = 0; +} + +static pj_status_t parse_config(int argc, char *argv[], pj_str_t *uri_arg) +{ + pj_status_t status; + + /* Initialize default config */ + default_config(); + + /* Parse the arguments */ + status = parse_args(argc, argv, uri_arg); + return status; +} + +pj_status_t load_config(int argc, + char **argv, + pj_str_t *uri_arg) +{ + pj_status_t status; + pj_bool_t use_cli = PJ_FALSE; + int cli_fe = 0; + pj_uint16_t cli_telnet_port = 0; + + /** CLI options are not changable **/ + if (app_running) { + use_cli = app_config.use_cli; + cli_fe = app_config.cli_cfg.cli_fe; + cli_telnet_port = app_config.cli_cfg.telnet_cfg.port; + } + + status = parse_config(argc, argv, uri_arg); + if (status != PJ_SUCCESS) + return status; + + if (app_running) { + app_config.use_cli = use_cli; + app_config.cli_cfg.cli_fe = cli_fe; + app_config.cli_cfg.telnet_cfg.port = cli_telnet_port; + } + + return status; +} + +/* + * Save account settings + */ +static void write_account_settings(int acc_index, pj_str_t *result) +{ + unsigned i; + char line[128]; + pjsua_acc_config *acc_cfg = &app_config.acc_cfg[acc_index]; + + + pj_ansi_sprintf(line, "\n#\n# Account %d:\n#\n", acc_index); + pj_strcat2(result, line); + + + /* Identity */ + if (acc_cfg->id.slen) { + pj_ansi_sprintf(line, "--id %.*s\n", + (int)acc_cfg->id.slen, + acc_cfg->id.ptr); + pj_strcat2(result, line); + } + + /* Registrar server */ + if (acc_cfg->reg_uri.slen) { + pj_ansi_sprintf(line, "--registrar %.*s\n", + (int)acc_cfg->reg_uri.slen, + acc_cfg->reg_uri.ptr); + pj_strcat2(result, line); + + pj_ansi_sprintf(line, "--reg-timeout %u\n", + acc_cfg->reg_timeout); + pj_strcat2(result, line); + } + + /* Contact */ + if (acc_cfg->force_contact.slen) { + pj_ansi_sprintf(line, "--contact %.*s\n", + (int)acc_cfg->force_contact.slen, + acc_cfg->force_contact.ptr); + pj_strcat2(result, line); + } + + /* Contact header parameters */ + if (acc_cfg->contact_params.slen) { + pj_ansi_sprintf(line, "--contact-params %.*s\n", + (int)acc_cfg->contact_params.slen, + acc_cfg->contact_params.ptr); + pj_strcat2(result, line); + } + + /* Contact URI parameters */ + if (acc_cfg->contact_uri_params.slen) { + pj_ansi_sprintf(line, "--contact-uri-params %.*s\n", + (int)acc_cfg->contact_uri_params.slen, + acc_cfg->contact_uri_params.ptr); + pj_strcat2(result, line); + } + + /* */ + if (acc_cfg->allow_contact_rewrite!=1) + { + pj_ansi_sprintf(line, "--auto-update-nat %i\n", + (int)acc_cfg->allow_contact_rewrite); + pj_strcat2(result, line); + } + +#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) + /* SRTP */ + if (acc_cfg->use_srtp) { + int use_srtp = (int)acc_cfg->use_srtp; + if (use_srtp == PJMEDIA_SRTP_OPTIONAL && + acc_cfg->srtp_optional_dup_offer) + { + use_srtp = 3; + } + pj_ansi_sprintf(line, "--use-srtp %i\n", use_srtp); + pj_strcat2(result, line); + } + if (acc_cfg->srtp_secure_signaling != + PJSUA_DEFAULT_SRTP_SECURE_SIGNALING) + { + pj_ansi_sprintf(line, "--srtp-secure %d\n", + acc_cfg->srtp_secure_signaling); + pj_strcat2(result, line); + } +#endif + + /* Proxy */ + for (i=0; i<acc_cfg->proxy_cnt; ++i) { + pj_ansi_sprintf(line, "--proxy %.*s\n", + (int)acc_cfg->proxy[i].slen, + acc_cfg->proxy[i].ptr); + pj_strcat2(result, line); + } + + /* Credentials */ + for (i=0; i<acc_cfg->cred_count; ++i) { + if (acc_cfg->cred_info[i].realm.slen) { + pj_ansi_sprintf(line, "--realm %.*s\n", + (int)acc_cfg->cred_info[i].realm.slen, + acc_cfg->cred_info[i].realm.ptr); + pj_strcat2(result, line); + } + + if (acc_cfg->cred_info[i].username.slen) { + pj_ansi_sprintf(line, "--username %.*s\n", + (int)acc_cfg->cred_info[i].username.slen, + acc_cfg->cred_info[i].username.ptr); + pj_strcat2(result, line); + } + + if (acc_cfg->cred_info[i].data.slen) { + pj_ansi_sprintf(line, "--password %.*s\n", + (int)acc_cfg->cred_info[i].data.slen, + acc_cfg->cred_info[i].data.ptr); + pj_strcat2(result, line); + } + + if (i != acc_cfg->cred_count - 1) + pj_strcat2(result, "--next-cred\n"); + } + + /* reg-use-proxy */ + if (acc_cfg->reg_use_proxy != 3) { + pj_ansi_sprintf(line, "--reg-use-proxy %d\n", + acc_cfg->reg_use_proxy); + pj_strcat2(result, line); + } + + /* rereg-delay */ + if (acc_cfg->reg_retry_interval != PJSUA_REG_RETRY_INTERVAL) { + pj_ansi_sprintf(line, "--rereg-delay %d\n", + acc_cfg->reg_retry_interval); + pj_strcat2(result, line); + } + + /* 100rel extension */ + if (acc_cfg->require_100rel == PJSUA_100REL_MANDATORY) { + pj_strcat2(result, "--use-100rel\n"); + } + + /* Session Timer extension */ + if (acc_cfg->use_timer) { + pj_ansi_sprintf(line, "--use-timer %d\n", + acc_cfg->use_timer); + pj_strcat2(result, line); + } + if (acc_cfg->timer_setting.min_se != 90) { + pj_ansi_sprintf(line, "--timer-min-se %d\n", + acc_cfg->timer_setting.min_se); + pj_strcat2(result, line); + } + if (acc_cfg->timer_setting.sess_expires != PJSIP_SESS_TIMER_DEF_SE) { + pj_ansi_sprintf(line, "--timer-se %d\n", + acc_cfg->timer_setting.sess_expires); + pj_strcat2(result, line); + } + + /* Publish */ + if (acc_cfg->publish_enabled) + pj_strcat2(result, "--publish\n"); + + /* MWI */ + if (acc_cfg->mwi_enabled) + pj_strcat2(result, "--mwi\n"); + + if (acc_cfg->sip_stun_use != PJSUA_STUN_USE_DEFAULT || + acc_cfg->media_stun_use != PJSUA_STUN_USE_DEFAULT) + { + pj_strcat2(result, "--disable-stun\n"); + } + + /* Media Transport*/ + if (acc_cfg->ice_cfg.enable_ice) + pj_strcat2(result, "--use-ice\n"); + + if (acc_cfg->ice_cfg.ice_opt.aggressive == PJ_FALSE) + pj_strcat2(result, "--ice-regular\n"); + + if (acc_cfg->turn_cfg.enable_turn) + pj_strcat2(result, "--use-turn\n"); + + if (acc_cfg->ice_cfg.ice_max_host_cands >= 0) { + pj_ansi_sprintf(line, "--ice_max_host_cands %d\n", + acc_cfg->ice_cfg.ice_max_host_cands); + pj_strcat2(result, line); + } + + if (acc_cfg->ice_cfg.ice_no_rtcp) + pj_strcat2(result, "--ice-no-rtcp\n"); + + if (acc_cfg->turn_cfg.turn_server.slen) { + pj_ansi_sprintf(line, "--turn-srv %.*s\n", + (int)acc_cfg->turn_cfg.turn_server.slen, + acc_cfg->turn_cfg.turn_server.ptr); + pj_strcat2(result, line); + } + + if (acc_cfg->turn_cfg.turn_conn_type == PJ_TURN_TP_TCP) + pj_strcat2(result, "--turn-tcp\n"); + + if (acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.username.slen) { + pj_ansi_sprintf(line, "--turn-user %.*s\n", + (int)acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.username.slen, + acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.username.ptr); + pj_strcat2(result, line); + } + + if (acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.data.slen) { + pj_ansi_sprintf(line, "--turn-passwd %.*s\n", + (int)acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.data.slen, + acc_cfg->turn_cfg.turn_auth_cred.data.static_cred.data.ptr); + pj_strcat2(result, line); + } +} + +/* + * Write settings. + */ +int write_settings(pjsua_app_config *config, char *buf, pj_size_t max) +{ + unsigned acc_index; + unsigned i; + pj_str_t cfg; + char line[128]; + extern pj_bool_t pjsip_use_compact_form; + + PJ_UNUSED_ARG(max); + + cfg.ptr = buf; + cfg.slen = 0; + + /* Logging. */ + pj_strcat2(&cfg, "#\n# Logging options:\n#\n"); + pj_ansi_sprintf(line, "--log-level %d\n", + config->log_cfg.level); + pj_strcat2(&cfg, line); + + pj_ansi_sprintf(line, "--app-log-level %d\n", + config->log_cfg.console_level); + pj_strcat2(&cfg, line); + + if (config->log_cfg.log_filename.slen) { + pj_ansi_sprintf(line, "--log-file %.*s\n", + (int)config->log_cfg.log_filename.slen, + config->log_cfg.log_filename.ptr); + pj_strcat2(&cfg, line); + } + + if (config->log_cfg.log_file_flags & PJ_O_APPEND) { + pj_strcat2(&cfg, "--log-append\n"); + } + + /* Save account settings. */ + for (acc_index=0; acc_index < config->acc_cnt; ++acc_index) { + + write_account_settings(acc_index, &cfg); + + if (acc_index < config->acc_cnt-1) + pj_strcat2(&cfg, "--next-account\n"); + } + + pj_strcat2(&cfg, "\n#\n# Network settings:\n#\n"); + + /* Nameservers */ + for (i=0; i<config->cfg.nameserver_count; ++i) { + pj_ansi_sprintf(line, "--nameserver %.*s\n", + (int)config->cfg.nameserver[i].slen, + config->cfg.nameserver[i].ptr); + pj_strcat2(&cfg, line); + } + + /* Outbound proxy */ + for (i=0; i<config->cfg.outbound_proxy_cnt; ++i) { + pj_ansi_sprintf(line, "--outbound %.*s\n", + (int)config->cfg.outbound_proxy[i].slen, + config->cfg.outbound_proxy[i].ptr); + pj_strcat2(&cfg, line); + } + + /* Transport options */ + if (config->ipv6) { + pj_strcat2(&cfg, "--ipv6\n"); + } + if (config->enable_qos) { + pj_strcat2(&cfg, "--set-qos\n"); + } + + /* UDP Transport. */ + pj_ansi_sprintf(line, "--local-port %d\n", config->udp_cfg.port); + pj_strcat2(&cfg, line); + + /* IP address, if any. */ + if (config->udp_cfg.public_addr.slen) { + pj_ansi_sprintf(line, "--ip-addr %.*s\n", + (int)config->udp_cfg.public_addr.slen, + config->udp_cfg.public_addr.ptr); + pj_strcat2(&cfg, line); + } + + /* Bound IP address, if any. */ + if (config->udp_cfg.bound_addr.slen) { + pj_ansi_sprintf(line, "--bound-addr %.*s\n", + (int)config->udp_cfg.bound_addr.slen, + config->udp_cfg.bound_addr.ptr); + pj_strcat2(&cfg, line); + } + + /* No TCP ? */ + if (config->no_tcp) { + pj_strcat2(&cfg, "--no-tcp\n"); + } + + /* No UDP ? */ + if (config->no_udp) { + pj_strcat2(&cfg, "--no-udp\n"); + } + + /* STUN */ + for (i=0; i<config->cfg.stun_srv_cnt; ++i) { + pj_ansi_sprintf(line, "--stun-srv %.*s\n", + (int)config->cfg.stun_srv[i].slen, + config->cfg.stun_srv[i].ptr); + pj_strcat2(&cfg, line); + } + +#if defined(PJSIP_HAS_TLS_TRANSPORT) && (PJSIP_HAS_TLS_TRANSPORT != 0) + /* TLS */ + if (config->use_tls) + pj_strcat2(&cfg, "--use-tls\n"); + if (config->udp_cfg.tls_setting.ca_list_file.slen) { + pj_ansi_sprintf(line, "--tls-ca-file %.*s\n", + (int)config->udp_cfg.tls_setting.ca_list_file.slen, + config->udp_cfg.tls_setting.ca_list_file.ptr); + pj_strcat2(&cfg, line); + } + if (config->udp_cfg.tls_setting.cert_file.slen) { + pj_ansi_sprintf(line, "--tls-cert-file %.*s\n", + (int)config->udp_cfg.tls_setting.cert_file.slen, + config->udp_cfg.tls_setting.cert_file.ptr); + pj_strcat2(&cfg, line); + } + if (config->udp_cfg.tls_setting.privkey_file.slen) { + pj_ansi_sprintf(line, "--tls-privkey-file %.*s\n", + (int)config->udp_cfg.tls_setting.privkey_file.slen, + config->udp_cfg.tls_setting.privkey_file.ptr); + pj_strcat2(&cfg, line); + } + + if (config->udp_cfg.tls_setting.password.slen) { + pj_ansi_sprintf(line, "--tls-password %.*s\n", + (int)config->udp_cfg.tls_setting.password.slen, + config->udp_cfg.tls_setting.password.ptr); + pj_strcat2(&cfg, line); + } + + if (config->udp_cfg.tls_setting.verify_server) + pj_strcat2(&cfg, "--tls-verify-server\n"); + + if (config->udp_cfg.tls_setting.verify_client) + pj_strcat2(&cfg, "--tls-verify-client\n"); + + if (config->udp_cfg.tls_setting.timeout.sec) { + pj_ansi_sprintf(line, "--tls-neg-timeout %d\n", + (int)config->udp_cfg.tls_setting.timeout.sec); + pj_strcat2(&cfg, line); + } + + for (i=0; i<config->udp_cfg.tls_setting.ciphers_num; ++i) { + pj_ansi_sprintf(line, "--tls-cipher 0x%06X # %s\n", + config->udp_cfg.tls_setting.ciphers[i], + pj_ssl_cipher_name(config->udp_cfg.tls_setting.ciphers[i])); + pj_strcat2(&cfg, line); + } +#endif + + pj_strcat2(&cfg, "\n#\n# Media settings:\n#\n"); + + /* Video & extra audio */ + for (i=0; i<config->vid.vid_cnt; ++i) { + pj_strcat2(&cfg, "--video\n"); + } + for (i=1; i<config->aud_cnt; ++i) { + pj_strcat2(&cfg, "--extra-audio\n"); + } + + /* SRTP */ +#if PJMEDIA_HAS_SRTP + if (app_config.cfg.use_srtp != PJSUA_DEFAULT_USE_SRTP) { + int use_srtp = (int)app_config.cfg.use_srtp; + if (use_srtp == PJMEDIA_SRTP_OPTIONAL && + app_config.cfg.srtp_optional_dup_offer) + { + use_srtp = 3; + } + pj_ansi_sprintf(line, "--use-srtp %d\n", use_srtp); + pj_strcat2(&cfg, line); + } + if (app_config.cfg.srtp_secure_signaling != + PJSUA_DEFAULT_SRTP_SECURE_SIGNALING) + { + pj_ansi_sprintf(line, "--srtp-secure %d\n", + app_config.cfg.srtp_secure_signaling); + pj_strcat2(&cfg, line); + } +#endif + + /* Media */ + if (config->null_audio) + pj_strcat2(&cfg, "--null-audio\n"); + if (config->auto_play) + pj_strcat2(&cfg, "--auto-play\n"); + if (config->auto_loop) + pj_strcat2(&cfg, "--auto-loop\n"); + if (config->auto_conf) + pj_strcat2(&cfg, "--auto-conf\n"); + for (i=0; i<config->wav_count; ++i) { + pj_ansi_sprintf(line, "--play-file %s\n", + config->wav_files[i].ptr); + pj_strcat2(&cfg, line); + } + for (i=0; i<config->tone_count; ++i) { + pj_ansi_sprintf(line, "--play-tone %d,%d,%d,%d\n", + config->tones[i].freq1, config->tones[i].freq2, + config->tones[i].on_msec, config->tones[i].off_msec); + pj_strcat2(&cfg, line); + } + if (config->rec_file.slen) { + pj_ansi_sprintf(line, "--rec-file %s\n", + config->rec_file.ptr); + pj_strcat2(&cfg, line); + } + if (config->auto_rec) + pj_strcat2(&cfg, "--auto-rec\n"); + if (config->capture_dev != PJSUA_INVALID_ID) { + pj_ansi_sprintf(line, "--capture-dev %d\n", config->capture_dev); + pj_strcat2(&cfg, line); + } + if (config->playback_dev != PJSUA_INVALID_ID) { + pj_ansi_sprintf(line, "--playback-dev %d\n", config->playback_dev); + pj_strcat2(&cfg, line); + } + if (config->media_cfg.snd_auto_close_time != -1) { + pj_ansi_sprintf(line, "--snd-auto-close %d\n", + config->media_cfg.snd_auto_close_time); + pj_strcat2(&cfg, line); + } + if (config->no_tones) { + pj_strcat2(&cfg, "--no-tones\n"); + } + if (config->media_cfg.jb_max != -1) { + pj_ansi_sprintf(line, "--jb-max-size %d\n", + config->media_cfg.jb_max); + pj_strcat2(&cfg, line); + } + + /* Sound device latency */ + if (config->capture_lat != PJMEDIA_SND_DEFAULT_REC_LATENCY) { + pj_ansi_sprintf(line, "--capture-lat %d\n", config->capture_lat); + pj_strcat2(&cfg, line); + } + if (config->playback_lat != PJMEDIA_SND_DEFAULT_PLAY_LATENCY) { + pj_ansi_sprintf(line, "--playback-lat %d\n", config->playback_lat); + pj_strcat2(&cfg, line); + } + + /* Media clock rate. */ + if (config->media_cfg.clock_rate != PJSUA_DEFAULT_CLOCK_RATE) { + pj_ansi_sprintf(line, "--clock-rate %d\n", + config->media_cfg.clock_rate); + pj_strcat2(&cfg, line); + } else { + pj_ansi_sprintf(line, "#using default --clock-rate %d\n", + config->media_cfg.clock_rate); + pj_strcat2(&cfg, line); + } + + if (config->media_cfg.snd_clock_rate && + config->media_cfg.snd_clock_rate != config->media_cfg.clock_rate) + { + pj_ansi_sprintf(line, "--snd-clock-rate %d\n", + config->media_cfg.snd_clock_rate); + pj_strcat2(&cfg, line); + } + + /* Stereo mode. */ + if (config->media_cfg.channel_count == 2) { + pj_ansi_sprintf(line, "--stereo\n"); + pj_strcat2(&cfg, line); + } + + /* quality */ + if (config->media_cfg.quality != PJSUA_DEFAULT_CODEC_QUALITY) { + pj_ansi_sprintf(line, "--quality %d\n", + config->media_cfg.quality); + pj_strcat2(&cfg, line); + } else { + pj_ansi_sprintf(line, "#using default --quality %d\n", + config->media_cfg.quality); + pj_strcat2(&cfg, line); + } + + if (config->vid.vcapture_dev != PJMEDIA_VID_DEFAULT_CAPTURE_DEV) { + pj_ansi_sprintf(line, "--vcapture-dev %d\n", config->vid.vcapture_dev); + pj_strcat2(&cfg, line); + } + if (config->vid.vrender_dev != PJMEDIA_VID_DEFAULT_RENDER_DEV) { + pj_ansi_sprintf(line, "--vrender-dev %d\n", config->vid.vrender_dev); + pj_strcat2(&cfg, line); + } + for (i=0; i<config->avi_cnt; ++i) { + pj_ansi_sprintf(line, "--play-avi %s\n", config->avi[i].path.ptr); + pj_strcat2(&cfg, line); + } + if (config->avi_auto_play) { + pj_ansi_sprintf(line, "--auto-play-avi\n"); + pj_strcat2(&cfg, line); + } + + /* ptime */ + if (config->media_cfg.ptime) { + pj_ansi_sprintf(line, "--ptime %d\n", + config->media_cfg.ptime); + pj_strcat2(&cfg, line); + } + + /* no-vad */ + if (config->media_cfg.no_vad) { + pj_strcat2(&cfg, "--no-vad\n"); + } + + /* ec-tail */ + if (config->media_cfg.ec_tail_len != PJSUA_DEFAULT_EC_TAIL_LEN) { + pj_ansi_sprintf(line, "--ec-tail %d\n", + config->media_cfg.ec_tail_len); + pj_strcat2(&cfg, line); + } else { + pj_ansi_sprintf(line, "#using default --ec-tail %d\n", + config->media_cfg.ec_tail_len); + pj_strcat2(&cfg, line); + } + + /* ec-opt */ + if (config->media_cfg.ec_options != 0) { + pj_ansi_sprintf(line, "--ec-opt %d\n", + config->media_cfg.ec_options); + pj_strcat2(&cfg, line); + } + + /* ilbc-mode */ + if (config->media_cfg.ilbc_mode != PJSUA_DEFAULT_ILBC_MODE) { + pj_ansi_sprintf(line, "--ilbc-mode %d\n", + config->media_cfg.ilbc_mode); + pj_strcat2(&cfg, line); + } else { + pj_ansi_sprintf(line, "#using default --ilbc-mode %d\n", + config->media_cfg.ilbc_mode); + pj_strcat2(&cfg, line); + } + + /* RTP drop */ + if (config->media_cfg.tx_drop_pct) { + pj_ansi_sprintf(line, "--tx-drop-pct %d\n", + config->media_cfg.tx_drop_pct); + pj_strcat2(&cfg, line); + + } + if (config->media_cfg.rx_drop_pct) { + pj_ansi_sprintf(line, "--rx-drop-pct %d\n", + config->media_cfg.rx_drop_pct); + pj_strcat2(&cfg, line); + + } + + /* Start RTP port. */ + pj_ansi_sprintf(line, "--rtp-port %d\n", + config->rtp_cfg.port); + pj_strcat2(&cfg, line); + + /* Disable codec */ + for (i=0; i<config->codec_dis_cnt; ++i) { + pj_ansi_sprintf(line, "--dis-codec %s\n", + config->codec_dis[i].ptr); + pj_strcat2(&cfg, line); + } + /* Add codec. */ + for (i=0; i<config->codec_cnt; ++i) { + pj_ansi_sprintf(line, "--add-codec %s\n", + config->codec_arg[i].ptr); + pj_strcat2(&cfg, line); + } + + pj_strcat2(&cfg, "\n#\n# User agent:\n#\n"); + + /* Auto-answer. */ + if (config->auto_answer != 0) { + pj_ansi_sprintf(line, "--auto-answer %d\n", + config->auto_answer); + pj_strcat2(&cfg, line); + } + + /* accept-redirect */ + if (config->redir_op != PJSIP_REDIRECT_ACCEPT_REPLACE) { + pj_ansi_sprintf(line, "--accept-redirect %d\n", + config->redir_op); + pj_strcat2(&cfg, line); + } + + /* Max calls. */ + pj_ansi_sprintf(line, "--max-calls %d\n", + config->cfg.max_calls); + pj_strcat2(&cfg, line); + + /* Uas-duration. */ + if (config->duration != PJSUA_APP_NO_LIMIT_DURATION) { + pj_ansi_sprintf(line, "--duration %d\n", + config->duration); + pj_strcat2(&cfg, line); + } + + /* norefersub ? */ + if (config->no_refersub) { + pj_strcat2(&cfg, "--norefersub\n"); + } + + if (pjsip_use_compact_form) + { + pj_strcat2(&cfg, "--use-compact-form\n"); + } + + if (!config->cfg.force_lr) { + pj_strcat2(&cfg, "--no-force-lr\n"); + } + + pj_strcat2(&cfg, "\n#\n# Buddies:\n#\n"); + + /* Add buddies. */ + for (i=0; i<config->buddy_cnt; ++i) { + pj_ansi_sprintf(line, "--add-buddy %.*s\n", + (int)config->buddy_cfg[i].uri.slen, + config->buddy_cfg[i].uri.ptr); + pj_strcat2(&cfg, line); + } + + /* SIP extensions. */ + pj_strcat2(&cfg, "\n#\n# SIP extensions:\n#\n"); + /* 100rel extension */ + if (config->cfg.require_100rel == PJSUA_100REL_MANDATORY) { + pj_strcat2(&cfg, "--use-100rel\n"); + } + /* Session Timer extension */ + if (config->cfg.use_timer) { + pj_ansi_sprintf(line, "--use-timer %d\n", + config->cfg.use_timer); + pj_strcat2(&cfg, line); + } + if (config->cfg.timer_setting.min_se != 90) { + pj_ansi_sprintf(line, "--timer-min-se %d\n", + config->cfg.timer_setting.min_se); + pj_strcat2(&cfg, line); + } + if (config->cfg.timer_setting.sess_expires != PJSIP_SESS_TIMER_DEF_SE) { + pj_ansi_sprintf(line, "--timer-se %d\n", + config->cfg.timer_setting.sess_expires); + pj_strcat2(&cfg, line); + } + + *(cfg.ptr + cfg.slen) = '\0'; + return (int)cfg.slen; +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_config.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_config.h new file mode 100644 index 0000000000000000000000000000000000000000..216757f8bd99cfcbaf238bcfc82c45e4431f70ad --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_config.h @@ -0,0 +1,48 @@ +/* $Id: pjsua_app_config.h 4492 2013-04-23 10:59:52Z nanang $ */ +/* + * Copyright (C) 2008-2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA_APP_CONFIG_H__ +#define __PJSUA_APP_CONFIG_H__ + +#include <pjlib.h> + +/* This file defines the default app config. It's used by pjsua + * *mobile* version only. If you're porting pjsua to new mobile + * platform, you should only include this file once in one of + * your source file. + */ +const char *pjsua_app_def_argv[] = { "pjsua", + "--use-cli", + "--no-cli-console", +#if defined(PJ_SYMBIAN) && PJ_SYMBIAN + /* Can't reuse address on E52 */ + "--cli-telnet-port=0", +#else + "--cli-telnet-port=2323", +#endif + "--quality=4", +#if defined(PJ_CONFIG_BB10) && PJ_CONFIG_BB10 + "--add-buddy=sip:169.254.0.2", +#endif + NULL }; + +#define pjsua_app_def_argc (PJ_ARRAY_SIZE(pjsua_app_def_argv)-1) + + +#endif /* __PJSUA_APP_CONFIG_H__ */ + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_legacy.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_legacy.c new file mode 100644 index 0000000000000000000000000000000000000000..b5b3628266a45f721da693d57edadebfed208620 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/pjsua_app_legacy.c @@ -0,0 +1,1934 @@ +/* $Id: pjsua_app_legacy.c 4739 2014-02-11 04:46:49Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <pjsua-lib/pjsua.h> +#include "pjsua_app_common.h" + +#define THIS_FILE "pjsua_app_legacy.c" + +static pj_bool_t cmd_echo; + +/* + * Print buddy list. + */ +static void print_buddy_list() +{ + pjsua_buddy_id ids[64]; + int i; + unsigned count = PJ_ARRAY_SIZE(ids); + + puts("Buddy list:"); + + pjsua_enum_buddies(ids, &count); + + if (count == 0) + puts(" -none-"); + else { + for (i=0; i<(int)count; ++i) { + pjsua_buddy_info info; + + if (pjsua_buddy_get_info(ids[i], &info) != PJ_SUCCESS) + continue; + + printf(" [%2d] <%.*s> %.*s\n", + ids[i]+1, + (int)info.status_text.slen, + info.status_text.ptr, + (int)info.uri.slen, + info.uri.ptr); + } + } + puts(""); +} + +/* + * Input URL. + */ +static void ui_input_url(const char *title, char *buf, pj_size_t len, + input_result *result) +{ + result->nb_result = PJSUA_APP_NO_NB; + result->uri_result = NULL; + + print_buddy_list(); + + printf("Choices:\n" + " 0 For current dialog.\n" + " -1 All %d buddies in buddy list\n" + " [1 -%2d] Select from buddy list\n" + " URL An URL\n" + " <Enter> Empty input (or 'q') to cancel\n" + , pjsua_get_buddy_count(), pjsua_get_buddy_count()); + printf("%s: ", title); + + fflush(stdout); + if (fgets(buf, (int)len, stdin) == NULL) + return; + len = strlen(buf); + + /* Left trim */ + while (pj_isspace(*buf)) { + ++buf; + --len; + } + + /* Remove trailing newlines */ + while (len && (buf[len-1] == '\r' || buf[len-1] == '\n')) + buf[--len] = '\0'; + + if (len == 0 || buf[0]=='q') + return; + + if (pj_isdigit(*buf) || *buf=='-') { + + unsigned i; + + if (*buf=='-') + i = 1; + else + i = 0; + + for (; i<len; ++i) { + if (!pj_isdigit(buf[i])) { + puts("Invalid input"); + return; + } + } + + result->nb_result = my_atoi(buf); + + if (result->nb_result >= 0 && + result->nb_result <= (int)pjsua_get_buddy_count()) + { + return; + } + if (result->nb_result == -1) + return; + + puts("Invalid input"); + result->nb_result = PJSUA_APP_NO_NB; + return; + + } else { + pj_status_t status; + + if ((status=pjsua_verify_url(buf)) != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Invalid URL", status); + return; + } + + result->uri_result = buf; + } +} + +static pj_bool_t simple_input(const char *title, char *buf, pj_size_t len) +{ + char *p; + + printf("%s (empty to cancel): ", title); fflush(stdout); + if (fgets(buf, (int)len, stdin) == NULL) + return PJ_FALSE; + + /* Remove trailing newlines. */ + for (p=buf; ; ++p) { + if (*p=='\r' || *p=='\n') *p='\0'; + else if (!*p) break; + } + + if (!*buf) + return PJ_FALSE; + + return PJ_TRUE; +} + +/* + * Print account status. + */ +static void print_acc_status(int acc_id) +{ + char buf[80]; + pjsua_acc_info info; + + pjsua_acc_get_info(acc_id, &info); + + if (!info.has_registration) { + pj_ansi_snprintf(buf, sizeof(buf), "%.*s", + (int)info.status_text.slen, + info.status_text.ptr); + + } else { + pj_ansi_snprintf(buf, sizeof(buf), + "%d/%.*s (expires=%d)", + info.status, + (int)info.status_text.slen, + info.status_text.ptr, + info.expires); + + } + + printf(" %c[%2d] %.*s: %s\n", (acc_id==current_acc?'*':' '), + acc_id, (int)info.acc_uri.slen, info.acc_uri.ptr, buf); + printf(" Online status: %.*s\n", + (int)info.online_status_text.slen, + info.online_status_text.ptr); +} + +/* + * Show a bit of help. + */ +static void keystroke_help() +{ + pjsua_acc_id acc_ids[16]; + unsigned count = PJ_ARRAY_SIZE(acc_ids); + int i; + + printf(">>>>\n"); + + pjsua_enum_accs(acc_ids, &count); + + printf("Account list:\n"); + for (i=0; i<(int)count; ++i) + print_acc_status(acc_ids[i]); + + print_buddy_list(); + + //puts("Commands:"); + puts("+=============================================================================+"); + puts("| Call Commands: | Buddy, IM & Presence: | Account: |"); + puts("| | | |"); + puts("| m Make new call | +b Add new buddy .| +a Add new accnt |"); + puts("| M Make multiple calls | -b Delete buddy | -a Delete accnt. |"); + puts("| a Answer call | i Send IM | !a Modify accnt. |"); + puts("| h Hangup call (ha=all) | s Subscribe presence | rr (Re-)register |"); + puts("| H Hold call | u Unsubscribe presence | ru Unregister |"); + puts("| v re-inVite (release hold) | t ToGgle Online status | > Cycle next ac.|"); + puts("| U send UPDATE | T Set online status | < Cycle prev ac.|"); + puts("| ],[ Select next/prev call +--------------------------+-------------------+"); + puts("| x Xfer call | Media Commands: | Status & Config: |"); + puts("| X Xfer with Replaces | | |"); + puts("| # Send RFC 2833 DTMF | cl List ports | d Dump status |"); + puts("| * Send DTMF with INFO | cc Connect port | dd Dump detailed |"); + puts("| dq Dump curr. call quality | cd Disconnect port | dc Dump config |"); + puts("| | V Adjust audio Volume | f Save config |"); + puts("| S Send arbitrary REQUEST | Cp Codec priorities | |"); + puts("+-----------------------------------------------------------------------------+"); +#if PJSUA_HAS_VIDEO + puts("| Video: \"vid help\" for more info |"); + puts("+-----------------------------------------------------------------------------+"); +#endif + puts("| q QUIT L ReLoad sleep MS echo [0|1|txt] n: detect NAT type |"); + puts("+=============================================================================+"); + + i = pjsua_call_get_count(); + printf("You have %d active call%s\n", i, (i>1?"s":"")); + + if (current_call != PJSUA_INVALID_ID) { + pjsua_call_info ci; + if (pjsua_call_get_info(current_call, &ci)==PJ_SUCCESS) + printf("Current call id=%d to %.*s [%.*s]\n", current_call, + (int)ci.remote_info.slen, ci.remote_info.ptr, + (int)ci.state_text.slen, ci.state_text.ptr); + } +} + +/* Help screen for video */ +#if PJSUA_HAS_VIDEO +static void vid_show_help() +{ + pj_bool_t vid_enabled = (app_config.vid.vid_cnt > 0); + + puts("+=============================================================================+"); + puts("| Video commands: |"); + puts("| |"); + puts("| vid help Show this help screen |"); + puts("| vid enable|disable Enable or disable video in next offer/answer |"); + puts("| vid acc show Show current account video settings |"); + puts("| vid acc autorx on|off Automatically show incoming video on/off |"); + puts("| vid acc autotx on|off Automatically offer video on/off |"); + puts("| vid acc cap ID Set default capture device for current acc |"); + puts("| vid acc rend ID Set default renderer device for current acc |"); + puts("| vid call rx on|off N Enable/disable video RX for stream N in curr call |"); + puts("| vid call tx on|off N Enable/disable video TX for stream N in curr call |"); + puts("| vid call add Add video stream for current call |"); + puts("| vid call enable|disable N Enable/disable stream #N in current call |"); + puts("| vid call cap N ID Set capture dev ID for stream #N in current call |"); + puts("| vid dev list List all video devices |"); + puts("| vid dev refresh Refresh video device list |"); + puts("| vid dev prev on|off ID Enable/disable preview for specified device ID |"); + puts("| vid codec list List video codecs |"); + puts("| vid codec prio ID PRIO Set codec ID priority to PRIO |"); + puts("| vid codec fps ID NUM DEN Set codec ID framerate to (NUM/DEN) fps |"); + puts("| vid codec bw ID AVG MAX Set codec ID bitrate to AVG & MAX kbps |"); + puts("| vid codec size ID W H Set codec ID size/resolution to W x H |"); + puts("| vid win list List all active video windows |"); + puts("| vid win arrange Auto arrange windows |"); + puts("| vid win show|hide ID Show/hide the specified video window ID |"); + puts("| vid win move ID X Y Move window ID to position X,Y |"); + puts("| vid win resize ID w h Resize window ID to the specified width, height |"); + puts("+=============================================================================+"); + printf("| Video will be %s in the next offer/answer %s |\n", + (vid_enabled? "enabled" : "disabled"), (vid_enabled? " " : "")); + puts("+=============================================================================+"); +} + +static void vid_handle_menu(char *menuin) +{ + char *argv[8]; + int argc = 0; + + /* Tokenize */ + argv[argc] = strtok(menuin, " \t\r\n"); + while (argv[argc] && *argv[argc]) { + argc++; + argv[argc] = strtok(NULL, " \t\r\n"); + } + + if (argc == 1 || strcmp(argv[1], "help")==0) { + vid_show_help(); + } else if (argc == 2 && (strcmp(argv[1], "enable")==0 || + strcmp(argv[1], "disable")==0)) + { + pj_bool_t enabled = (strcmp(argv[1], "enable")==0); + app_config.vid.vid_cnt = (enabled ? 1 : 0); + PJ_LOG(3,(THIS_FILE, "Video will be %s in next offer/answer", + (enabled?"enabled":"disabled"))); + } else if (strcmp(argv[1], "acc")==0) { + pjsua_acc_config acc_cfg; + pj_bool_t changed = PJ_FALSE; + pj_pool_t *tmp_pool = pjsua_pool_create("tmp-pjsua", 1000, 1000); + + pjsua_acc_get_config(current_acc, tmp_pool, &acc_cfg); + + if (argc == 3 && strcmp(argv[2], "show")==0) { + app_config_show_video(current_acc, &acc_cfg); + } else if (argc == 4 && strcmp(argv[2], "autorx")==0) { + int on = (strcmp(argv[3], "on")==0); + acc_cfg.vid_in_auto_show = on; + changed = PJ_TRUE; + } else if (argc == 4 && strcmp(argv[2], "autotx")==0) { + int on = (strcmp(argv[3], "on")==0); + acc_cfg.vid_out_auto_transmit = on; + changed = PJ_TRUE; + } else if (argc == 4 && strcmp(argv[2], "cap")==0) { + int dev = atoi(argv[3]); + acc_cfg.vid_cap_dev = dev; + changed = PJ_TRUE; + } else if (argc == 4 && strcmp(argv[2], "rend")==0) { + int dev = atoi(argv[3]); + acc_cfg.vid_rend_dev = dev; + changed = PJ_TRUE; + } else { + pj_pool_release(tmp_pool); + goto on_error; + } + + if (changed) { + pj_status_t status = pjsua_acc_modify(current_acc, &acc_cfg); + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Error modifying account %d", + current_acc)); + } + pj_pool_release(tmp_pool); + + } else if (strcmp(argv[1], "call")==0) { + pjsua_call_vid_strm_op_param param; + pj_status_t status = PJ_SUCCESS; + + pjsua_call_vid_strm_op_param_default(¶m); + + if (argc == 5 && strcmp(argv[2], "rx")==0) { + pjsua_stream_info si; + pj_bool_t on = (strcmp(argv[3], "on") == 0); + + param.med_idx = atoi(argv[4]); + if (pjsua_call_get_stream_info(current_call, param.med_idx, &si) || + si.type != PJMEDIA_TYPE_VIDEO) + { + PJ_PERROR(1,(THIS_FILE, PJ_EINVAL, "Invalid stream")); + return; + } + + if (on) param.dir = (si.info.vid.dir | PJMEDIA_DIR_DECODING); + else param.dir = (si.info.vid.dir & PJMEDIA_DIR_ENCODING); + + status = pjsua_call_set_vid_strm(current_call, + PJSUA_CALL_VID_STRM_CHANGE_DIR, + ¶m); + } + else if (argc == 5 && strcmp(argv[2], "tx")==0) { + pj_bool_t on = (strcmp(argv[3], "on") == 0); + pjsua_call_vid_strm_op op = on? PJSUA_CALL_VID_STRM_START_TRANSMIT : + PJSUA_CALL_VID_STRM_STOP_TRANSMIT; + + param.med_idx = atoi(argv[4]); + + status = pjsua_call_set_vid_strm(current_call, op, ¶m); + } + else if (argc == 3 && strcmp(argv[2], "add")==0) { + status = pjsua_call_set_vid_strm(current_call, + PJSUA_CALL_VID_STRM_ADD, NULL); + } + else if (argc >= 3 && + (strcmp(argv[2], "disable")==0 || strcmp(argv[2], "enable")==0)) + { + pj_bool_t enable = (strcmp(argv[2], "enable") == 0); + pjsua_call_vid_strm_op op = enable? PJSUA_CALL_VID_STRM_CHANGE_DIR : + PJSUA_CALL_VID_STRM_REMOVE; + + param.med_idx = argc >= 4? atoi(argv[3]) : -1; + param.dir = PJMEDIA_DIR_ENCODING_DECODING; + status = pjsua_call_set_vid_strm(current_call, op, ¶m); + } + else if (argc >= 3 && strcmp(argv[2], "cap")==0) { + param.med_idx = argc >= 4? atoi(argv[3]) : -1; + param.cap_dev = argc >= 5? atoi(argv[4]) : PJMEDIA_VID_DEFAULT_CAPTURE_DEV; + status = pjsua_call_set_vid_strm(current_call, + PJSUA_CALL_VID_STRM_CHANGE_CAP_DEV, + ¶m); + } else + goto on_error; + + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, status, "Error modifying video stream")); + } + + } else if (argc >= 3 && strcmp(argv[1], "dev")==0) { + if (strcmp(argv[2], "list")==0) { + vid_list_devs(); + } else if (strcmp(argv[2], "refresh")==0) { + pjmedia_vid_dev_refresh(); + } else if (strcmp(argv[2], "prev")==0) { + if (argc != 5) { + goto on_error; + } else { + pj_bool_t on = (strcmp(argv[3], "on") == 0); + int dev_id = atoi(argv[4]); + if (on) { + pjsua_vid_preview_param param; + + pjsua_vid_preview_param_default(¶m); + param.wnd_flags = PJMEDIA_VID_DEV_WND_BORDER | + PJMEDIA_VID_DEV_WND_RESIZABLE; + pjsua_vid_preview_start(dev_id, ¶m); + arrange_window(pjsua_vid_preview_get_win(dev_id)); + } else { + pjsua_vid_win_id wid; + wid = pjsua_vid_preview_get_win(dev_id); + if (wid != PJSUA_INVALID_ID) { + /* Preview window hiding once it is stopped is + * responsibility of app */ + pjsua_vid_win_set_show(wid, PJ_FALSE); + pjsua_vid_preview_stop(dev_id); + } + } + } + } else + goto on_error; + } else if (strcmp(argv[1], "win")==0) { + pj_status_t status = PJ_SUCCESS; + + if (argc==3 && strcmp(argv[2], "list")==0) { + pjsua_vid_win_id wids[PJSUA_MAX_VID_WINS]; + unsigned i, cnt = PJ_ARRAY_SIZE(wids); + + pjsua_vid_enum_wins(wids, &cnt); + + PJ_LOG(3,(THIS_FILE, "Found %d video windows:", cnt)); + PJ_LOG(3,(THIS_FILE, "WID show pos size")); + PJ_LOG(3,(THIS_FILE, "------------------------------")); + for (i = 0; i < cnt; ++i) { + pjsua_vid_win_info wi; + pjsua_vid_win_get_info(wids[i], &wi); + PJ_LOG(3,(THIS_FILE, "%3d %c (%d,%d) %dx%d", + wids[i], (wi.show?'Y':'N'), wi.pos.x, wi.pos.y, + wi.size.w, wi.size.h)); + } + } else if (argc==4 && (strcmp(argv[2], "show")==0 || + strcmp(argv[2], "hide")==0)) + { + pj_bool_t show = (strcmp(argv[2], "show")==0); + pjsua_vid_win_id wid = atoi(argv[3]); + status = pjsua_vid_win_set_show(wid, show); + } else if (argc==6 && strcmp(argv[2], "move")==0) { + pjsua_vid_win_id wid = atoi(argv[3]); + pjmedia_coord pos; + + pos.x = atoi(argv[4]); + pos.y = atoi(argv[5]); + status = pjsua_vid_win_set_pos(wid, &pos); + } else if (argc==6 && strcmp(argv[2], "resize")==0) { + pjsua_vid_win_id wid = atoi(argv[3]); + pjmedia_rect_size size; + + size.w = atoi(argv[4]); + size.h = atoi(argv[5]); + status = pjsua_vid_win_set_size(wid, &size); + } else if (argc==3 && strcmp(argv[2], "arrange")==0) { + arrange_window(PJSUA_INVALID_ID); + } else + goto on_error; + + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, status, "Window operation error")); + } + + } else if (strcmp(argv[1], "codec")==0) { + pjsua_codec_info ci[PJMEDIA_CODEC_MGR_MAX_CODECS]; + unsigned count = PJ_ARRAY_SIZE(ci); + pj_status_t status; + + if (argc==3 && strcmp(argv[2], "list")==0) { + status = pjsua_vid_enum_codecs(ci, &count); + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, status, "Error enumerating codecs")); + } else { + unsigned i; + PJ_LOG(3,(THIS_FILE, "Found %d video codecs:", count)); + PJ_LOG(3,(THIS_FILE, "codec id prio fps bw(kbps) size")); + PJ_LOG(3,(THIS_FILE, "------------------------------------------")); + for (i=0; i<count; ++i) { + pjmedia_vid_codec_param cp; + pjmedia_video_format_detail *vfd; + + status = pjsua_vid_codec_get_param(&ci[i].codec_id, &cp); + if (status != PJ_SUCCESS) + continue; + + vfd = pjmedia_format_get_video_format_detail(&cp.enc_fmt, + PJ_TRUE); + PJ_LOG(3,(THIS_FILE, "%.*s%.*s %3d %7.2f %4d/%4d %dx%d", + (int)ci[i].codec_id.slen, ci[i].codec_id.ptr, + 13-(int)ci[i].codec_id.slen, " ", + ci[i].priority, + (vfd->fps.num*1.0/vfd->fps.denum), + vfd->avg_bps/1000, vfd->max_bps/1000, + vfd->size.w, vfd->size.h)); + } + } + } else if (argc==5 && strcmp(argv[2], "prio")==0) { + pj_str_t cid; + int prio; + cid = pj_str(argv[3]); + prio = atoi(argv[4]); + status = pjsua_vid_codec_set_priority(&cid, (pj_uint8_t)prio); + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Set codec priority error")); + } else if (argc==6 && strcmp(argv[2], "fps")==0) { + pjmedia_vid_codec_param cp; + pj_str_t cid; + int M, N; + cid = pj_str(argv[3]); + M = atoi(argv[4]); + N = atoi(argv[5]); + status = pjsua_vid_codec_get_param(&cid, &cp); + if (status == PJ_SUCCESS) { + cp.enc_fmt.det.vid.fps.num = M; + cp.enc_fmt.det.vid.fps.denum = N; + status = pjsua_vid_codec_set_param(&cid, &cp); + } + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Set codec framerate error")); + } else if (argc==6 && strcmp(argv[2], "bw")==0) { + pjmedia_vid_codec_param cp; + pj_str_t cid; + int M, N; + cid = pj_str(argv[3]); + M = atoi(argv[4]); + N = atoi(argv[5]); + status = pjsua_vid_codec_get_param(&cid, &cp); + if (status == PJ_SUCCESS) { + cp.enc_fmt.det.vid.avg_bps = M * 1000; + cp.enc_fmt.det.vid.max_bps = N * 1000; + status = pjsua_vid_codec_set_param(&cid, &cp); + } + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Set codec bitrate error")); + } else if (argc==6 && strcmp(argv[2], "size")==0) { + pjmedia_vid_codec_param cp; + pj_str_t cid; + int M, N; + cid = pj_str(argv[3]); + M = atoi(argv[4]); + N = atoi(argv[5]); + status = pjsua_vid_codec_get_param(&cid, &cp); + if (status == PJ_SUCCESS) { + cp.enc_fmt.det.vid.size.w = M; + cp.enc_fmt.det.vid.size.h = N; + status = pjsua_vid_codec_set_param(&cid, &cp); + } + if (status != PJ_SUCCESS) + PJ_PERROR(1,(THIS_FILE, status, "Set codec size error")); + } else + goto on_error; + } else + goto on_error; + + return; + +on_error: + PJ_LOG(1,(THIS_FILE, "Invalid command, use 'vid help'")); +} + +#endif /* PJSUA_HAS_VIDEO */ + +/** UI Command **/ +static void ui_make_new_call() +{ + char buf[128]; + pjsua_msg_data msg_data; + input_result result; + pj_str_t tmp; + + printf("(You currently have %d calls)\n", pjsua_call_get_count()); + + ui_input_url("Make call", buf, sizeof(buf), &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + + if (result.nb_result == -1 || result.nb_result == 0) { + puts("You can't do that with make call!"); + return; + } else { + pjsua_buddy_info binfo; + pjsua_buddy_get_info(result.nb_result-1, &binfo); + tmp.ptr = buf; + pj_strncpy(&tmp, &binfo.uri, sizeof(buf)); + } + + } else if (result.uri_result) { + tmp = pj_str(result.uri_result); + } else { + tmp.slen = 0; + } + + pjsua_msg_data_init(&msg_data); + TEST_MULTIPART(&msg_data); + pjsua_call_make_call(current_acc, &tmp, &call_opt, NULL, + &msg_data, ¤t_call); +} + +static void ui_make_multi_call() +{ + char menuin[32]; + int count; + char buf[128]; + input_result result; + pj_str_t tmp; + int i; + + printf("(You currently have %d calls)\n", pjsua_call_get_count()); + + if (!simple_input("Number of calls", menuin, sizeof(menuin))) + return; + + count = my_atoi(menuin); + if (count < 1) + return; + + ui_input_url("Make call", buf, sizeof(buf), &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + pjsua_buddy_info binfo; + if (result.nb_result == -1 || result.nb_result == 0) { + puts("You can't do that with make call!"); + return; + } + pjsua_buddy_get_info(result.nb_result-1, &binfo); + tmp.ptr = buf; + pj_strncpy(&tmp, &binfo.uri, sizeof(buf)); + } else { + tmp = pj_str(result.uri_result); + } + + for (i=0; i<my_atoi(menuin); ++i) { + pj_status_t status; + + status = pjsua_call_make_call(current_acc, &tmp, &call_opt, NULL, + NULL, NULL); + if (status != PJ_SUCCESS) + break; + } +} + +static void ui_detect_nat_type() +{ + int i = pjsua_detect_nat_type(); + if (i != PJ_SUCCESS) + pjsua_perror(THIS_FILE, "Error", i); +} + +static void ui_send_instant_message() +{ + char *uri = NULL; + /* i is for call index to send message, if any */ + int i = -1; + input_result result; + char buf[128]; + char text[128]; + pj_str_t tmp; + + /* Input destination. */ + ui_input_url("Send IM to", buf, sizeof(buf), &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + + if (result.nb_result == -1) { + puts("You can't send broadcast IM like that!"); + return; + + } else if (result.nb_result == 0) { + i = current_call; + } else { + pjsua_buddy_info binfo; + pjsua_buddy_get_info(result.nb_result-1, &binfo); + tmp.ptr = buf; + pj_strncpy_with_null(&tmp, &binfo.uri, sizeof(buf)); + uri = buf; + } + + } else if (result.uri_result) { + uri = result.uri_result; + } + + + /* Send typing indication. */ + if (i != -1) + pjsua_call_send_typing_ind(i, PJ_TRUE, NULL); + else { + pj_str_t tmp_uri = pj_str(uri); + pjsua_im_typing(current_acc, &tmp_uri, PJ_TRUE, NULL); + } + + /* Input the IM . */ + if (!simple_input("Message", text, sizeof(text))) { + /* + * Cancelled. + * Send typing notification too, saying we're not typing. + */ + if (i != -1) + pjsua_call_send_typing_ind(i, PJ_FALSE, NULL); + else { + pj_str_t tmp_uri = pj_str(uri); + pjsua_im_typing(current_acc, &tmp_uri, PJ_FALSE, NULL); + } + return; + } + + tmp = pj_str(text); + + /* Send the IM */ + if (i != -1) + pjsua_call_send_im(i, NULL, &tmp, NULL, NULL); + else { + pj_str_t tmp_uri = pj_str(uri); + pjsua_im_send(current_acc, &tmp_uri, NULL, &tmp, NULL, NULL); + } +} + +static void ui_answer_call() +{ + pjsua_call_info call_info; + char buf[128]; + pjsua_msg_data msg_data; + + if (current_call != -1) { + pjsua_call_get_info(current_call, &call_info); + } else { + /* Make compiler happy */ + call_info.role = PJSIP_ROLE_UAC; + call_info.state = PJSIP_INV_STATE_DISCONNECTED; + } + + if (current_call == -1 || + call_info.role != PJSIP_ROLE_UAS || + call_info.state >= PJSIP_INV_STATE_CONNECTING) + { + puts("No pending incoming call"); + fflush(stdout); + return; + + } else { + int st_code; + char contact[120]; + pj_str_t hname = { "Contact", 7 }; + pj_str_t hvalue; + pjsip_generic_string_hdr hcontact; + + if (!simple_input("Answer with code (100-699)", buf, sizeof(buf))) + return; + + st_code = my_atoi(buf); + if (st_code < 100) + return; + + pjsua_msg_data_init(&msg_data); + + if (st_code/100 == 3) { + if (!simple_input("Enter URL to be put in Contact", + contact, sizeof(contact))) + return; + hvalue = pj_str(contact); + pjsip_generic_string_hdr_init2(&hcontact, &hname, &hvalue); + + pj_list_push_back(&msg_data.hdr_list, &hcontact); + } + + /* + * Must check again! + * Call may have been disconnected while we're waiting for + * keyboard input. + */ + if (current_call == -1) { + puts("Call has been disconnected"); + fflush(stdout); + return; + } + + pjsua_call_answer2(current_call, &call_opt, st_code, NULL, &msg_data); + } +} + +static void ui_hangup_call(char menuin[]) +{ + if (current_call == -1) { + puts("No current call"); + fflush(stdout); + return; + + } else if (menuin[1] == 'a') { + /* Hangup all calls */ + pjsua_call_hangup_all(); + } else { + /* Hangup current calls */ + pjsua_call_hangup(current_call, 0, NULL, NULL); + } +} + +static void ui_cycle_dialog(char menuin[]) +{ + if (menuin[0] == ']') { + find_next_call(); + + } else { + find_prev_call(); + } + + if (current_call != -1) { + pjsua_call_info call_info; + + pjsua_call_get_info(current_call, &call_info); + PJ_LOG(3,(THIS_FILE,"Current dialog: %.*s", + (int)call_info.remote_info.slen, + call_info.remote_info.ptr)); + + } else { + PJ_LOG(3,(THIS_FILE,"No current dialog")); + } +} + +static void ui_cycle_account() +{ + int i; + char buf[128]; + + if (!simple_input("Enter account ID to select", buf, sizeof(buf))) + return; + + i = my_atoi(buf); + if (pjsua_acc_is_valid(i)) { + pjsua_acc_set_default(i); + PJ_LOG(3,(THIS_FILE, "Current account changed to %d", i)); + } else { + PJ_LOG(3,(THIS_FILE, "Invalid account id %d", i)); + } +} + +static void ui_add_buddy() +{ + char buf[128]; + pjsua_buddy_config buddy_cfg; + pjsua_buddy_id buddy_id; + pj_status_t status; + + if (!simple_input("Enter buddy's URI:", buf, sizeof(buf))) + return; + + if (pjsua_verify_url(buf) != PJ_SUCCESS) { + printf("Invalid URI '%s'\n", buf); + return; + } + + pj_bzero(&buddy_cfg, sizeof(pjsua_buddy_config)); + + buddy_cfg.uri = pj_str(buf); + buddy_cfg.subscribe = PJ_TRUE; + + status = pjsua_buddy_add(&buddy_cfg, &buddy_id); + if (status == PJ_SUCCESS) { + printf("New buddy '%s' added at index %d\n", + buf, buddy_id+1); + } +} + +static void ui_add_account(pjsua_transport_config *rtp_cfg) +{ + char id[80], registrar[80], realm[80], uname[80], passwd[30]; + pjsua_acc_config acc_cfg; + pj_status_t status; + + if (!simple_input("Your SIP URL:", id, sizeof(id))) + return; + if (!simple_input("URL of the registrar:", registrar, sizeof(registrar))) + return; + if (!simple_input("Auth Realm:", realm, sizeof(realm))) + return; + if (!simple_input("Auth Username:", uname, sizeof(uname))) + return; + if (!simple_input("Auth Password:", passwd, sizeof(passwd))) + return; + + pjsua_acc_config_default(&acc_cfg); + acc_cfg.id = pj_str(id); + acc_cfg.reg_uri = pj_str(registrar); + acc_cfg.cred_count = 1; + acc_cfg.cred_info[0].scheme = pj_str("Digest"); + acc_cfg.cred_info[0].realm = pj_str(realm); + acc_cfg.cred_info[0].username = pj_str(uname); + acc_cfg.cred_info[0].data_type = 0; + acc_cfg.cred_info[0].data = pj_str(passwd); + + acc_cfg.rtp_cfg = *rtp_cfg; + app_config_init_video(&acc_cfg); + + status = pjsua_acc_add(&acc_cfg, PJ_TRUE, NULL); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Error adding new account", status); + } +} + +static void ui_delete_buddy() +{ + char buf[128]; + int i; + + if (!simple_input("Enter buddy ID to delete", buf, sizeof(buf))) + return; + + i = my_atoi(buf) - 1; + + if (!pjsua_buddy_is_valid(i)) { + printf("Invalid buddy id %d\n", i); + } else { + pjsua_buddy_del(i); + printf("Buddy %d deleted\n", i); + } +} + +static void ui_delete_account() +{ + char buf[128]; + int i; + + if (!simple_input("Enter account ID to delete", buf, sizeof(buf))) + return; + + i = my_atoi(buf); + + if (!pjsua_acc_is_valid(i)) { + printf("Invalid account id %d\n", i); + } else { + pjsua_acc_del(i); + printf("Account %d deleted\n", i); + } +} + +static void ui_call_hold() +{ + if (current_call != -1) { + pjsua_call_set_hold(current_call, NULL); + } else { + PJ_LOG(3,(THIS_FILE, "No current call")); + } +} + +static void ui_call_reinvite() +{ + call_opt.flag |= PJSUA_CALL_UNHOLD; + pjsua_call_reinvite2(current_call, &call_opt, NULL); +} + +static void ui_send_update() +{ + if (current_call != -1) { + pjsua_call_update2(current_call, &call_opt, NULL); + } else { + PJ_LOG(3,(THIS_FILE, "No current call")); + } +} + +/* + * Change codec priorities. + */ +static void ui_manage_codec_prio() +{ + pjsua_codec_info c[32]; + unsigned i, count = PJ_ARRAY_SIZE(c); + char input[32]; + char *codec, *prio; + pj_str_t id; + int new_prio; + pj_status_t status; + + printf("List of audio codecs:\n"); + pjsua_enum_codecs(c, &count); + for (i=0; i<count; ++i) { + printf(" %d\t%.*s\n", c[i].priority, (int)c[i].codec_id.slen, + c[i].codec_id.ptr); + } + +#if PJSUA_HAS_VIDEO + puts(""); + printf("List of video codecs:\n"); + pjsua_vid_enum_codecs(c, &count); + for (i=0; i<count; ++i) { + printf(" %d\t%.*s%s%.*s\n", c[i].priority, + (int)c[i].codec_id.slen, + c[i].codec_id.ptr, + c[i].desc.slen? " - ":"", + (int)c[i].desc.slen, + c[i].desc.ptr); + } +#endif + + puts(""); + puts("Enter codec id and its new priority (e.g. \"speex/16000 200\", " + """\"H263 200\"),"); + puts("or empty to cancel."); + + printf("Codec name (\"*\" for all) and priority: "); + if (fgets(input, sizeof(input), stdin) == NULL) + return; + if (input[0]=='\r' || input[0]=='\n') { + puts("Done"); + return; + } + + codec = strtok(input, " \t\r\n"); + prio = strtok(NULL, " \r\n"); + + if (!codec || !prio) { + puts("Invalid input"); + return; + } + + new_prio = atoi(prio); + if (new_prio < 0) + new_prio = 0; + else if (new_prio > PJMEDIA_CODEC_PRIO_HIGHEST) + new_prio = PJMEDIA_CODEC_PRIO_HIGHEST; + + status = pjsua_codec_set_priority(pj_cstr(&id, codec), + (pj_uint8_t)new_prio); +#if PJSUA_HAS_VIDEO + if (status != PJ_SUCCESS) { + status = pjsua_vid_codec_set_priority(pj_cstr(&id, codec), + (pj_uint8_t)new_prio); + } +#endif + if (status != PJ_SUCCESS) + pjsua_perror(THIS_FILE, "Error setting codec priority", status); +} + +static void ui_call_transfer(pj_bool_t no_refersub) +{ + if (current_call == -1) { + PJ_LOG(3,(THIS_FILE, "No current call")); + } else { + int call = current_call; + char buf[128]; + pjsip_generic_string_hdr refer_sub; + pj_str_t STR_REFER_SUB = { "Refer-Sub", 9 }; + pj_str_t STR_FALSE = { "false", 5 }; + pjsua_call_info ci; + input_result result; + pjsua_msg_data msg_data; + + pjsua_call_get_info(current_call, &ci); + printf("Transferring current call [%d] %.*s\n", current_call, + (int)ci.remote_info.slen, ci.remote_info.ptr); + + ui_input_url("Transfer to URL", buf, sizeof(buf), &result); + + /* Check if call is still there. */ + + if (call != current_call) { + puts("Call has been disconnected"); + return; + } + + pjsua_msg_data_init(&msg_data); + if (no_refersub) { + /* Add Refer-Sub: false in outgoing REFER request */ + pjsip_generic_string_hdr_init2(&refer_sub, &STR_REFER_SUB, + &STR_FALSE); + pj_list_push_back(&msg_data.hdr_list, &refer_sub); + } + if (result.nb_result != PJSUA_APP_NO_NB) { + if (result.nb_result == -1 || result.nb_result == 0) + puts("You can't do that with transfer call!"); + else { + pjsua_buddy_info binfo; + pjsua_buddy_get_info(result.nb_result-1, &binfo); + pjsua_call_xfer( current_call, &binfo.uri, &msg_data); + } + + } else if (result.uri_result) { + pj_str_t tmp; + tmp = pj_str(result.uri_result); + pjsua_call_xfer( current_call, &tmp, &msg_data); + } + } +} + +static void ui_call_transfer_replaces(pj_bool_t no_refersub) +{ + if (current_call == -1) { + PJ_LOG(3,(THIS_FILE, "No current call")); + } else { + int call = current_call; + int dst_call; + pjsip_generic_string_hdr refer_sub; + pj_str_t STR_REFER_SUB = { "Refer-Sub", 9 }; + pj_str_t STR_FALSE = { "false", 5 }; + pjsua_call_id ids[PJSUA_MAX_CALLS]; + pjsua_call_info ci; + pjsua_msg_data msg_data; + char buf[128]; + unsigned i, count; + + count = PJ_ARRAY_SIZE(ids); + pjsua_enum_calls(ids, &count); + + if (count <= 1) { + puts("There are no other calls"); + return; + } + + pjsua_call_get_info(current_call, &ci); + printf("Transfer call [%d] %.*s to one of the following:\n", + current_call, + (int)ci.remote_info.slen, ci.remote_info.ptr); + + for (i=0; i<count; ++i) { + pjsua_call_info call_info; + + if (ids[i] == call) + continue; + + pjsua_call_get_info(ids[i], &call_info); + printf("%d %.*s [%.*s]\n", + ids[i], + (int)call_info.remote_info.slen, + call_info.remote_info.ptr, + (int)call_info.state_text.slen, + call_info.state_text.ptr); + } + + if (!simple_input("Enter call number to be replaced", buf, sizeof(buf))) + return; + + dst_call = my_atoi(buf); + + /* Check if call is still there. */ + + if (call != current_call) { + puts("Call has been disconnected"); + return; + } + + /* Check that destination call is valid. */ + if (dst_call == call) { + puts("Destination call number must not be the same " + "as the call being transferred"); + return; + } + if (dst_call >= PJSUA_MAX_CALLS) { + puts("Invalid destination call number"); + return; + } + if (!pjsua_call_is_active(dst_call)) { + puts("Invalid destination call number"); + return; + } + + pjsua_msg_data_init(&msg_data); + if (no_refersub) { + /* Add Refer-Sub: false in outgoing REFER request */ + pjsip_generic_string_hdr_init2(&refer_sub, &STR_REFER_SUB, + &STR_FALSE); + pj_list_push_back(&msg_data.hdr_list, &refer_sub); + } + + pjsua_call_xfer_replaces(call, dst_call, + PJSUA_XFER_NO_REQUIRE_REPLACES, + &msg_data); + } +} + +static void ui_send_dtmf_2833() +{ + if (current_call == -1) { + PJ_LOG(3,(THIS_FILE, "No current call")); + } else if (!pjsua_call_has_media(current_call)) { + PJ_LOG(3,(THIS_FILE, "Media is not established yet!")); + } else { + pj_str_t digits; + int call = current_call; + pj_status_t status; + char buf[128]; + + if (!simple_input("DTMF strings to send (0-9*R#A-B)", buf, + sizeof(buf))) + { + return; + } + + if (call != current_call) { + puts("Call has been disconnected"); + return; + } + + digits = pj_str(buf); + status = pjsua_call_dial_dtmf(current_call, &digits); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Unable to send DTMF", status); + } else { + puts("DTMF digits enqueued for transmission"); + } + } +} + +static void ui_send_dtmf_info() +{ + if (current_call == -1) { + PJ_LOG(3,(THIS_FILE, "No current call")); + } else { + const pj_str_t SIP_INFO = pj_str("INFO"); + pj_str_t digits; + int call = current_call; + int i; + pj_status_t status; + char buf[128]; + + if (!simple_input("DTMF strings to send (0-9*#A-B)", buf, + sizeof(buf))) + { + return; + } + + if (call != current_call) { + puts("Call has been disconnected"); + return; + } + + digits = pj_str(buf); + for (i=0; i<digits.slen; ++i) { + char body[80]; + pjsua_msg_data msg_data; + + pjsua_msg_data_init(&msg_data); + msg_data.content_type = pj_str("application/dtmf-relay"); + + pj_ansi_snprintf(body, sizeof(body), + "Signal=%c\r\n" + "Duration=160", + buf[i]); + msg_data.msg_body = pj_str(body); + + status = pjsua_call_send_request(current_call, &SIP_INFO, + &msg_data); + if (status != PJ_SUCCESS) { + return; + } + } + } +} + +static void ui_send_arbitrary_request() +{ + char text[128]; + char buf[128]; + char *uri; + input_result result; + pj_str_t tmp; + + if (pjsua_acc_get_count() == 0) { + puts("Sorry, need at least one account configured"); + return; + } + + puts("Send arbitrary request to remote host"); + + /* Input METHOD */ + if (!simple_input("Request method:",text,sizeof(text))) + return; + + /* Input destination URI */ + uri = NULL; + ui_input_url("Destination URI", buf, sizeof(buf), &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + + if (result.nb_result == -1) { + puts("Sorry you can't do that!"); + return; + } else if (result.nb_result == 0) { + uri = NULL; + if (current_call == PJSUA_INVALID_ID) { + puts("No current call"); + return; + } + } else { + pjsua_buddy_info binfo; + pjsua_buddy_get_info(result.nb_result-1, &binfo); + tmp.ptr = buf; + pj_strncpy_with_null(&tmp, &binfo.uri, sizeof(buf)); + uri = buf; + } + + } else if (result.uri_result) { + uri = result.uri_result; + } else { + return; + } + + if (uri) { + tmp = pj_str(uri); + send_request(text, &tmp); + } else { + /* If you send call control request using this method + * (such requests includes BYE, CANCEL, etc.), it will + * not go well with the call state, so don't do it + * unless it's for testing. + */ + pj_str_t method = pj_str(text); + pjsua_call_send_request(current_call, &method, NULL); + } +} + +static void ui_echo(char menuin[]) +{ + if (pj_ansi_strnicmp(menuin, "echo", 4)==0) { + pj_str_t tmp; + + tmp.ptr = menuin+5; + tmp.slen = pj_ansi_strlen(menuin)-6; + + if (tmp.slen < 1) { + puts("Usage: echo [0|1]"); + return; + } + cmd_echo = *tmp.ptr != '0' || tmp.slen!=1; + } +} + +static void ui_sleep(char menuin[]) +{ + if (pj_ansi_strnicmp(menuin, "sleep", 5)==0) { + pj_str_t tmp; + int delay; + + tmp.ptr = menuin+6; + tmp.slen = pj_ansi_strlen(menuin)-7; + + if (tmp.slen < 1) { + puts("Usage: sleep MSEC"); + return; + } + + delay = pj_strtoul(&tmp); + if (delay < 0) delay = 0; + pj_thread_sleep(delay); + } +} + +static void ui_subscribe(char menuin[]) +{ + char buf[128]; + input_result result; + + ui_input_url("(un)Subscribe presence of", buf, sizeof(buf), &result); + if (result.nb_result != PJSUA_APP_NO_NB) { + if (result.nb_result == -1) { + int i, count; + count = pjsua_get_buddy_count(); + for (i=0; i<count; ++i) + pjsua_buddy_subscribe_pres(i, menuin[0]=='s'); + } else if (result.nb_result == 0) { + puts("Sorry, can only subscribe to buddy's presence, " + "not from existing call"); + } else { + pjsua_buddy_subscribe_pres(result.nb_result-1, (menuin[0]=='s')); + } + + } else if (result.uri_result) { + puts("Sorry, can only subscribe to buddy's presence, " + "not arbitrary URL (for now)"); + } +} + +static void ui_register(char menuin[]) +{ + switch (menuin[1]) { + case 'r': + /* + * Re-Register. + */ + pjsua_acc_set_registration(current_acc, PJ_TRUE); + break; + case 'u': + /* + * Unregister + */ + pjsua_acc_set_registration(current_acc, PJ_FALSE); + break; + } +} + +static void ui_toggle_state() +{ + pjsua_acc_info acc_info; + + pjsua_acc_get_info(current_acc, &acc_info); + acc_info.online_status = !acc_info.online_status; + pjsua_acc_set_online_status(current_acc, acc_info.online_status); + printf("Setting %s online status to %s\n", + acc_info.acc_uri.ptr, + (acc_info.online_status?"online":"offline")); +} + +/* + * Change extended online status. + */ +static void ui_change_online_status() +{ + char menuin[32]; + pj_bool_t online_status; + pjrpid_element elem; + int choice; + unsigned i; + + enum { + AVAILABLE, BUSY, OTP, IDLE, AWAY, BRB, OFFLINE, OPT_MAX + }; + + struct opt { + int id; + char *name; + } opts[] = { + { AVAILABLE, "Available" }, + { BUSY, "Busy"}, + { OTP, "On the phone"}, + { IDLE, "Idle"}, + { AWAY, "Away"}, + { BRB, "Be right back"}, + { OFFLINE, "Offline"} + }; + + printf("\n" + "Choices:\n"); + for (i=0; i<(unsigned)PJ_ARRAY_SIZE(opts); ++i) { + printf(" %d %s\n", opts[i].id+1, opts[i].name); + } + + if (!simple_input("Select status", menuin, sizeof(menuin))) + return; + + choice = atoi(menuin) - 1; + if (choice < 0 || choice >= OPT_MAX) { + puts("Invalid selection"); + return; + } + + pj_bzero(&elem, sizeof(elem)); + elem.type = PJRPID_ELEMENT_TYPE_PERSON; + + online_status = PJ_TRUE; + + switch (choice) { + case AVAILABLE: + break; + case BUSY: + elem.activity = PJRPID_ACTIVITY_BUSY; + elem.note = pj_str("Busy"); + break; + case OTP: + elem.activity = PJRPID_ACTIVITY_BUSY; + elem.note = pj_str("On the phone"); + break; + case IDLE: + elem.activity = PJRPID_ACTIVITY_UNKNOWN; + elem.note = pj_str("Idle"); + break; + case AWAY: + elem.activity = PJRPID_ACTIVITY_AWAY; + elem.note = pj_str("Away"); + break; + case BRB: + elem.activity = PJRPID_ACTIVITY_UNKNOWN; + elem.note = pj_str("Be right back"); + break; + case OFFLINE: + online_status = PJ_FALSE; + break; + } + + pjsua_acc_set_online_status2(current_acc, online_status, &elem); +} + +/* + * List the ports in conference bridge + */ +static void ui_conf_list() +{ + unsigned i, count; + pjsua_conf_port_id id[PJSUA_MAX_CALLS]; + + printf("Conference ports:\n"); + + count = PJ_ARRAY_SIZE(id); + pjsua_enum_conf_ports(id, &count); + + for (i=0; i<count; ++i) { + char txlist[PJSUA_MAX_CALLS*4+10]; + unsigned j; + pjsua_conf_port_info info; + + pjsua_conf_get_port_info(id[i], &info); + + txlist[0] = '\0'; + for (j=0; j<info.listener_cnt; ++j) { + char s[10]; + pj_ansi_snprintf(s, sizeof(s), "#%d ", info.listeners[j]); + pj_ansi_strcat(txlist, s); + } + printf("Port #%02d[%2dKHz/%dms/%d] %20.*s transmitting to: %s\n", + info.slot_id, + info.clock_rate/1000, + info.samples_per_frame*1000/info.channel_count/info.clock_rate, + info.channel_count, + (int)info.name.slen, + info.name.ptr, + txlist); + + } + puts(""); +} + +static void ui_conf_connect(char menuin[]) +{ + char tmp[10], src_port[10], dst_port[10]; + pj_status_t status; + int cnt; + const char *src_title, *dst_title; + + cnt = sscanf(menuin, "%s %s %s", tmp, src_port, dst_port); + + if (cnt != 3) { + ui_conf_list(); + + src_title = (menuin[1]=='c'? "Connect src port #": + "Disconnect src port #"); + dst_title = (menuin[1]=='c'? "To dst port #":"From dst port #"); + + if (!simple_input(src_title, src_port, sizeof(src_port))) + return; + + if (!simple_input(dst_title, dst_port, sizeof(dst_port))) + return; + } + + if (menuin[1]=='c') { + status = pjsua_conf_connect(my_atoi(src_port), my_atoi(dst_port)); + } else { + status = pjsua_conf_disconnect(my_atoi(src_port), my_atoi(dst_port)); + } + if (status == PJ_SUCCESS) { + puts("Success"); + } else { + puts("ERROR!!"); + } +} + +static void ui_adjust_volume() +{ + char buf[128]; + char text[128]; + sprintf(buf, "Adjust mic level: [%4.1fx] ", app_config.mic_level); + if (simple_input(buf,text,sizeof(text))) { + char *err; + app_config.mic_level = (float)strtod(text, &err); + pjsua_conf_adjust_rx_level(0, app_config.mic_level); + } + sprintf(buf, "Adjust speaker level: [%4.1fx] ", app_config.speaker_level); + if (simple_input(buf,text,sizeof(text))) { + char *err; + app_config.speaker_level = (float)strtod(text, &err); + pjsua_conf_adjust_tx_level(0, app_config.speaker_level); + } +} + +static void ui_dump_call_quality() +{ + if (current_call != PJSUA_INVALID_ID) { + log_call_dump(current_call); + } else { + PJ_LOG(3,(THIS_FILE, "No current call")); + } +} + +static void ui_dump_configuration() +{ + char settings[2000]; + int len; + + len = write_settings(&app_config, settings, sizeof(settings)); + if (len < 1) + PJ_LOG(1,(THIS_FILE, "Error: not enough buffer")); + else + PJ_LOG(3,(THIS_FILE, "Dumping configuration (%d bytes):\n%s\n", + len, settings)); +} + +static void ui_write_settings() +{ + char settings[2000]; + int len; + char buf[128]; + + len = write_settings(&app_config, settings, sizeof(settings)); + if (len < 1) + PJ_LOG(1,(THIS_FILE, "Error: not enough buffer")); + else { + pj_oshandle_t fd; + pj_status_t status; + + status = pj_file_open(app_config.pool, buf, PJ_O_WRONLY, &fd); + if (status != PJ_SUCCESS) { + pjsua_perror(THIS_FILE, "Unable to open file", status); + } else { + pj_ssize_t size = len; + pj_file_write(fd, settings, &size); + pj_file_close(fd); + + printf("Settings successfully written to '%s'\n", buf); + } + } +} + +/* + * Dump application states. + */ +static void ui_app_dump(pj_bool_t detail) +{ + pjsua_dump(detail); +} + +static void ui_call_redirect(char menuin[]) +{ + if (current_call == PJSUA_INVALID_ID) { + PJ_LOG(3,(THIS_FILE, "No current call")); + } else { + if (!pjsua_call_is_active(current_call)) { + PJ_LOG(1,(THIS_FILE, "Call %d has gone", current_call)); + } else if (menuin[1] == 'a') { + pjsua_call_process_redirect(current_call, + PJSIP_REDIRECT_ACCEPT_REPLACE); + } else if (menuin[1] == 'A') { + pjsua_call_process_redirect(current_call, + PJSIP_REDIRECT_ACCEPT); + } else if (menuin[1] == 'r') { + pjsua_call_process_redirect(current_call, + PJSIP_REDIRECT_REJECT); + } else { + pjsua_call_process_redirect(current_call, + PJSIP_REDIRECT_STOP); + } + } +} + +/* + * Main "user interface" loop. + */ +void legacy_main() +{ + char menuin[80]; + char buf[128]; + + keystroke_help(); + + for (;;) { + + printf(">>> "); + fflush(stdout); + + if (fgets(menuin, sizeof(menuin), stdin) == NULL) { + /* + * Be friendly to users who redirect commands into + * program, when file ends, resume with kbd. + * If exit is desired end script with q for quit + */ + /* Reopen stdin/stdout/stderr to /dev/console */ +#if ((defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0)) && \ + (!defined(PJ_WIN32_WINCE) || PJ_WIN32_WINCE==0) + if (freopen ("CONIN$", "r", stdin) == NULL) { +#else + if (1) { +#endif + puts("Cannot switch back to console from file redirection"); + menuin[0] = 'q'; + menuin[1] = '\0'; + } else { + puts("Switched back to console from file redirection"); + continue; + } + } + + if (cmd_echo) { + printf("%s", menuin); + } + + /* Update call setting */ + pjsua_call_setting_default(&call_opt); + call_opt.aud_cnt = app_config.aud_cnt; + call_opt.vid_cnt = app_config.vid.vid_cnt; + + switch (menuin[0]) { + + case 'm': + /* Make call! : */ + ui_make_new_call(); + break; + + case 'M': + /* Make multiple calls! : */ + ui_make_multi_call(); + break; + + case 'n': + ui_detect_nat_type(); + break; + + case 'i': + /* Send instant messaeg */ + ui_send_instant_message(); + break; + + case 'a': + ui_answer_call(); + break; + + case 'h': + ui_hangup_call(menuin); + break; + + case ']': + case '[': + /* + * Cycle next/prev dialog. + */ + ui_cycle_dialog(menuin); + break; + + case '>': + case '<': + ui_cycle_account(); + break; + + case '+': + if (menuin[1] == 'b') { + ui_add_buddy(); + } else if (menuin[1] == 'a') { + ui_add_account(&app_config.rtp_cfg); + } else { + printf("Invalid input %s\n", menuin); + } + break; + + case '-': + if (menuin[1] == 'b') { + ui_delete_buddy(); + } else if (menuin[1] == 'a') { + ui_delete_account(); + } else { + printf("Invalid input %s\n", menuin); + } + break; + + case 'H': + /* + * Hold call. + */ + ui_call_hold(); + break; + + case 'v': +#if PJSUA_HAS_VIDEO + if (menuin[1]=='i' && menuin[2]=='d' && menuin[3]==' ') { + vid_handle_menu(menuin); + } else +#endif + if (current_call != -1) { + /* + * re-INVITE + */ + ui_call_reinvite(); + } else { + PJ_LOG(3,(THIS_FILE, "No current call")); + } + break; + + case 'U': + /* + * Send UPDATE + */ + ui_send_update(); + break; + + case 'C': + if (menuin[1] == 'p') { + ui_manage_codec_prio(); + } + break; + + case 'x': + /* + * Transfer call. + */ + ui_call_transfer(app_config.no_refersub); + break; + + case 'X': + /* + * Transfer call with replaces. + */ + ui_call_transfer_replaces(app_config.no_refersub); + break; + + case '#': + /* + * Send DTMF strings. + */ + ui_send_dtmf_2833(); + break; + + case '*': + /* Send DTMF with INFO */ + ui_send_dtmf_info(); + break; + + case 'S': + /* + * Send arbitrary request + */ + ui_send_arbitrary_request(); + break; + + case 'e': + ui_echo(menuin); + break; + + case 's': + if (pj_ansi_strnicmp(menuin, "sleep", 5)==0) { + ui_sleep(menuin); + break; + } + /* Continue below */ + + case 'u': + /* + * Subscribe/unsubscribe presence. + */ + ui_subscribe(menuin); + break; + + case 'r': + ui_register(menuin); + break; + + case 't': + ui_toggle_state(); + break; + + case 'T': + ui_change_online_status(); + break; + + case 'c': + switch (menuin[1]) { + case 'l': + ui_conf_list(); + break; + case 'c': + case 'd': + ui_conf_connect(menuin); + break; + } + break; + + case 'V': + /* Adjust audio volume */ + ui_adjust_volume(); + break; + + case 'd': + if (menuin[1] == 'c') { + ui_dump_configuration(); + } else if (menuin[1] == 'q') { + ui_dump_call_quality(); + } else { + ui_app_dump(menuin[1]=='d'); + } + break; + + case 'f': + if (simple_input("Enter output filename", buf, sizeof(buf))) { + ui_write_settings(); + } + break; + + case 'L': /* Restart */ + case 'q': + legacy_on_stopped(menuin[0]=='L'); + goto on_exit; + + case 'R': + ui_call_redirect(menuin); + break; + + default: + if (menuin[0] != '\n' && menuin[0] != '\r') { + printf("Invalid input %s", menuin); + } + keystroke_help(); + break; + } + } + +on_exit: + ; +} diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/application.uidesign b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/application.uidesign similarity index 50% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/application.uidesign rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/application.uidesign index abe5c5a1cdacd5f790ed6e82e485aa5b9afc1a0a..f2bf30e80920ae2287fa10f488d2f39bd2b207ca 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/application.uidesign +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/application.uidesign @@ -1,157 +1,139 @@ -<?xml version="1.0" encoding="UTF-8"?> -<designerData version="1.1.0"> - <componentManifest> - <manifestEntry id="com.nokia.sdt.series60.CAknApplication" version="1.1.0"/> - <manifestEntry id="com.nokia.sdt.series60.NonLayoutBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CAknDocument" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CAknViewAppUi" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CAknAppUi" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CAknAppUiBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.DesignTimeContainer" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StatusPane" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.ControlBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StatusPaneCaption" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitleBase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CBA" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.CBABase" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.AvkonViewReference" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.DesignReference" version="1.0.0"/> - <manifestEntry id="com.nokia.sdt.series60.WaitDialog" version="1.0.0"/> - </componentManifest> - <property id="com.nokia.sdt.symbian.dm.RESOURCE_DIRECTORY_ID">data</property> - <property id="com.nokia.sdt.component.symbian.vendor">com.nokia.series60</property> - <property id="com.nokia.sdt.component.symbian.version">3.0.1</property> - <property id="com.nokia.sdt.symbian.dm.COMPONENT_PROVIDER">com.nokia.sdt.component.symbian.Symbian-Provider</property> - <property id="com.nokia.sdt.symbian.dm.INCLUDE_DIRECTORY_ID">inc</property> - <property id="com.nokia.sdt.symbian.dm.ROOT_CONTAINER">symbian_ua_guiAppUi</property> - <property id="com.nokia.sdt.symbian.dm.SOURCE_DIRECTORY_ID">src</property> - <property id="com.nokia.sdt.symbian.dm.LOCALIZED_FILE_FORMAT">loc</property> - <property id="com.nokia.sdt.symbian.dm.ROOT_APPLICATION_NAME">symbian_ua_gui</property> - <property id="com.nokia.sdt.symbian.dm.SOURCEGEN_PROVIDER">com.nokia.sdt.sourcegen.Symbian-Provider</property> - <property id="com.nokia.sdt.symbian.dm.BUILD_DIRECTORY_ID">group</property> - <component id="com.nokia.sdt.series60.CAknApplication"> - <property id="className">Csymbian_ua_guiApplication</property> - <property id="documentBase">symbian_ua_gui</property> - <property id="name">symbian_ua_guiApplication</property> - <property id="uid">0xEBD12EE4</property> - <component id="com.nokia.sdt.series60.CAknDocument"> - <property id="className">Csymbian_ua_guiDocument</property> - <property id="name">symbian_ua_guiDocument</property> - <component id="com.nokia.sdt.series60.CAknViewAppUi"> - <property id="initialDesign" type="componentRef">aknViewReference2</property> - <property id="className">Csymbian_ua_guiAppUi</property> - <compoundProperty id="location"> - <property id="x">52</property> - <property id="y">45</property> - </compoundProperty> - <property id="name">symbian_ua_guiAppUi</property> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">320</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.StatusPane"> - <compoundProperty id="location"> - <property id="x">20</property> - </compoundProperty> - <property id="name">statusPane</property> - <compoundProperty id="size"> - <property id="width">204</property> - <property id="height">66</property> - </compoundProperty> - <component id="com.nokia.sdt.series60.StatusPaneCaption"> - <property id="shortCaption" type="i18n">STR_symbian_ua_guiApplication_2</property> - <compoundProperty id="location"> - <property id="x">56</property> - </compoundProperty> - <property id="longCaption" type="i18n">STR_symbian_ua_guiApplication_1</property> - <property id="name">caption</property> - <compoundProperty id="size"> - <property id="width">148</property> - <property id="height">43</property> - </compoundProperty> - </component> - </component> - <component id="com.nokia.sdt.series60.CBA"> - <compoundProperty id="location"> - <property id="y">288</property> - </compoundProperty> - <compoundProperty id="info"/> - <property id="name">controlPane</property> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">32</property> - </compoundProperty> - </component> - <component id="com.nokia.sdt.series60.AvkonViewReference"> - <property id="filePath">symbian_ua_guiContainer.uidesign</property> - <property id="baseName">symbian_ua_guiContainer</property> - <compoundProperty id="tabImage"/> - <property id="name">aknViewReference1</property> - </component> - <component id="com.nokia.sdt.series60.AvkonViewReference"> - <property id="filePath">symbian_ua_guiSettingItemList.uidesign</property> - <property id="baseName">symbian_ua_guiSettingItemList</property> - <compoundProperty id="tabImage"/> - <property id="name">aknViewReference2</property> - </component> - <component id="com.nokia.sdt.series60.WaitDialog"> - <compoundProperty id="location"> - <property id="x">0</property> - <property id="y">171</property> - </compoundProperty> - <property id="name">dlg_wait_init</property> - <property id="text" type="i18n">STR_symbian_ua_guiApplication_3</property> - <compoundProperty id="size"> - <property id="width">240</property> - <property id="height">149</property> - </compoundProperty> - <eventBinding id="canceled" handlerDisplay="HandleDlg_wait_initCanceledL" handlerSymbol="cpp@src//symbian_ua_guiAppUi.cpp/function(Csymbian_ua_guiAppUi::HandleDlg_wait_initCanceledL(CAknProgressDialog*))"/> - </component> - </component> - </component> - </component> - <stringBundle> - <stringTable language="LANG_English"> - <string id="STR_symbian_ua_guiApplication_1">symbian_ua_gui</string> - <string id="STR_symbian_ua_guiApplication_2">symbian_ua_gui</string> - <string id="STR_symbian_ua_guiApplication_3">Please wait...</string> - </stringTable> - </stringBundle> - <macroTable/> - <sourceMappingState> - <resourceMappings> - <resourceMapping instanceName="symbian_ua_guiAppUi">r_application_symbian_ua_gui_app_ui</resourceMapping> - <resourceMapping instanceName="statusPane">r_application_status_pane</resourceMapping> - <resourceMapping instanceName="aknViewReference2" rsrcId="tabText">r_application_akn_view_reference2</resourceMapping> - <resourceMapping instanceName="dlg_wait_init">r_application_dlg_wait_init</resourceMapping> - <resourceMapping instanceName="symbian_ua_guiAppUi" rsrcId="localisable_app_info">r_localisable_app_info</resourceMapping> - <resourceMapping instanceName="aknViewReference1" rsrcId="tabText">r_application_akn_view_reference1</resourceMapping> - </resourceMappings> - <enumMappings> - <enumMapping instanceName="aknViewReference2" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">ESymbian_ua_guiSettingItemListViewId</enumMapping> - <enumMapping instanceName="dlg_wait_init" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_DIALOG_LINE_ID">ESymbian_ua_guiApplicationDlg_wait_init</enumMapping> - <enumMapping instanceName="aknViewReference1" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">ESymbian_ua_guiContainerViewId</enumMapping> - </enumMappings> - <arrayMappings/> - </sourceMappingState> - <generatedFiles> - <file>src/symbian_ua_guiAppUi.cpp</file> - <file>src/symbian_ua_guiDocument.cpp</file> - <file>inc/symbian_ua_guiApplication.h</file> - <file>src/symbian_ua_guiApplication.cpp</file> - <file>inc/symbian_ua_guiAppUi.h</file> - <file>inc/symbian_ua_guiDocument.h</file> - <file>data/symbian_ua_gui.rss</file> - <file>data/symbian_ua_guiContainer.rssi</file> - <file>inc/symbian_ua_gui.hrh</file> - <file>inc/symbian_ua_guiContainer.hrh</file> - <file>data/symbian_ua_guiSettingItemList.rssi</file> - <file>inc/symbian_ua_guiSettingItemList.hrh</file> - <file>data/symbian_ua_gui.loc</file> - <file>data/symbian_ua_gui.l01</file> - <file>data/symbian_ua_guiContainer.loc</file> - <file>data/symbian_ua_guiContainer.l01</file> - <file>data/symbian_ua_guiSettingItemList.loc</file> - <file>data/symbian_ua_guiSettingItemList.l01</file> - </generatedFiles> -</designerData> +<?xml version="1.0" encoding="UTF-8"?> +<designerData version="1.1.0"> + <componentManifest> + <manifestEntry id="com.nokia.sdt.series60.CAknApplication" version="1.1.0"/> + <manifestEntry id="com.nokia.sdt.series60.NonLayoutBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CommonBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CAknDocument" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CAknViewAppUi" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CAknAppUi" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CAknAppUiBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.DesignTimeContainer" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.StatusPane" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.ControlBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.StatusPaneCaption" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitleBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CBA" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CBABase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.AvkonViewReference" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.DesignReference" version="1.0.0"/> + </componentManifest> + <property id="com.nokia.sdt.symbian.dm.RESOURCE_DIRECTORY_ID">data</property> + <property id="com.nokia.sdt.component.symbian.version">3.2.0</property> + <property id="com.nokia.sdt.component.symbian.vendor">com.nokia.series60</property> + <property id="com.nokia.sdt.symbian.dm.COMPONENT_PROVIDER">com.nokia.sdt.component.symbian.Symbian-Provider</property> + <property id="com.nokia.sdt.symbian.dm.INCLUDE_DIRECTORY_ID">inc</property> + <property id="com.nokia.sdt.symbian.dm.ROOT_CONTAINER">pjsuaAppUi</property> + <property id="com.nokia.sdt.symbian.dm.SOURCE_DIRECTORY_ID">src</property> + <property id="com.nokia.sdt.symbian.dm.ROOT_APPLICATION_NAME">pjsua</property> + <property id="com.nokia.sdt.symbian.dm.SOURCEGEN_PROVIDER">com.nokia.sdt.sourcegen.Symbian-Provider</property> + <property id="com.nokia.sdt.symbian.dm.BUILD_DIRECTORY_ID">group</property> + <component id="com.nokia.sdt.series60.CAknApplication"> + <property id="className">CpjsuaApplication</property> + <property id="documentBase">pjsua</property> + <property id="name">pjsuaApplication</property> + <property id="uid">0xE44C2D02</property> + <component id="com.nokia.sdt.series60.CAknDocument"> + <property id="className">CpjsuaDocument</property> + <property id="name">pjsuaDocument</property> + <component id="com.nokia.sdt.series60.CAknViewAppUi"> + <property id="initialDesign" type="componentRef">aknViewReference1</property> + <property id="className">CpjsuaAppUi</property> + <compoundProperty id="location"> + <property id="x">51</property> + <property id="y">44</property> + </compoundProperty> + <property id="name">pjsuaAppUi</property> + <compoundProperty id="size"> + <property id="width">240</property> + <property id="height">320</property> + </compoundProperty> + <component id="com.nokia.sdt.series60.StatusPane"> + <compoundProperty id="location"> + <property id="x">20</property> + </compoundProperty> + <property id="name">statusPane</property> + <compoundProperty id="size"> + <property id="width">204</property> + <property id="height">63</property> + </compoundProperty> + <component id="com.nokia.sdt.series60.StatusPaneCaption"> + <property id="shortCaption" type="i18n">STR_pjsuaApplication_5</property> + <compoundProperty id="location"> + <property id="x">56</property> + </compoundProperty> + <property id="longCaption" type="i18n">STR_pjsuaApplication_4</property> + <property id="name">caption</property> + <compoundProperty id="size"> + <property id="width">148</property> + <property id="height">43</property> + </compoundProperty> + </component> + </component> + <component id="com.nokia.sdt.series60.CBA"> + <compoundProperty id="location"> + <property id="y">288</property> + </compoundProperty> + <compoundProperty id="info"> + <property id="leftText" type="i18n">STR_pjsuaApplication_1</property> + <property id="rightText" type="i18n">STR_pjsuaApplication_2</property> + <property id="middleText" type="i18n">STR_pjsuaApplication_3</property> + <property id="leftId"></property> + <property id="rightId">EAknSoftkeyBack</property> + <property id="type">R_AVKON_SOFTKEYS_EXIT</property> + </compoundProperty> + <property id="name">controlPane</property> + <compoundProperty id="size"> + <property id="width">240</property> + <property id="height">32</property> + </compoundProperty> + </component> + <component id="com.nokia.sdt.series60.AvkonViewReference"> + <property id="filePath">pjsuaContainer.uidesign</property> + <compoundProperty id="tabImage"/> + <property id="baseName">pjsuaContainer</property> + <property id="name">aknViewReference1</property> + </component> + </component> + </component> + </component> + <stringBundle> + <stringTable language="LANG_English"> + <string id="STR_pjsuaApplication_1"/> + <string id="STR_pjsuaApplication_2"/> + <string id="STR_pjsuaApplication_3"/> + <string id="STR_pjsuaApplication_4">pjsua</string> + <string id="STR_pjsuaApplication_5">pjsua</string> + </stringTable> + </stringBundle> + <macroTable/> + <sourceMappingState> + <resourceMappings> + <resourceMapping instanceName="pjsuaAppUi">r_application_pjsua_app_ui</resourceMapping> + <resourceMapping instanceName="statusPane">r_application_status_pane</resourceMapping> + <resourceMapping instanceName="pjsuaAppUi" rsrcId="localisable_app_info">r_localisable_app_info</resourceMapping> + <resourceMapping instanceName="aknViewReference1" rsrcId="tabText">r_application_akn_view_reference1</resourceMapping> + </resourceMappings> + <enumMappings> + <enumMapping instanceName="aknViewReference1" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">EPjsuaContainerViewId</enumMapping> + </enumMappings> + <arrayMappings/> + </sourceMappingState> + <generatedFiles> + <file>src/pjsuaapplication.cpp</file> + <file>src/pjsuacontainerview.cpp</file> + <file>src/pjsuadocument.cpp</file> + <file>inc/pjsuadocument.h</file> + <file>inc/pjsuacontainerview.h</file> + <file>inc/pjsuaappui.h</file> + <file>inc/pjsuaapplication.h</file> + <file>src/pjsuaappui.cpp</file> + <file>data/pjsua.rss</file> + <file>data/pjsuacontainer.rssi</file> + <file>inc/pjsua.hrh</file> + <file>data/pjsua.loc</file> + <file>data/pjsua.l01</file> + <file>data/pjsuacontainer.loc</file> + <file>data/pjsuacontainer.l01</file> + </generatedFiles> +</designerData> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua.l01 b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua.l01 new file mode 100644 index 0000000000000000000000000000000000000000..a3855bcb0a9fa303703451ecdc3e3004a06594ac --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua.l01 @@ -0,0 +1,14 @@ +/* +======================================================================== + Name : pjsua.l01 + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +// localized strings for language: UK English (01) +#define STR_pjsuaApplication_4 "pjsua" +#define STR_pjsuaApplication_5 "pjsua" +#define STR_pjsuaApplication_1 "" +#define STR_pjsuaApplication_2 "" +#define STR_pjsuaApplication_3 "" diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.loc b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua.loc similarity index 65% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.loc rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua.loc index d13671ed74f278b65a251e04415342e2dacff8d3..c48d6c1a6dfb0818fecf6eff38c37a24fb80b309 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui.loc +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua.loc @@ -1,11 +1,11 @@ -/* -======================================================================== - Name : symbian_ua_gui.loc - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -#ifdef LANGUAGE_01 -#include "symbian_ua_gui.l01" -#endif +/* +======================================================================== + Name : pjsua.loc + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +#ifdef LANGUAGE_01 +#include "pjsua.l01" +#endif diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua.rss b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua.rss new file mode 100644 index 0000000000000000000000000000000000000000..40031773a8ab83c9d1574e16675e9a70bbe5cc75 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua.rss @@ -0,0 +1,46 @@ +/* +======================================================================== + Name : pjsua.rss + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +NAME PJSU + +#include <avkon.rsg> +#include <avkon.rh> +#include <eikon.rh> +#include <appinfo.rh> +#include "pjsua.hrh" +#include "pjsua.loc" + +RESOURCE RSS_SIGNATURE + { + } +RESOURCE TBUF + { + buf = "pjsua"; + } +RESOURCE EIK_APP_INFO r_application_pjsua_app_ui + { + cba = R_AVKON_SOFTKEYS_EXIT; + status_pane = r_application_status_pane; + } +RESOURCE STATUS_PANE_APP_MODEL r_application_status_pane + { + } +RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info + { + short_caption = STR_pjsuaApplication_5; + caption_and_icon = CAPTION_AND_ICON_INFO + { + caption = STR_pjsuaApplication_4; + number_of_icons = 0; + }; + } +RESOURCE TBUF r_application_akn_view_reference1 + { + } + +#include "pjsuaContainer.rssi" diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsuaContainer.l01 b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsuaContainer.l01 new file mode 100644 index 0000000000000000000000000000000000000000..792282d1dc1b5010910ad6e272fb419640cf4228 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsuaContainer.l01 @@ -0,0 +1,14 @@ +/* +======================================================================== + Name : pjsuaContainer.l01 + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +// localized strings for language: UK English (01) +#define STR_pjsuaContainerView_2 "" +#define STR_pjsuaContainerView_3 "" +#define STR_pjsuaContainerView_4 "pjsuaContainer" +#define STR_pjsuaContainerView_1 "" +#define STR_pjsuaContainerView_5 "Please wait.." diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.loc b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsuaContainer.loc similarity index 62% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.loc rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsuaContainer.loc index 7cf063f7238c62a1271d2e23cac2bd39455f1a5c..119c15b0bc9f7b14128a43341d2ead101a1b5770 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiContainer.loc +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsuaContainer.loc @@ -1,11 +1,11 @@ -/* -======================================================================== - Name : symbian_ua_guiContainer.loc - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -#ifdef LANGUAGE_01 -#include "symbian_ua_guiContainer.l01" -#endif +/* +======================================================================== + Name : pjsuaContainer.loc + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +#ifdef LANGUAGE_01 +#include "pjsuaContainer.l01" +#endif diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsuaContainer.rssi b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsuaContainer.rssi new file mode 100644 index 0000000000000000000000000000000000000000..03fc1970e6f4de31680891db2c350ce9a3068fb4 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsuaContainer.rssi @@ -0,0 +1,28 @@ +#include "pjsuaContainer.loc" + +RESOURCE AVKON_VIEW r_pjsua_container_pjsua_container_view + { + cba = R_AVKON_SOFTKEYS_EXIT; + toolbar = 0; + } +RESOURCE STATUS_PANE_APP_MODEL r_pjsua_container_status_pane + { + panes = + { + SPANE_PANE + { + id = EEikStatusPaneUidTitle; + type = EAknCtTitlePane; + resource = r_pjsua_container_title_resource; + } + }; + } +RESOURCE TITLE_PANE r_pjsua_container_title_resource + { + txt = STR_pjsuaContainerView_4; + } +RESOURCE LABEL r_pjsua_container_label1 + { + txt = STR_pjsuaContainerView_5; + horiz_align = EEikLabelAlignHCenter; + } diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.loc b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua_reg.loc similarity index 53% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.loc rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua_reg.loc index 876b4b5dd55fca9fa8edf26eb92e060a73dd3e06..0299c0962e068c0d63b17e736960125e81fe1dba 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.loc +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua_reg.loc @@ -1,11 +1,11 @@ -// LOCALISATION STRINGS - -// Caption string for app. -#define qtn_caption_string "symbian_ua_gui" - -// Short caption string for app. -#define qtn_short_caption_string "HW" - -#define qtn_loc_resource_file_1 "\\resource\\apps\\symbian_ua_gui" - -// End of File +// LOCALISATION STRINGS + +// Caption string for app. +#define qtn_caption_string "pjsua" + +// Short caption string for app. +#define qtn_short_caption_string "HW" + +#define qtn_loc_resource_file_1 "\\resource\\apps\\pjsua" + +// End of File diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.rss b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua_reg.rss similarity index 72% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.rss rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua_reg.rss index ad50c4fed9888a36928eb7f65d3d441a1bd7bd1e..e91a00b23173e5135972c8b54212be45e07d69ac 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_gui_reg.rss +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/data/pjsua_reg.rss @@ -1,21 +1,21 @@ - -#include <eikon.rh> -#include <avkon.rsg> -#include <avkon.rh> -#include <appinfo.rh> -#include "symbian_ua_gui_reg.loc" -#include <symbian_ua_gui.rsg> - -UID2 KUidAppRegistrationResourceFile -UID3 0xEBD12EE4 - -RESOURCE APP_REGISTRATION_INFO - { - app_file="symbian_ua_gui"; - localisable_resource_file = qtn_loc_resource_file_1; - localisable_resource_id = R_LOCALISABLE_APP_INFO; - - embeddability=KAppNotEmbeddable; - newfile=KAppDoesNotSupportNewFile; - } - + +#include <eikon.rh> +#include <avkon.rsg> +#include <avkon.rh> +#include <appinfo.rh> +#include "pjsua_reg.loc" +#include <pjsua.rsg> + +UID2 KUidAppRegistrationResourceFile +UID3 0xE44C2D02 + +RESOURCE APP_REGISTRATION_INFO + { + app_file="pjsua"; + localisable_resource_file = qtn_loc_resource_file_1; + localisable_resource_id = R_LOCALISABLE_APP_INFO; + + embeddability=KAppNotEmbeddable; + newfile=KAppDoesNotSupportNewFile; + } + diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/list_icon.bmp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/list_icon.bmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/list_icon.bmp rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/list_icon.bmp diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/list_icon_mask.bmp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/list_icon_mask.bmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/list_icon_mask.bmp rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/list_icon_mask.bmp diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/mark_icon.bmp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/mark_icon.bmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/mark_icon.bmp rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/mark_icon.bmp diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/mark_icon_mask.bmp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/mark_icon_mask.bmp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/mark_icon_mask.bmp rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/mark_icon_mask.bmp diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/pjsua.bmp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/pjsua.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c6c202793d0563093b96c0ce71074e2972d79845 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/pjsua.bmp differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/qgn_menu_symbian_ua_gui.svg b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/qgn_menu_pjsua.svg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/gfx/qgn_menu_symbian_ua_gui.svg rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/gfx/qgn_menu_pjsua.svg diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/ABLD.BAT b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/ABLD.BAT similarity index 64% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/ABLD.BAT rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/ABLD.BAT index 8ccf2edf2a7c710f2d8595bc0a58dd22d415076c..70c8b6853c197d161abd6f8a1af3a0fe249a21e1 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/ABLD.BAT +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/ABLD.BAT @@ -1,15 +1,15 @@ -@ECHO OFF - -REM Bldmake-generated batch file - ABLD.BAT -REM ** DO NOT EDIT ** - -perl -S ABLD.PL "\project\pjproject-trunk\pjsip-apps\src\symbian_ua_gui\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9 -if errorlevel==1 goto CheckPerl -goto End - -:CheckPerl -perl -v >NUL -if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed? -goto End - -:End +@ECHO OFF + +REM Bldmake-generated batch file - ABLD.BAT +REM ** DO NOT EDIT ** + +perl -S ABLD.PL "\Users\Teluu\pjsip\trunk\pjsip-apps\src\pjsua\symbian\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9 +if errorlevel==1 goto CheckPerl +goto End + +:CheckPerl +perl -v >NUL +if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed? +goto End + +:End diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/bld.inf b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/bld.inf new file mode 100644 index 0000000000000000000000000000000000000000..ba36d31be12cc002d58ac728089f829c8bc1f481 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/bld.inf @@ -0,0 +1,26 @@ + +PRJ_PLATFORMS +WINSCW ARMV5 GCCE + + +#ifdef SBSV2 + +PRJ_EXTENSIONS + + START EXTENSION s60/mifconv + OPTION TARGETFILE pjsua_0xE44C2D02.mif + OPTION HEADERFILE pjsua_0xE44C2D02.mbg + OPTION SOURCEDIR ../gfx + OPTION SOURCES -c32 qgn_menu_pjsua + END + +#else + +PRJ_MMPFILES + + gnumakefile pjsua_icons.mk + +#endif + +PRJ_MMPFILES +pjsua.mmp diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/pjsua.mmp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/pjsua.mmp new file mode 100644 index 0000000000000000000000000000000000000000..a65981a13222d88a2f1387e4fb87b0f1d025b2fb --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/pjsua.mmp @@ -0,0 +1,105 @@ +// These part may be overwritten by automated test +// =BEGIN +#define SND_HAS_APS 0 +#define SND_HAS_VAS 0 +#define SND_HAS_MDA 1 +// =END + +TARGET pjsua.exe +UID 0x100039CE 0xE44C2D02 +VENDORID 0 +TARGETTYPE exe +EPOCSTACKSIZE 0x5000 + +SYSTEMINCLUDE \epoc32\include \epoc32\include\variant \epoc32\include\ecom +USERINCLUDE ..\inc ..\data + +SOURCEPATH ..\data +START RESOURCE pjsua.rss +HEADER +TARGETPATH resource\apps +END //RESOURCE + +START RESOURCE pjsua_reg.rss +TARGETPATH \private\10003a3f\apps +END //RESOURCE + +LIBRARY euser.lib apparc.lib cone.lib eikcore.lib avkon.lib +LIBRARY commonengine.lib efsrv.lib estor.lib eikcoctl.lib eikdlg.lib +LIBRARY eikctl.lib bafl.lib fbscli.lib aknnotify.lib aknicon.lib +LIBRARY etext.lib gdi.lib egul.lib insock.lib +LIBRARY ecom.lib InetProtUtil.lib http.lib esock.lib + +LANG 01 + +START BITMAP pjsua.mbm + HEADER + TARGETPATH \resource\apps + SOURCEPATH ..\gfx + SOURCE c12,1 list_icon.bmp list_icon_mask.bmp + SOURCE c24 pjsua.bmp +END + +SOURCEPATH ..\src + +#ifdef ENABLE_ABIV2_MODE +DEBUGGABLE_UDEBONLY +#endif + +SOURCE pjsuaContainer.cpp PjsuaContainerView.cpp pjsuaApplication.cpp pjsuaDocument.cpp pjsuaAppUi.cpp + + +/* PJSIP library dependencies */ + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +SYSTEMINCLUDE ..\..\..\..\..\pjlib\include +SYSTEMINCLUDE ..\..\..\..\..\pjlib-util\include +SYSTEMINCLUDE ..\..\..\..\..\pjnath\include +SYSTEMINCLUDE ..\..\..\..\..\pjmedia\include +SYSTEMINCLUDE ..\..\..\..\..\pjsip\include + +SYSTEMINCLUDE \epoc32\include\libc + +LIBRARY estlib.lib charconv.lib hal.lib + +STATICLIBRARY pjsua_lib.lib +STATICLIBRARY pjsip_ua.lib pjsip_simple.lib pjsip.lib +STATICLIBRARY libgsmcodec.lib libspeexcodec.lib +STATICLIBRARY libg7221codec.lib libpassthroughcodec.lib +STATICLIBRARY pjmedia.lib +STATICLIBRARY pjmedia_audiodev.lib +STATICLIBRARY pjsdp.lib +STATICLIBRARY pjnath.lib +STATICLIBRARY pjlib_util.lib pjlib.lib +STATICLIBRARY libsrtp.lib +STATICLIBRARY libresample.lib + +/* Sound device (APS/VAS/MDA) library & capability settings */ +#if SND_HAS_APS + LIBRARY APSSession2.lib +#endif + +#if SND_HAS_VAS + LIBRARY VoIPAudioIntfc.lib +#endif + +#if SND_HAS_MDA + LIBRARY mediaclientaudiostream.lib + LIBRARY mediaclientaudioinputstream.lib +#endif + +#if SND_HAS_APS || SND_HAS_VAS + CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD +#else + CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment +#endif + + +/* PJSUA APP */ + +SOURCEPATH ..\.. + +SOURCE pjsua_app_cli.c pjsua_app_legacy.c +SOURCE pjsua_app.c pjsua_app_common.c pjsua_app_config.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/Icons_aif_scalable_dc.mk b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/pjsua_icons.mk similarity index 85% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/Icons_aif_scalable_dc.mk rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/pjsua_icons.mk index 8aa63c70dd98969fef60b683067d69610fbba280..525ba2198c0a311eb90a6c85c38459399a17ce0e 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/group/Icons_aif_scalable_dc.mk +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/group/pjsua_icons.mk @@ -1,71 +1,75 @@ -# ============================================================================ -# Name : Icons_aif_scalable_dc.mk -# Part of : symbian_ua_gui -# -# Description: -# -# ============================================================================ - - -ifeq (WINS,$(findstring WINS, $(PLATFORM))) -ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z -else -ZDIR=$(EPOCROOT)epoc32\data\z -endif - - -# ---------------------------------------------------------------------------- -# TODO: Configure these -# ---------------------------------------------------------------------------- - -TARGETDIR=$(ZDIR)\resource\apps -ICONTARGETFILENAME=$(TARGETDIR)\symbian_ua_gui_aif.mif -HEADERDIR=$(EPOCROOT)epoc32\include -HEADERFILENAME=$(HEADERDIR)\symbian_ua_gui_aif.mbg - -ICONDIR=..\gfx - -do_nothing : - @rem do_nothing - -MAKMAKE : do_nothing - -BLD : do_nothing - -CLEAN : do_nothing - -LIB : do_nothing - -CLEANLIB : do_nothing - -# ---------------------------------------------------------------------------- -# TODO: Configure these. -# -# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by -# MifConv if the mask detph is defined. -# -# NOTE 2: Usually, source paths should not be included in the bitmap -# definitions. MifConv searches for the icons in all icon directories in a -# predefined order, which is currently \s60\icons, \s60\bitmaps2. -# The directory \s60\icons is included in the search only if the feature flag -# __SCALABLE_ICONS is defined. -# ---------------------------------------------------------------------------- -# NOTE: if you have JUSTINTIME enabled for your S60 3rd FP1 or newer SDK -# and this command crashes, consider adding "/X" to the command line. -# See <http://forum.nokia.com/document/Forum_Nokia_Technical_Library_v1_35/contents/FNTL/Build_process_fails_at_mif_file_creation_in_S60_3rd_Ed_FP1_SDK.htm> -# ---------------------------------------------------------------------------- - -RESOURCE : - mifconv $(ICONTARGETFILENAME) \ - /H$(HEADERFILENAME) \ - /c32,8 $(ICONDIR)\qgn_menu_symbian_ua_gui.svg - -FREEZE : do_nothing - -SAVESPACE : do_nothing - -RELEASABLES : - @echo $(ICONTARGETFILENAME) - -FINAL : do_nothing - +# ============================================================================ +# Name : Icons_aif_scalable_dc.mk +# Part of : pjsua +# +# Description: +# +# ============================================================================ + + +ifeq (WINS,$(findstring WINS, $(PLATFORM))) +ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z +else +ZDIR=$(EPOCROOT)epoc32\data\z +endif + + +# ---------------------------------------------------------------------------- +# TODO: Configure these +# ---------------------------------------------------------------------------- + +TARGETDIR=$(ZDIR)\resource\apps +ICONTARGETFILENAME=$(TARGETDIR)\pjsua_aif.mif +HEADERDIR=$(EPOCROOT)epoc32\include +HEADERFILENAME=$(HEADERDIR)\pjsua_aif.mbg + +ICONDIR=..\gfx + +do_nothing : + @rem do_nothing + +MAKMAKE : do_nothing + +BLD : do_nothing + +CLEAN : + @echo ...Deleting $(ICONTARGETFILENAME) + del /q /f $(ICONTARGETFILENAME) + +LIB : do_nothing + +CLEANLIB : do_nothing + +# ---------------------------------------------------------------------------- +# TODO: Configure these. +# +# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by +# MifConv if the mask detph is defined. +# +# NOTE 2: Usually, source paths should not be included in the bitmap +# definitions. MifConv searches for the icons in all icon directories in a +# predefined order, which is currently \s60\icons, \s60\bitmaps2. +# The directory \s60\icons is included in the search only if the feature flag +# __SCALABLE_ICONS is defined. +# ---------------------------------------------------------------------------- +# NOTE: if you have JUSTINTIME enabled for your S60 3rd FP1 or newer SDK +# and this command crashes, consider adding "/X" to the command line. +# See <http://forum.nokia.com/document/Forum_Nokia_Technical_Library_v1_35/contents/FNTL/Build_process_fails_at_mif_file_creation_in_S60_3rd_Ed_FP1_SDK.htm> +# ---------------------------------------------------------------------------- + +RESOURCE : $(ICONTARGETFILENAME) + +$(ICONTARGETFILENAME) : $(ICONDIR)\qgn_menu_pjsua.svg + mifconv $(ICONTARGETFILENAME) \ + /H$(HEADERFILENAME) \ + /c32,8 $(ICONDIR)\qgn_menu_pjsua.svg + +FREEZE : do_nothing + +SAVESPACE : do_nothing + +RELEASABLES : + @echo $(ICONTARGETFILENAME) + +FINAL : do_nothing + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/PjsuaContainerView.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/PjsuaContainerView.h new file mode 100644 index 0000000000000000000000000000000000000000..22b3ed8b3fae2599e45fade0ac283edc1dc12add --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/PjsuaContainerView.h @@ -0,0 +1,94 @@ +/* +======================================================================== + Name : PjsuaContainerView.h + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +#ifndef PJSUACONTAINERVIEW_H +#define PJSUACONTAINERVIEW_H + +// [[[ begin generated region: do not modify [Generated Includes] +#include <aknview.h> +// ]]] end generated region [Generated Includes] + + +// [[[ begin [Event Handler Includes] +// ]]] end [Event Handler Includes] + +// [[[ begin generated region: do not modify [Generated Constants] +// ]]] end generated region [Generated Constants] + +// [[[ begin generated region: do not modify [Generated Forward Declarations] +class CPjsuaContainer; +// ]]] end generated region [Generated Forward Declarations] + +/** + * Avkon view class for pjsuaContainerView. It is register with the view server + * by the AppUi. It owns the container control. + * @class CpjsuaContainerView pjsuaContainerView.h + */ + +class CpjsuaContainerView : public CAknView + { + + + // [[[ begin [Public Section] +public: + // constructors and destructor + CpjsuaContainerView(); + static CpjsuaContainerView* NewL(); + static CpjsuaContainerView* NewLC(); + void ConstructL(); + virtual ~CpjsuaContainerView(); + + // from base class CAknView + TUid Id() const; + void HandleCommandL( TInt aCommand ); + + // [[[ begin generated region: do not modify [Generated Methods] + CPjsuaContainer* CreateContainerL(); + // ]]] end generated region [Generated Methods] + + // ]]] end [Public Section] + + void PutMessage( const char *msg ); + + // [[[ begin [Protected Section] +protected: + // from base class CAknView + void DoActivateL( + const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + void DoDeactivate(); + void HandleStatusPaneSizeChange(); + + // [[[ begin generated region: do not modify [Overridden Methods] + // ]]] end generated region [Overridden Methods] + + + // [[[ begin [User Handlers] + // ]]] end [User Handlers] + + // ]]] end [Protected Section] + + + // [[[ begin [Private Section] +private: + void SetupStatusPaneL(); + void CleanupStatusPane(); + + // [[[ begin generated region: do not modify [Generated Instance Variables] + CPjsuaContainer* iPjsuaContainer; + // ]]] end generated region [Generated Instance Variables] + + // [[[ begin generated region: do not modify [Generated Methods] + // ]]] end generated region [Generated Methods] + + // ]]] end [Private Section] + + }; + +#endif // PJSUACONTAINERVIEW_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.loc b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsua.hrh similarity index 54% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.loc rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsua.hrh index c454d8f9991a5e8a85b8b6740f2d3fe8105d5afb..ba27f507ef8cb59fa9bc99563e95ecd37e781be7 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/data/symbian_ua_guiSettingItemList.loc +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsua.hrh @@ -1,11 +1,12 @@ -/* -======================================================================== - Name : symbian_ua_guiSettingItemList.loc - Author : nanang - Copyright : (c) PJSIP 2008 - Description : -======================================================================== -*/ -#ifdef LANGUAGE_01 -#include "symbian_ua_guiSettingItemList.l01" -#endif +/* +======================================================================== + Name : pjsua.hrh + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +enum TpjsuaViewUids + { + EPjsuaContainerViewId = 1 + }; diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsua.pan b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsua.pan new file mode 100644 index 0000000000000000000000000000000000000000..e33dbd560a96e1c49f03e18b964a8f897185e874 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsua.pan @@ -0,0 +1,18 @@ + +#ifndef PJSUA_PAN_H +#define PJSUA_PAN_H + +/** pjsua application panic codes */ +enum TpjsuaPanics + { + EpjsuaUi = 1 + // add further panics here + }; + +inline void Panic(TpjsuaPanics aReason) + { + _LIT(applicationName,"pjsua"); + User::Panic(applicationName, aReason); + } + +#endif // PJSUA_PAN_H diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaAppUi.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaAppUi.h new file mode 100644 index 0000000000000000000000000000000000000000..8bfd24421f319e0ca9a63848f654f9a1515ed122 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaAppUi.h @@ -0,0 +1,70 @@ +/* +======================================================================== + Name : pjsuaAppUi.h + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +#ifndef PJSUAAPPUI_H +#define PJSUAAPPUI_H + +// [[[ begin generated region: do not modify [Generated Includes] +#include <aknviewappui.h> +// ]]] end generated region [Generated Includes] + + +// [[[ begin generated region: do not modify [Generated Forward Declarations] +class CpjsuaContainerView; +// ]]] end generated region [Generated Forward Declarations] + +/** + * @class CpjsuaAppUi pjsuaAppUi.h + * @brief The AppUi class handles application-wide aspects of the user interface, including + * view management and the default menu, control pane, and status pane. + */ +class CpjsuaAppUi : public CAknViewAppUi + { +public: + // constructor and destructor + CpjsuaAppUi(); + virtual ~CpjsuaAppUi(); + void ConstructL(); + +public: + // from CCoeAppUi + TKeyResponse HandleKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode aType ); + + // from CEikAppUi + void HandleCommandL( TInt aCommand ); + void HandleResourceChangeL( TInt aType ); + + // from CAknAppUi + void HandleViewDeactivation( + const TVwsViewId& aViewIdToBeDeactivated, + const TVwsViewId& aNewlyActivatedViewId ); + +private: + void InitializeContainersL(); + // [[[ begin generated region: do not modify [Generated Methods] +public: + // ]]] end generated region [Generated Methods] + + void PutMsg(const char *msg); + + // [[[ begin generated region: do not modify [Generated Instance Variables] +private: + CpjsuaContainerView* iPjsuaContainerView; + // ]]] end generated region [Generated Instance Variables] + + + // [[[ begin [User Handlers] +protected: + // ]]] end [User Handlers] + void PrepareToExit(); + + }; + +#endif // PJSUAAPPUI_H diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaApplication.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaApplication.h new file mode 100644 index 0000000000000000000000000000000000000000..eef6e3fe6a1d0676c81915889afe845822261ed2 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaApplication.h @@ -0,0 +1,35 @@ +/* +======================================================================== + Name : pjsuaApplication.h + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +#ifndef PJSUAAPPLICATION_H +#define PJSUAAPPLICATION_H + +// [[[ begin generated region: do not modify [Generated Includes] +#include <aknapp.h> +// ]]] end generated region [Generated Includes] + +// [[[ begin generated region: do not modify [Generated Constants] +const TUid KUidpjsuaApplication = { 0xE44C2D02 }; +// ]]] end generated region [Generated Constants] + +/** + * + * @class CpjsuaApplication pjsuaApplication.h + * @brief A CAknApplication-derived class is required by the S60 application + * framework. It is subclassed to create the application's document + * object. + */ +class CpjsuaApplication : public CAknApplication + { +private: + TUid AppDllUid() const; + CApaDocument* CreateDocumentL(); + + }; + +#endif // PJSUAAPPLICATION_H diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaContainer.h similarity index 61% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaContainer.h index 0b6a847f25ff75eaf8a0f430656ea3d9cf49bcd2..2ee14758a6c889b6d80194e9be64546332e2547c 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/inc/symbian_ua_guiContainer.h +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaContainer.h @@ -1,23 +1,13 @@ -/* $Id: symbian_ua_guiContainer.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -#ifndef SYMBIAN_UA_GUICONTAINER_H -#define SYMBIAN_UA_GUICONTAINER_H +/* +======================================================================== + Name : pjsuaContainer.h + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +#ifndef PJSUACONTAINER_H +#define PJSUACONTAINER_H // [[[ begin generated region: do not modify [Generated Includes] #include <coecntrl.h> @@ -29,25 +19,25 @@ // [[[ begin generated region: do not modify [Generated Forward Declarations] class MEikCommandObserver; +class CEikImage; class CEikLabel; -class CEikEdwin; // ]]] end generated region [Generated Forward Declarations] /** - * Container class for symbian_ua_guiContainer + * Container class for pjsuaContainer * - * @class CSymbian_ua_guiContainer symbian_ua_guiContainer.h + * @class CPjsuaContainer pjsuaContainer.h */ -class CSymbian_ua_guiContainer : public CCoeControl +class CPjsuaContainer : public CCoeControl { public: // constructors and destructor - CSymbian_ua_guiContainer(); - static CSymbian_ua_guiContainer* NewL( + CPjsuaContainer(); + static CPjsuaContainer* NewL( const TRect& aRect, const CCoeControl* aParent, MEikCommandObserver* aCommandObserver ); - static CSymbian_ua_guiContainer* NewLC( + static CPjsuaContainer* NewLC( const TRect& aRect, const CCoeControl* aParent, MEikCommandObserver* aCommandObserver ); @@ -55,7 +45,7 @@ public: const TRect& aRect, const CCoeControl* aParent, MEikCommandObserver* aCommandObserver ); - virtual ~CSymbian_ua_guiContainer(); + virtual ~CPjsuaContainer(); public: // from base class CCoeControl @@ -83,15 +73,15 @@ private: public: // ]]] end generated region [Generated Methods] + void PutMessageL( const char* msg ); // [[[ begin generated region: do not modify [Generated Type Declarations] public: // ]]] end generated region [Generated Type Declarations] // [[[ begin generated region: do not modify [Generated Instance Variables] private: + CEikImage* iImage1; CEikLabel* iLabel1; - CEikEdwin* iEd_url; - CEikEdwin* iEd_info; // ]]] end generated region [Generated Instance Variables] @@ -108,9 +98,8 @@ public: enum TControls { // [[[ begin generated region: do not modify [Generated Contents] + EImage1, ELabel1, - EEd_url, - EEd_info, // ]]] end generated region [Generated Contents] @@ -120,4 +109,4 @@ public: }; }; -#endif // SYMBIAN_UA_GUICONTAINER_H +#endif // PJSUACONTAINER_H diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaDocument.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaDocument.h new file mode 100644 index 0000000000000000000000000000000000000000..be5deff378c0e6702a1526d198179d8ce89d591d --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/inc/pjsuaDocument.h @@ -0,0 +1,36 @@ +/* +======================================================================== + Name : pjsuaDocument.h + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +#ifndef PJSUADOCUMENT_H +#define PJSUADOCUMENT_H + +#include <akndoc.h> + +class CEikAppUi; + +/** +* @class CpjsuaDocument pjsuaDocument.h +* @brief A CAknDocument-derived class is required by the S60 application +* framework. It is responsible for creating the AppUi object. +*/ +class CpjsuaDocument : public CAknDocument + { +public: + // constructor + static CpjsuaDocument* NewL( CEikApplication& aApp ); + +private: + // constructors + CpjsuaDocument( CEikApplication& aApp ); + void ConstructL(); + +public: + // from base class CEikDocument + CEikAppUi* CreateAppUiL(); + }; +#endif // PJSUADOCUMENT_H diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/pjsuaContainer.uidesign b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/pjsuaContainer.uidesign new file mode 100644 index 0000000000000000000000000000000000000000..e50fd6de3370b6f8d9cb520f1021e9fbc6737d05 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/pjsuaContainer.uidesign @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8"?> +<designerData version="1.1.0"> + <componentManifest> + <manifestEntry id="com.nokia.sdt.series60.CAknView" version="1.2.0"/> + <manifestEntry id="com.nokia.sdt.series60.DesignTimeContainer" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CommonBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.StatusPane" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.ControlBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitle" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.StatusPaneTitleBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CBA" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CBABase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CCoeControl" version="1.2.0"/> + <manifestEntry id="com.nokia.sdt.series60.ContainerBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CEikImage" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.symbian.CEikAlignedBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CCoeControlBase" version="1.0.0"/> + <manifestEntry id="com.nokia.sdt.series60.CEikLabel" version="1.0.0"/> + </componentManifest> + <property id="com.nokia.sdt.symbian.dm.RESOURCE_DIRECTORY_ID">data</property> + <property id="com.nokia.sdt.component.symbian.version">3.2.0</property> + <property id="com.nokia.sdt.component.symbian.vendor">com.nokia.series60</property> + <property id="com.nokia.sdt.symbian.dm.COMPONENT_PROVIDER">com.nokia.sdt.component.symbian.Symbian-Provider</property> + <property id="com.nokia.sdt.symbian.dm.INCLUDE_DIRECTORY_ID">inc</property> + <property id="com.nokia.sdt.symbian.dm.SOURCE_DIRECTORY_ID">src</property> + <property id="com.nokia.sdt.symbian.dm.SOURCEGEN_PROVIDER">com.nokia.sdt.sourcegen.Symbian-Provider</property> + <property id="com.nokia.sdt.symbian.dm.BUILD_DIRECTORY_ID">group</property> + <component id="com.nokia.sdt.series60.CAknView"> + <property id="className">CpjsuaContainerView</property> + <compoundProperty id="location"> + <property id="x">51</property> + <property id="y">44</property> + </compoundProperty> + <property id="name">pjsuaContainerView</property> + <compoundProperty id="size"> + <property id="width">240</property> + <property id="height">320</property> + </compoundProperty> + <component id="com.nokia.sdt.series60.StatusPane"> + <compoundProperty id="location"> + <property id="x">20</property> + </compoundProperty> + <property id="name">statusPane</property> + <compoundProperty id="size"> + <property id="width">204</property> + <property id="height">63</property> + </compoundProperty> + <component id="com.nokia.sdt.series60.StatusPaneTitle"> + <compoundProperty id="location"> + <property id="x">56</property> + </compoundProperty> + <property id="name">title</property> + <property id="titleText" type="i18n">STR_pjsuaContainerView_4</property> + <compoundProperty id="size"> + <property id="width">148</property> + <property id="height">43</property> + </compoundProperty> + <compoundProperty id="image"/> + </component> + </component> + <component id="com.nokia.sdt.series60.CBA"> + <compoundProperty id="location"> + <property id="y">288</property> + </compoundProperty> + <compoundProperty id="info"> + <property id="leftText" type="i18n">STR_pjsuaContainerView_1</property> + <property id="rightText" type="i18n">STR_pjsuaContainerView_2</property> + <property id="middleText" type="i18n">STR_pjsuaContainerView_3</property> + <property id="leftId"></property> + <property id="rightId">EAknSoftkeyBack</property> + <property id="type">R_AVKON_SOFTKEYS_EXIT</property> + </compoundProperty> + <property id="name">controlPane</property> + <compoundProperty id="size"> + <property id="width">240</property> + <property id="height">32</property> + </compoundProperty> + </component> + <component id="com.nokia.sdt.series60.CCoeControl"> + <property id="backColor">0,0,0</property> + <compoundProperty id="location"> + <property id="y">66</property> + </compoundProperty> + <property id="className">CPjsuaContainer</property> + <property id="name">pjsuaContainer</property> + <compoundProperty id="size"> + <property id="width">240</property> + <property id="height">222</property> + </compoundProperty> + <component id="com.nokia.sdt.series60.CEikImage"> + <compoundProperty id="location"> + <property id="x">0</property> + <property id="y">0</property> + </compoundProperty> + <property id="name">image1</property> + <compoundProperty id="size"> + <property id="width">99</property> + <property id="height">111</property> + </compoundProperty> + <compoundProperty id="image"> + <property id="bmpfile">\resource\apps\pjsua.mbm</property> + <property id="bmpid">EMbmPjsuaPjsua</property> + </compoundProperty> + </component> + <component id="com.nokia.sdt.series60.CEikLabel"> + <compoundProperty id="location"> + <property id="y">196</property> + </compoundProperty> + <property id="name">label1</property> + <property id="text" type="i18n">STR_pjsuaContainerView_5</property> + <compoundProperty id="size"> + <property id="width">241</property> + <property id="height">27</property> + </compoundProperty> + </component> + </component> + </component> + <stringBundle> + <stringTable language="LANG_English"> + <string id="STR_pjsuaContainerView_1"/> + <string id="STR_pjsuaContainerView_2"/> + <string id="STR_pjsuaContainerView_3"/> + <string id="STR_pjsuaContainerView_4">pjsuaContainer</string> + <string id="STR_pjsuaContainerView_5">Please wait..</string> + </stringTable> + </stringBundle> + <macroTable/> + <sourceMappingState> + <resourceMappings> + <resourceMapping instanceName="pjsuaContainerView">r_pjsua_container_pjsua_container_view</resourceMapping> + <resourceMapping instanceName="statusPane">r_pjsua_container_status_pane</resourceMapping> + <resourceMapping instanceName="label1">r_pjsua_container_label1</resourceMapping> + <resourceMapping instanceName="title">r_pjsua_container_title_resource</resourceMapping> + </resourceMappings> + <enumMappings> + <enumMapping instanceName="label1" propertyId="font">EEikLabelFontNormal</enumMapping> + <enumMapping instanceName="pjsuaContainerView" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_VIEW_UID">EPjsuaContainerViewId</enumMapping> + <enumMapping instanceName="label1" propertyId="alignment">EEikLabelAlignHCenter</enumMapping> + <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_STATUS_PANE_ID">EEikStatusPaneUidTitle</enumMapping> + <enumMapping instanceName="title" propertyId="" nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_CONTROL_TYPE">EAknCtTitlePane</enumMapping> + </enumMappings> + <arrayMappings/> + </sourceMappingState> + <generatedFiles> + <file>src/pjsuacontainer.cpp</file> + <file>src/pjsuacontainerview.cpp</file> + <file>inc/pjsuacontainer.h</file> + <file>inc/pjsuacontainerview.h</file> + <file>data/pjsua.rss</file> + <file>data/pjsuacontainer.rssi</file> + <file>inc/pjsua.hrh</file> + <file>data/pjsua.loc</file> + <file>data/pjsua.l01</file> + <file>data/pjsuacontainer.loc</file> + <file>data/pjsuacontainer.l01</file> + </generatedFiles> +</designerData> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/sis/backup_registration.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/sis/backup_registration.xml new file mode 100644 index 0000000000000000000000000000000000000000..7f7f2d06a2058fb2d1e4958f52ec8ab45c743753 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/sis/backup_registration.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" standalone="yes"?> +<backup_registration> + <system_backup/> + <restore requires_reboot = "no"/> +</backup_registration> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.pkg b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/sis/pjsua.pkg similarity index 55% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.pkg rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/sis/pjsua.pkg index b460505d807477c9fe4d3548ae0745fb3a51332a..5b25277857eb93d1b4c8a7305cf862cfaf72323d 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/sis/symbian_ua_gui.pkg +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/sis/pjsua.pkg @@ -1,36 +1,36 @@ -; symbian_ua_gui.pkg -; This is an auto-generated PKG file by Carbide. -; This file uses variables specific to Carbide builds that will not work -; on command-line builds. If you want to use this generated PKG file from the -; command-line tools you will need to modify the variables with the appropriate -; values: $(EPOCROOT), $(PLATFORM), $(TARGET) -; Also, the resource file entries should be changed to match the language -; used in the build. For example, if building for LANGUAGE_01, change the file -; extensions .rsc to .r01. -; -;Language - standard language definitions -&EN - -; standard SIS file header -#{"symbian_ua_gui"},(0xEBD12EE4),1,0,0 - -;Localised Vendor name -%{"Vendor-EN"} - -;Unique Vendor name -:"Vendor" - -;Supports Series 60 v 3.0 -[0x101F7961], 0, 0, 0, {"Series60ProductID"} - -;Files to install -;You should change the source paths to match that of your environment -;<source> <destination> -"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\symbian_ua_gui.exe" -"!:\sys\bin\symbian_ua_gui.exe" -"$(EPOCROOT)Epoc32\data\z\resource\apps\symbian_ua_gui.r01" -"!:\resource\apps\symbian_ua_gui.r01" -"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\symbian_ua_gui_reg.r01" -"!:\private\10003a3f\import\apps\symbian_ua_gui_reg.r01" -"$(EPOCROOT)epoc32\data\z\resource\apps\symbian_ua_gui_aif.mif" -"!:\resource\apps\symbian_ua_gui_aif.mif" -"$(EPOCROOT)epoc32\data\z\resource\apps\symbian_ua_gui.mbm" -"!:\resource\apps\symbian_ua_gui.mbm" -; Add any installation notes if applicable -;"symbian_ua_gui.txt" -"!:\private\0xEBD12EE4\symbian_ua_gui.txt" - +; pjsua.pkg +; This is an auto-generated PKG file by Carbide. +; This file uses variables specific to Carbide builds that will not work +; on command-line builds. If you want to use this generated PKG file from the +; command-line tools you will need to modify the variables with the appropriate +; values: $(EPOCROOT), $(PLATFORM), $(TARGET) +; Also, the resource file entries should be changed to match the language +; used in the build. For example, if building for LANGUAGE_01, change the file +; extensions .rsc to .r01. +; +;Language - standard language definitions +&EN + +; standard SIS file header +#{"pjsua"},(0xE44C2D02),1,0,0 + +;Localised Vendor name +%{"Vendor-EN"} + +;Unique Vendor name +:"Vendor" + +;Supports Series 60 v 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +;Files to install +;You should change the source paths to match that of your environment +;<source> <destination> +"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\pjsua.exe" -"!:\sys\bin\pjsua.exe" +"$(EPOCROOT)Epoc32\data\z\resource\apps\pjsua.r01" -"!:\resource\apps\pjsua.r01" +"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\pjsua_reg.r01" -"!:\private\10003a3f\import\apps\pjsua_reg.r01" +"$(EPOCROOT)epoc32\data\z\resource\apps\pjsua_aif.mif" -"!:\resource\apps\pjsua_aif.mif" +"$(EPOCROOT)epoc32\data\z\resource\apps\pjsua.mbm" -"!:\resource\apps\pjsua.mbm" +; Add any installation notes if applicable +;"pjsua.txt" -"!:\private\0xE44C2D02\pjsua.txt" + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/PjsuaContainerView.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/PjsuaContainerView.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8595260fcb68a4849d69a9d4f74fbf6870cc8be9 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/PjsuaContainerView.cpp @@ -0,0 +1,261 @@ +/* +======================================================================== + Name : PjsuaContainerView.cpp + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +// [[[ begin generated region: do not modify [Generated System Includes] +#include <aknviewappui.h> +#include <eikmenub.h> +#include <avkon.hrh> +#include <barsread.h> +#include <eikimage.h> +#include <eikenv.h> +#include <stringloader.h> +#include <eiklabel.h> +#include <akncontext.h> +#include <akntitle.h> +#include <eikbtgpc.h> +#include <pjsua.rsg> +// ]]] end generated region [Generated System Includes] + +// [[[ begin generated region: do not modify [Generated User Includes] + +#include "pjsua.hrh" +#include "pjsuaContainerView.h" +#include "pjsuaContainer.h" +// ]]] end generated region [Generated User Includes] + +// [[[ begin generated region: do not modify [Generated Constants] +// ]]] end generated region [Generated Constants] + +/** + * First phase of Symbian two-phase construction. Should not contain any + * code that could leave. + */ +CpjsuaContainerView::CpjsuaContainerView() + { + // [[[ begin generated region: do not modify [Generated Contents] + iPjsuaContainer = NULL; + // ]]] end generated region [Generated Contents] + + } + +/** + * The view's destructor removes the container from the control + * stack and destroys it. + */ +CpjsuaContainerView::~CpjsuaContainerView() + { + // [[[ begin generated region: do not modify [Generated Contents] + delete iPjsuaContainer; + iPjsuaContainer = NULL; + // ]]] end generated region [Generated Contents] + + } + +/** + * Symbian two-phase constructor. + * This creates an instance then calls the second-phase constructor + * without leaving the instance on the cleanup stack. + * @return new instance of CpjsuaContainerView + */ +CpjsuaContainerView* CpjsuaContainerView::NewL() + { + CpjsuaContainerView* self = CpjsuaContainerView::NewLC(); + CleanupStack::Pop( self ); + return self; + } + +/** + * Symbian two-phase constructor. + * This creates an instance, pushes it on the cleanup stack, + * then calls the second-phase constructor. + * @return new instance of CpjsuaContainerView + */ +CpjsuaContainerView* CpjsuaContainerView::NewLC() + { + CpjsuaContainerView* self = new ( ELeave ) CpjsuaContainerView(); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + + +/** + * Second-phase constructor for view. + * Initialize contents from resource. + */ +void CpjsuaContainerView::ConstructL() + { + // [[[ begin generated region: do not modify [Generated Code] + BaseConstructL( R_PJSUA_CONTAINER_PJSUA_CONTAINER_VIEW ); + + // ]]] end generated region [Generated Code] + + // add your own initialization code here + } + +/** + * @return The UID for this view + */ +TUid CpjsuaContainerView::Id() const + { + return TUid::Uid( EPjsuaContainerViewId ); + } + +/** + * Handle a command for this view (override) + * @param aCommand command id to be handled + */ +void CpjsuaContainerView::HandleCommandL( TInt aCommand ) + { + // [[[ begin generated region: do not modify [Generated Code] + TBool commandHandled = EFalse; + switch ( aCommand ) + { // code to dispatch to the AknView's menu and CBA commands is generated here + default: + break; + } + + + if ( !commandHandled ) + { + + if ( aCommand == EAknSoftkeyBack ) + { + AppUi()->HandleCommandL( EEikCmdExit ); + } + + } + // ]]] end generated region [Generated Code] + + } + +/** + * Handles user actions during activation of the view, + * such as initializing the content. + */ +void CpjsuaContainerView::DoActivateL( + const TVwsViewId& /*aPrevViewId*/, + TUid /*aCustomMessageId*/, + const TDesC8& /*aCustomMessage*/ ) + { + // [[[ begin generated region: do not modify [Generated Contents] + SetupStatusPaneL(); + + + + + if ( iPjsuaContainer == NULL ) + { + iPjsuaContainer = CreateContainerL(); + iPjsuaContainer->SetMopParent( this ); + AppUi()->AddToStackL( *this, iPjsuaContainer ); + } + // ]]] end generated region [Generated Contents] + + } + +/** + */ +void CpjsuaContainerView::DoDeactivate() + { + // [[[ begin generated region: do not modify [Generated Contents] + CleanupStatusPane(); + + if ( iPjsuaContainer != NULL ) + { + AppUi()->RemoveFromViewStack( *this, iPjsuaContainer ); + delete iPjsuaContainer; + iPjsuaContainer = NULL; + } + // ]]] end generated region [Generated Contents] + + } + +/** + * Handle status pane size change for this view (override) + */ +void CpjsuaContainerView::HandleStatusPaneSizeChange() + { + CAknView::HandleStatusPaneSizeChange(); + + // this may fail, but we're not able to propagate exceptions here + TVwsViewId view; + AppUi()->GetActiveViewId( view ); + if ( view.iViewUid == Id() ) + { + TInt result; + TRAP( result, SetupStatusPaneL() ); + } + + // Hide menu + Cba()->MakeVisible(EFalse); + + //PutMessage("HandleStatusPaneSizeChange()"); + + // [[[ begin generated region: do not modify [Generated Code] + // ]]] end generated region [Generated Code] + + } + +// [[[ begin generated function: do not modify +void CpjsuaContainerView::SetupStatusPaneL() + { + // reset the context pane + TUid contextPaneUid = TUid::Uid( EEikStatusPaneUidContext ); + CEikStatusPaneBase::TPaneCapabilities subPaneContext = + StatusPane()->PaneCapabilities( contextPaneUid ); + if ( subPaneContext.IsPresent() && subPaneContext.IsAppOwned() ) + { + CAknContextPane* context = static_cast< CAknContextPane* > ( + StatusPane()->ControlL( contextPaneUid ) ); + context->SetPictureToDefaultL(); + } + + // setup the title pane + TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle ); + CEikStatusPaneBase::TPaneCapabilities subPaneTitle = + StatusPane()->PaneCapabilities( titlePaneUid ); + if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() ) + { + CAknTitlePane* title = static_cast< CAknTitlePane* >( + StatusPane()->ControlL( titlePaneUid ) ); + TResourceReader reader; + iEikonEnv->CreateResourceReaderLC( reader, R_PJSUA_CONTAINER_TITLE_RESOURCE ); + title->SetFromResourceL( reader ); + CleanupStack::PopAndDestroy(); // reader internal state + } + + } + +// ]]] end generated function + +// [[[ begin generated function: do not modify +void CpjsuaContainerView::CleanupStatusPane() + { + } + +// ]]] end generated function + +/** + * Creates the top-level container for the view. You may modify this method's + * contents and the CPjsuaContainer::NewL() signature as needed to initialize the + * container, but the signature for this method is fixed. + * @return new initialized instance of CPjsuaContainer + */ +CPjsuaContainer* CpjsuaContainerView::CreateContainerL() + { + return CPjsuaContainer::NewL( ClientRect(), NULL, this ); + } + +void CpjsuaContainerView::PutMessage( const char *msg ) +{ + if (!iPjsuaContainer) + return; + + TRAPD(result, iPjsuaContainer->PutMessageL(msg)); +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaAppUi.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaAppUi.cpp new file mode 100644 index 0000000000000000000000000000000000000000..74b8c42f10199f881a328693c10e9eddf452f7ec --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaAppUi.cpp @@ -0,0 +1,370 @@ +/* +======================================================================== + Name : pjsuaAppUi.cpp + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +// [[[ begin generated region: do not modify [Generated System Includes] +#include <eikmenub.h> +#include <akncontext.h> +#include <akntitle.h> +#include <pjsua.rsg> +// ]]] end generated region [Generated System Includes] + +// [[[ begin generated region: do not modify [Generated User Includes] +#include "pjsuaAppUi.h" +#include "pjsua.hrh" +#include "pjsuaContainerView.h" +// ]]] end generated region [Generated User Includes] + +// [[[ begin generated region: do not modify [Generated Constants] +// ]]] end generated region [Generated Constants] + +#include "../../pjsua_app.h" +#include "../../pjsua_app_config.h" + +/* Global vars */ +static CpjsuaAppUi *appui = NULL; +static pj_ioqueue_t *app_ioqueue = NULL; +static int start_argc = 0; +static char **start_argv = NULL; + +static pj_status_t InitSymbSocket(); +static void DestroySymbSocket(); + +/* Helper funtions to init/restart/destroy the pjsua */ +static void PjsuaInitL(); +static void PjsuaDestroyL(); + +/* pjsua app callbacks */ +static void PjsuaOnStarted(pj_status_t status, const char* title); +static void PjsuaOnStopped(pj_bool_t restart, int argc, char** argv); +static void PjsuaOnConfig(pjsua_app_config *cfg); + +/* Helper class to schedule function execution */ +class MyTimer : public CActive +{ +public: + typedef void (*timer_func)(); + +public: + static MyTimer* NewL(int ms, timer_func f) { + MyTimer *self = new MyTimer(f); + CleanupStack::PushL(self); + self->ConstructL(ms); + CleanupStack::Pop(self); + return self; + } + + MyTimer(timer_func f) : CActive(EPriorityStandard), func(f) {} + ~MyTimer() { + Cancel(); + rtimer.Close(); + } + + virtual void RunL() { (*func)(); delete this; } + virtual void DoCancel() { rtimer.Cancel(); } + +private: + RTimer rtimer; + timer_func func; + + void ConstructL(int ms) { + rtimer.CreateLocal(); + CActiveScheduler::Add(this); + rtimer.After(iStatus, ms * 1000); + SetActive(); + } +}; + +/** + * Construct the CpjsuaAppUi instance + */ +CpjsuaAppUi::CpjsuaAppUi() + { + // [[[ begin generated region: do not modify [Generated Contents] + // ]]] end generated region [Generated Contents] + + } + +/** + * The appui's destructor removes the container from the control + * stack and destroys it. + */ +CpjsuaAppUi::~CpjsuaAppUi() + { + // [[[ begin generated region: do not modify [Generated Contents] + // ]]] end generated region [Generated Contents] + + } + +// [[[ begin generated function: do not modify +void CpjsuaAppUi::InitializeContainersL() + { + iPjsuaContainerView = CpjsuaContainerView::NewL(); + AddViewL( iPjsuaContainerView ); + SetDefaultViewL( *iPjsuaContainerView ); + } +// ]]] end generated function + +/** + * Handle a command for this appui (override) + * @param aCommand command id to be handled + */ +void CpjsuaAppUi::HandleCommandL( TInt aCommand ) + { + // [[[ begin generated region: do not modify [Generated Code] + TBool commandHandled = EFalse; + switch ( aCommand ) + { // code to dispatch to the AppUi's menu and CBA commands is generated here + default: + break; + } + + + if ( !commandHandled ) + { + if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit ) + { + Exit(); + } + } + // ]]] end generated region [Generated Code] + + } + +/** + * Override of the HandleResourceChangeL virtual function + */ +void CpjsuaAppUi::HandleResourceChangeL( TInt aType ) + { + CAknViewAppUi::HandleResourceChangeL( aType ); + // [[[ begin generated region: do not modify [Generated Code] + // ]]] end generated region [Generated Code] + + } + +/** + * Override of the HandleKeyEventL virtual function + * @return EKeyWasConsumed if event was handled, EKeyWasNotConsumed if not + * @param aKeyEvent + * @param aType + */ +TKeyResponse CpjsuaAppUi::HandleKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode aType ) + { + // The inherited HandleKeyEventL is private and cannot be called + // [[[ begin generated region: do not modify [Generated Contents] + // ]]] end generated region [Generated Contents] + + // Left or right softkey pressed + if (aType==EEventKeyDown && + (aKeyEvent.iScanCode == EStdKeyDevice0 || + aKeyEvent.iScanCode == EStdKeyDevice1)) + { + Cba()->MakeVisible(ETrue); + } else { + Cba()->MakeVisible(EFalse); + } + + return EKeyWasNotConsumed; + } + +/** + * Override of the HandleViewDeactivation virtual function + * + * @param aViewIdToBeDeactivated + * @param aNewlyActivatedViewId + */ +void CpjsuaAppUi::HandleViewDeactivation( + const TVwsViewId& aViewIdToBeDeactivated, + const TVwsViewId& aNewlyActivatedViewId ) + { + CAknViewAppUi::HandleViewDeactivation( + aViewIdToBeDeactivated, + aNewlyActivatedViewId ); + // [[[ begin generated region: do not modify [Generated Contents] + // ]]] end generated region [Generated Contents] + + } + +/** + * @brief Completes the second phase of Symbian object construction. + * Put initialization code that could leave here. + */ +void CpjsuaAppUi::ConstructL() + { + // [[[ begin generated region: do not modify [Generated Contents] + + BaseConstructL( EAknEnableSkin | + EAknEnableMSK ); + InitializeContainersL(); + // ]]] end generated region [Generated Contents] + + // Save pointer to this AppUi + appui = this; + + // Full screen + StatusPane()->MakeVisible(EFalse); + Cba()->MakeVisible(EFalse); + + if (InitSymbSocket() != PJ_SUCCESS) { + PutMsg("Failed to initialize Symbian network param."); + } else { + start_argc = pjsua_app_def_argc; + start_argv = (char**)pjsua_app_def_argv; + + // Schedule Lib Init + MyTimer::NewL(100, &PjsuaInitL); + } + + } + +/* Called by Symbian GUI framework when app is about to exit */ +void CpjsuaAppUi::PrepareToExit() +{ + TRAPD(result, PjsuaDestroyL()); + DestroySymbSocket(); + CloseSTDLIB(); + CAknViewAppUi::PrepareToExit(); +} + +/* Print message on screen */ +void CpjsuaAppUi::PutMsg(const char *msg) +{ + iPjsuaContainerView->PutMessage(msg); +} + +#include <es_sock.h> + +static RSocketServ aSocketServer; +static RConnection aConn; + +/* Called when pjsua is started */ +void PjsuaOnStarted(pj_status_t status, const char* title) +{ + char err_msg[128]; + + if (status != PJ_SUCCESS || title == NULL) { + char err_str[PJ_ERR_MSG_SIZE]; + pj_strerror(status, err_str, sizeof(err_str)); + pj_ansi_snprintf(err_msg, sizeof(err_msg), "%s: %s", + (title?title:"App start error"), err_str); + title = err_msg; + } + + appui->PutMsg(title); +} + +/* Called when pjsua is stopped */ +void PjsuaOnStopped(pj_bool_t restart, int argc, char** argv) +{ + if (restart) { + start_argc = argc; + start_argv = argv; + + // Schedule Lib Init + MyTimer::NewL(100, &PjsuaInitL); + } else { + /* Destroy & quit GUI, e.g: clean up window, resources */ + appui->Exit(); + } +} + +/* Called before pjsua initializing config. + * We need to override some settings here. + */ +void PjsuaOnConfig(pjsua_app_config *cfg) +{ + /* Disable threading */ + cfg->cfg.thread_cnt = 0; + cfg->cfg.thread_cnt = 0; + cfg->media_cfg.thread_cnt = 0; + cfg->media_cfg.has_ioqueue = PJ_FALSE; + + /* Create ioqueue for telnet CLI */ + if (app_ioqueue == NULL) { + pj_ioqueue_create(cfg->pool, 0, &app_ioqueue); + } + cfg->cli_cfg.telnet_cfg.ioqueue = app_ioqueue; +} + +// Set Symbian OS parameters in pjlib. +// This must be done before pj_init() is called. +pj_status_t InitSymbSocket() +{ + pj_symbianos_params sym_params; + TInt err; + + // Initialize RSocketServ + if ((err=aSocketServer.Connect(32)) != KErrNone) { + return PJ_STATUS_FROM_OS(err); + } + + // Open up a connection + if ((err=aConn.Open(aSocketServer)) != KErrNone) { + aSocketServer.Close(); + return PJ_STATUS_FROM_OS(err); + } + if ((err=aConn.Start()) != KErrNone) { + aConn.Close(); + aSocketServer.Close(); + return PJ_STATUS_FROM_OS(err); + } + + pj_bzero(&sym_params, sizeof(sym_params)); + sym_params.rsocketserv = &aSocketServer; + sym_params.rconnection = &aConn; + pj_symbianos_set_params(&sym_params); + + return PJ_SUCCESS; +} + + +void DestroySymbSocket() +{ + aConn.Close(); + aSocketServer.Close(); +} + + +void PjsuaInitL() +{ + pjsua_app_cfg_t app_cfg; + pj_status_t status; + + PjsuaDestroyL(); + + pj_bzero(&app_cfg, sizeof(app_cfg)); + app_cfg.argc = start_argc; + app_cfg.argv = start_argv; + app_cfg.on_started = &PjsuaOnStarted; + app_cfg.on_stopped = &PjsuaOnStopped; + app_cfg.on_config_init = &PjsuaOnConfig; + + appui->PutMsg("Initializing.."); + status = pjsua_app_init(&app_cfg); + if (status != PJ_SUCCESS) + goto on_return; + + appui->PutMsg("Starting.."); + status = pjsua_app_run(PJ_FALSE); + if (status != PJ_SUCCESS) + goto on_return; + +on_return: + if (status != PJ_SUCCESS) + appui->PutMsg("Initialization failed"); +} + +void PjsuaDestroyL() +{ + if (app_ioqueue) { + pj_ioqueue_destroy(app_ioqueue); + app_ioqueue = NULL; + } + pjsua_app_destroy(); +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaApplication.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaApplication.cpp new file mode 100644 index 0000000000000000000000000000000000000000..9196b9f9af35e4d3d35039f69d3b59d6f9c2d720 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaApplication.cpp @@ -0,0 +1,78 @@ +/* +======================================================================== + Name : pjsuaApplication.cpp + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +// [[[ begin generated region: do not modify [Generated System Includes] +// ]]] end generated region [Generated System Includes] + +// [[[ begin generated region: do not modify [Generated Includes] +#include "pjsuaApplication.h" +#include "pjsuaDocument.h" +#ifdef EKA2 +#include <eikstart.h> +#endif +// ]]] end generated region [Generated Includes] + +/** + * @brief Returns the application's UID (override from CApaApplication::AppDllUid()) + * @return UID for this application (KUidpjsuaApplication) + */ +TUid CpjsuaApplication::AppDllUid() const + { + return KUidpjsuaApplication; + } + +/** + * @brief Creates the application's document (override from CApaApplication::CreateDocumentL()) + * @return Pointer to the created document object (CpjsuaDocument) + */ +CApaDocument* CpjsuaApplication::CreateDocumentL() + { + return CpjsuaDocument::NewL( *this ); + } + +#ifdef EKA2 + +/** + * @brief Called by the application framework to construct the application object + * @return The application (CpjsuaApplication) + */ +LOCAL_C CApaApplication* NewApplication() + { + return new CpjsuaApplication; + } + +/** +* @brief This standard export is the entry point for all Series 60 applications +* @return error code + */ +GLDEF_C TInt E32Main() + { + return EikStart::RunApplication( NewApplication ); + } + +#else // Series 60 2.x main DLL program code + +/** +* @brief This standard export constructs the application object. +* @return The application (CpjsuaApplication) +*/ +EXPORT_C CApaApplication* NewApplication() + { + return new CpjsuaApplication; + } + +/** +* @brief This standard export is the entry point for all Series 60 applications +* @return error code +*/ +GLDEF_C TInt E32Dll(TDllReason /*reason*/) + { + return KErrNone; + } + +#endif // EKA2 diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainer.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaContainer.cpp similarity index 58% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainer.cpp rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaContainer.cpp index 94fc98a3a9039e93dcbec1a72bb7e4e393e212fe..5dec51f28d4a3fa5de2e596d2942ead355e24a99 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiContainer.cpp +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaContainer.cpp @@ -1,69 +1,58 @@ -/* $Id: symbian_ua_guiContainer.cpp 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ +/* +======================================================================== + Name : pjsuaContainer.cpp + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ // [[[ begin generated region: do not modify [Generated System Includes] #include <barsread.h> +#include <eikimage.h> +#include <eikenv.h> #include <stringloader.h> #include <eiklabel.h> -#include <eikenv.h> -#include <gdi.h> -#include <eikedwin.h> #include <aknviewappui.h> #include <eikappui.h> -#include <symbian_ua_gui.rsg> +#include <akniconutils.h> +#include <pjsua.mbg> +#include <pjsua.rsg> // ]]] end generated region [Generated System Includes] // [[[ begin generated region: do not modify [Generated User Includes] -#include "symbian_ua_guiContainer.h" -#include "symbian_ua_guiContainerView.h" -#include "symbian_ua_gui.hrh" -#include "symbian_ua_guiContainer.hrh" -#include "symbian_ua_guiSettingItemList.hrh" +#include "pjsuaContainer.h" +#include "pjsuaContainerView.h" +#include "pjsua.hrh" // ]]] end generated region [Generated User Includes] +#include <eikmenub.h> + // [[[ begin generated region: do not modify [Generated Constants] +_LIT( KpjsuaFile, "\\resource\\apps\\pjsua.mbm" ); // ]]] end generated region [Generated Constants] /** * First phase of Symbian two-phase construction. Should not * contain any code that could leave. */ -CSymbian_ua_guiContainer::CSymbian_ua_guiContainer() +CPjsuaContainer::CPjsuaContainer() { // [[[ begin generated region: do not modify [Generated Contents] + iImage1 = NULL; iLabel1 = NULL; - iEd_url = NULL; - iEd_info = NULL; // ]]] end generated region [Generated Contents] } /** * Destroy child controls. */ -CSymbian_ua_guiContainer::~CSymbian_ua_guiContainer() +CPjsuaContainer::~CPjsuaContainer() { // [[[ begin generated region: do not modify [Generated Contents] + delete iImage1; + iImage1 = NULL; delete iLabel1; iLabel1 = NULL; - delete iEd_url; - iEd_url = NULL; - delete iEd_info; - iEd_info = NULL; // ]]] end generated region [Generated Contents] } @@ -75,14 +64,14 @@ CSymbian_ua_guiContainer::~CSymbian_ua_guiContainer() * @param aRect bounding rectangle * @param aParent owning parent, or NULL * @param aCommandObserver command observer - * @return initialized instance of CSymbian_ua_guiContainer + * @return initialized instance of CPjsuaContainer */ -CSymbian_ua_guiContainer* CSymbian_ua_guiContainer::NewL( +CPjsuaContainer* CPjsuaContainer::NewL( const TRect& aRect, const CCoeControl* aParent, MEikCommandObserver* aCommandObserver ) { - CSymbian_ua_guiContainer* self = CSymbian_ua_guiContainer::NewLC( + CPjsuaContainer* self = CPjsuaContainer::NewLC( aRect, aParent, aCommandObserver ); @@ -97,14 +86,14 @@ CSymbian_ua_guiContainer* CSymbian_ua_guiContainer::NewL( * @param aRect The rectangle for this window * @param aParent owning parent, or NULL * @param aCommandObserver command observer - * @return new instance of CSymbian_ua_guiContainer + * @return new instance of CPjsuaContainer */ -CSymbian_ua_guiContainer* CSymbian_ua_guiContainer::NewLC( +CPjsuaContainer* CPjsuaContainer::NewLC( const TRect& aRect, const CCoeControl* aParent, MEikCommandObserver* aCommandObserver ) { - CSymbian_ua_guiContainer* self = new ( ELeave ) CSymbian_ua_guiContainer(); + CPjsuaContainer* self = new ( ELeave ) CPjsuaContainer(); CleanupStack::PushL( self ); self->ConstructL( aRect, aParent, aCommandObserver ); return self; @@ -117,7 +106,7 @@ CSymbian_ua_guiContainer* CSymbian_ua_guiContainer::NewLC( * @param aCommandObserver command observer * @param aParent owning parent, or NULL */ -void CSymbian_ua_guiContainer::ConstructL( +void CPjsuaContainer::ConstructL( const TRect& aRect, const CCoeControl* aParent, MEikCommandObserver* aCommandObserver ) @@ -134,6 +123,29 @@ void CSymbian_ua_guiContainer::ConstructL( iCommandObserver = aCommandObserver; InitializeControlsL(); SetRect( aRect ); + + // Full screen + SetExtentToWholeScreen(); + + // Set label color + //iLabel1->OverrideColorL( EColorLabelText, KRgbWhite ); + //iLabel1->OverrideColorL(EColorControlBackground, KRgbBlack ) + iLabel1->SetEmphasis( CEikLabel::EFullEmphasis); + iLabel1->OverrideColorL( EColorLabelHighlightFullEmphasis, KRgbBlack ); + iLabel1->OverrideColorL( EColorLabelTextEmphasis, KRgbWhite ); + + // Set label font + CFont* fontUsed; + _LIT(f,"Arial"); + TFontSpec* fontSpec = new TFontSpec(f, 105); + TFontStyle* fontStyle = new TFontStyle(); + fontStyle->SetPosture(EPostureUpright); + fontStyle->SetStrokeWeight(EStrokeWeightNormal); + fontSpec->iFontStyle = *fontStyle; + fontUsed = iCoeEnv->CreateScreenFontL(*fontSpec); + iLabel1->SetFont(fontUsed); + iLabel1->SetAlignment( EHCenterVCenter ); + ActivateL(); // [[[ begin generated region: do not modify [Post-ActivateL initializations] // ]]] end generated region [Post-ActivateL initializations] @@ -144,7 +156,7 @@ void CSymbian_ua_guiContainer::ConstructL( * Return the number of controls in the container (override) * @return count */ -TInt CSymbian_ua_guiContainer::CountComponentControls() const +TInt CPjsuaContainer::CountComponentControls() const { return ( int ) ELastControl; } @@ -154,17 +166,15 @@ TInt CSymbian_ua_guiContainer::CountComponentControls() const * @param aIndex Control index [0...n) (limited by #CountComponentControls) * @return Pointer to control */ -CCoeControl* CSymbian_ua_guiContainer::ComponentControl( TInt aIndex ) const +CCoeControl* CPjsuaContainer::ComponentControl( TInt aIndex ) const { // [[[ begin generated region: do not modify [Generated Contents] switch ( aIndex ) { + case EImage1: + return iImage1; case ELabel1: return iLabel1; - case EEd_url: - return iEd_url; - case EEd_info: - return iEd_info; } // ]]] end generated region [Generated Contents] @@ -180,10 +190,20 @@ CCoeControl* CSymbian_ua_guiContainer::ComponentControl( TInt aIndex ) const * This code will need to be modified to adjust arbitrary controls to * any screen size. */ -void CSymbian_ua_guiContainer::SizeChanged() +void CPjsuaContainer::SizeChanged() { CCoeControl::SizeChanged(); LayoutControls(); + + // Align the image + int x = (Size().iWidth - iImage1->Size().iWidth) / 2; + int y = (Size().iHeight - iImage1->Size().iHeight) / 2; + iImage1->SetPosition(TPoint(x, y)); + + // Align the label + iLabel1->SetExtent(TPoint(0, Size().iHeight - iLabel1->Size().iHeight), + TSize(Size().iWidth, iLabel1->Size().iHeight)); + // [[[ begin generated region: do not modify [Generated Contents] // ]]] end generated region [Generated Contents] @@ -194,18 +214,17 @@ void CSymbian_ua_guiContainer::SizeChanged() /** * Layout components as specified in the UI Designer */ -void CSymbian_ua_guiContainer::LayoutControls() +void CPjsuaContainer::LayoutControls() { - iLabel1->SetExtent( TPoint( 2, 23 ), TSize( 32, 28 ) ); - iEd_url->SetExtent( TPoint( 49, 25 ), TSize( 197, 28 ) ); - iEd_info->SetExtent( TPoint( 3, 78 ), TSize( 235, 143 ) ); + iImage1->SetExtent( TPoint( 0, 0 ), TSize( 99, 111 ) ); + iLabel1->SetExtent( TPoint( 0, 196 ), TSize( 241, 27 ) ); } // ]]] end generated function /** * Handle key events. */ -TKeyResponse CSymbian_ua_guiContainer::OfferKeyEventL( +TKeyResponse CPjsuaContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ) { @@ -225,45 +244,25 @@ TKeyResponse CSymbian_ua_guiContainer::OfferKeyEventL( /** * Initialize each control upon creation. */ -void CSymbian_ua_guiContainer::InitializeControlsL() +void CPjsuaContainer::InitializeControlsL() { + iImage1 = new ( ELeave ) CEikImage; + { + CFbsBitmap *bitmap, *mask; + AknIconUtils::CreateIconL( bitmap, mask, + KpjsuaFile, EMbmPjsuaPjsua, -1 ); + AknIconUtils::SetSize( bitmap, TSize( 99, 111 ), EAspectRatioPreserved ); + iImage1->SetPicture( bitmap ); + } + iImage1->SetAlignment( EHCenterVTop ); iLabel1 = new ( ELeave ) CEikLabel; iLabel1->SetContainerWindowL( *this ); { TResourceReader reader; - iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_CONTAINER_LABEL1 ); + iEikonEnv->CreateResourceReaderLC( reader, R_PJSUA_CONTAINER_LABEL1 ); iLabel1->ConstructFromResourceL( reader ); CleanupStack::PopAndDestroy(); // reader internal state } - iEd_url = new ( ELeave ) CEikEdwin; - iEd_url->SetContainerWindowL( *this ); - { - TResourceReader reader; - iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_CONTAINER_ED_URL ); - iEd_url->ConstructFromResourceL( reader ); - CleanupStack::PopAndDestroy(); // reader internal state - } - { - HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_ED_URL_2 ); - iEd_url->SetTextL( text ); - CleanupStack::PopAndDestroy( text ); - } - iEd_info = new ( ELeave ) CEikEdwin; - iEd_info->SetContainerWindowL( *this ); - { - TResourceReader reader; - iEikonEnv->CreateResourceReaderLC( reader, R_SYMBIAN_UA_GUI_CONTAINER_ED_INFO ); - iEd_info->ConstructFromResourceL( reader ); - CleanupStack::PopAndDestroy(); // reader internal state - } - { - HBufC* text = StringLoader::LoadLC( R_SYMBIAN_UA_GUI_CONTAINER_ED_INFO_2 ); - iEd_info->SetTextL( text ); - CleanupStack::PopAndDestroy( text ); - } - - iEd_url->SetFocus( ETrue ); - iFocusControl = iEd_url; } // ]]] end generated function @@ -271,10 +270,10 @@ void CSymbian_ua_guiContainer::InitializeControlsL() /** * Handle global resource changes, such as scalable UI or skin events (override) */ -void CSymbian_ua_guiContainer::HandleResourceChange( TInt aType ) +void CPjsuaContainer::HandleResourceChange( TInt aType ) { CCoeControl::HandleResourceChange( aType ); - SetRect( iAvkonViewAppUi->View( TUid::Uid( ESymbian_ua_guiContainerViewId ) )->ClientRect() ); + SetRect( iAvkonViewAppUi->View( TUid::Uid( EPjsuaContainerViewId ) )->ClientRect() ); // [[[ begin generated region: do not modify [Generated Contents] // ]]] end generated region [Generated Contents] @@ -283,13 +282,31 @@ void CSymbian_ua_guiContainer::HandleResourceChange( TInt aType ) /** * Draw container contents. */ -void CSymbian_ua_guiContainer::Draw( const TRect& aRect ) const +void CPjsuaContainer::Draw( const TRect& aRect ) const { // [[[ begin generated region: do not modify [Generated Contents] CWindowGc& gc = SystemGc(); - gc.Clear( aRect ); + gc.SetPenStyle( CGraphicsContext::ENullPen ); + TRgb backColor( 0,0,0 ); + gc.SetBrushColor( backColor ); + gc.SetBrushStyle( CGraphicsContext::ESolidBrush ); + gc.DrawRect( aRect ); // ]]] end generated region [Generated Contents] } - + +void CPjsuaContainer::PutMessageL( const char * msg ) +{ + if (!iLabel1) + return; + + TPtrC8 ptr(reinterpret_cast<const TUint8*>(msg)); + HBufC* buffer = HBufC::NewLC(ptr.Length()); + buffer->Des().Copy(ptr); + + iLabel1->SetTextL(*buffer); + iLabel1->DrawNow(); + + CleanupStack::PopAndDestroy(buffer); +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaDocument.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaDocument.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f349c6e82db7890c3d16ec8a6826fbbd96f857b5 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/symbian/src/pjsuaDocument.cpp @@ -0,0 +1,57 @@ +/* +======================================================================== + Name : pjsuaDocument.cpp + Author : nanang + Copyright : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + Description : +======================================================================== +*/ +// [[[ begin generated region: do not modify [Generated User Includes] +#include "pjsuaDocument.h" +#include "pjsuaAppUi.h" +// ]]] end generated region [Generated User Includes] + +/** + * @brief Constructs the document class for the application. + * @param anApplication the application instance + */ +CpjsuaDocument::CpjsuaDocument( CEikApplication& anApplication ) + : CAknDocument( anApplication ) + { + } + +/** + * @brief Completes the second phase of Symbian object construction. + * Put initialization code that could leave here. + */ +void CpjsuaDocument::ConstructL() + { + } + +/** + * Symbian OS two-phase constructor. + * + * Creates an instance of CpjsuaDocument, constructs it, and + * returns it. + * + * @param aApp the application instance + * @return the new CpjsuaDocument + */ +CpjsuaDocument* CpjsuaDocument::NewL( CEikApplication& aApp ) + { + CpjsuaDocument* self = new ( ELeave ) CpjsuaDocument( aApp ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +/** + * @brief Creates the application UI object for this document. + * @return the new instance + */ +CEikAppUi* CpjsuaDocument::CreateAppUiL() + { + return new ( ELeave ) CpjsuaAppUi; + } + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/wm/main_wm.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/wm/main_wm.c new file mode 100644 index 0000000000000000000000000000000000000000..d9c21394bd7a307cf81f25c02846a780e17e8a9b --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/wm/main_wm.c @@ -0,0 +1,370 @@ +/* $Id: main_wm.c 4492 2013-04-23 10:59:52Z nanang $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <winuserm.h> +#include <aygshell.h> +#include "..\pjsua_app.h" +#include "..\pjsua_app_config.h" + +#define MAINWINDOWCLASS TEXT("PjsuaDlg") +#define MAINWINDOWTITLE TEXT("PJSUA") +#define LOGO_PATH TEXT("\\Program Files\\pjsua\\pjsua.bmp") + +#define WM_APP_INIT WM_USER + 1 +#define WM_APP_DESTROY WM_USER + 2 +#define WM_APP_RESTART WM_USER + 3 + +static HINSTANCE g_hInst; +static HWND g_hWndMenuBar; +static HWND g_hWndMain; +static HWND g_hWndLbl; +static HWND g_hWndImg; +static HBITMAP g_hBmp; + +static int start_argc; +static char **start_argv; + +/* Helper funtions to init/destroy the pjsua */ +static void PjsuaInit(); +static void PjsuaDestroy(); + +/* pjsua app callbacks */ +static void PjsuaOnStarted(pj_status_t status, const char* title); +static void PjsuaOnStopped(pj_bool_t restart, int argc, char** argv); +static void PjsuaOnConfig(pjsua_app_config *cfg); + +LRESULT CALLBACK DialogProc(const HWND hWnd, + const UINT Msg, + const WPARAM wParam, + const LPARAM lParam) +{ + LRESULT res = 0; + + switch (Msg) { + case WM_CREATE: + g_hWndMain = hWnd; + break; + + case WM_COMMAND: /* Exit menu */ + case WM_CLOSE: + PostQuitMessage(0); + break; + + case WM_HOTKEY: + /* Exit app when back is pressed. */ + if (VK_TBACK == HIWORD(lParam) && (0 != (MOD_KEYUP & LOWORD(lParam)))) { + PostQuitMessage(0); + } else { + return DefWindowProc(hWnd, Msg, wParam, lParam); + } + break; + + case WM_CTLCOLORSTATIC: + /* Set text and background color for static windows */ + SetTextColor((HDC)wParam, RGB(255, 255, 255)); + SetBkColor((HDC)wParam, RGB(0, 0, 0)); + return (LRESULT)GetStockObject(BLACK_BRUSH); + + case WM_APP_INIT: + case WM_APP_RESTART: + PjsuaInit(); + break; + + case WM_APP_DESTROY: + PostQuitMessage(0); + break; + + default: + return DefWindowProc(hWnd, Msg, wParam, lParam); + } + + return res; +} + + +/* === GUI === */ + +pj_status_t GuiInit() +{ + WNDCLASS wc; + HWND hWnd = NULL; + RECT r; + DWORD dwStyle; + enum { LABEL_HEIGHT = 30 }; + enum { MENU_ID_EXIT = 50000 }; + BITMAP bmp; + HMENU hRootMenu; + SHMENUBARINFO mbi; + + pj_status_t status = PJ_SUCCESS; + + /* Check if app is running. If it's running then focus on the window */ + hWnd = FindWindow(MAINWINDOWCLASS, MAINWINDOWTITLE); + + if (NULL != hWnd) { + SetForegroundWindow(hWnd); + return status; + } + + wc.style = CS_HREDRAW | CS_VREDRAW; + wc.lpfnWndProc = (WNDPROC)DialogProc; + wc.cbClsExtra = 0; + wc.cbWndExtra = 0; + wc.hInstance = g_hInst; + wc.hIcon = 0; + wc.hCursor = 0; + wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); + wc.lpszMenuName = 0; + wc.lpszClassName = MAINWINDOWCLASS; + + if (!RegisterClass(&wc) != 0) { + DWORD err = GetLastError(); + return PJ_RETURN_OS_ERROR(err); + } + + /* Create the app. window */ + g_hWndMain = CreateWindow(MAINWINDOWCLASS, MAINWINDOWTITLE, + WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, + CW_USEDEFAULT, CW_USEDEFAULT, + (HWND)NULL, NULL, g_hInst, (LPSTR)NULL); + if (g_hWndMain == NULL) { + DWORD err = GetLastError(); + return PJ_RETURN_OS_ERROR(err); + } + + /* Create exit menu */ + hRootMenu = CreateMenu(); + AppendMenu(hRootMenu, MF_STRING, MENU_ID_EXIT, L"Exit"); + + /* Initialize menubar */ + ZeroMemory(&mbi, sizeof(SHMENUBARINFO)); + mbi.cbSize = sizeof(SHMENUBARINFO); + mbi.hwndParent = g_hWndMain; + mbi.dwFlags = SHCMBF_HIDESIPBUTTON|SHCMBF_HMENU; + mbi.nToolBarId = (UINT)hRootMenu; + mbi.hInstRes = g_hInst; + + if (FALSE == SHCreateMenuBar(&mbi)) { + DWORD err = GetLastError(); + return PJ_RETURN_OS_ERROR(err); + } + + /* Store menu window handle */ + g_hWndMenuBar = mbi.hwndMB; + + /* Show the menu */ + DrawMenuBar(g_hWndMain); + ShowWindow(g_hWndMenuBar, SW_SHOW); + + /* Override back button */ + SendMessage(g_hWndMenuBar, SHCMBM_OVERRIDEKEY, VK_TBACK, + MAKELPARAM(SHMBOF_NODEFAULT | SHMBOF_NOTIFY, + SHMBOF_NODEFAULT | SHMBOF_NOTIFY)); + + /* Get main window size */ + GetClientRect(g_hWndMain, &r); +#if defined(WIN32_PLATFORM_PSPC) && WIN32_PLATFORM_PSPC != 0 + /* Adjust the height for PocketPC platform */ + r.bottom -= GetSystemMetrics(SM_CYMENU); +#endif + + /* Create logo */ + g_hBmp = SHLoadDIBitmap(LOGO_PATH); /* for jpeg, uses SHLoadImageFile() */ + if (g_hBmp == NULL) { + DWORD err = GetLastError(); + return PJ_RETURN_OS_ERROR(err); + } + GetObject(g_hBmp, sizeof(bmp), &bmp); + + dwStyle = SS_CENTERIMAGE | SS_REALSIZEIMAGE | SS_BITMAP | + WS_CHILD | WS_VISIBLE; + g_hWndImg = CreateWindow(TEXT("STATIC"), NULL, dwStyle, + (r.right-r.left-bmp.bmWidth)/2, + (r.bottom-r.top-bmp.bmHeight)/2, + bmp.bmWidth, bmp.bmHeight, + g_hWndMain, (HMENU)0, g_hInst, NULL); + if (g_hWndImg == NULL) { + DWORD err = GetLastError(); + return PJ_RETURN_OS_ERROR(err); + } + SendMessage(g_hWndImg, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)g_hBmp); + + /* Create label */ + dwStyle = WS_CHILD | WS_VISIBLE | ES_CENTER; + g_hWndLbl = CreateWindow(TEXT("STATIC"), NULL, dwStyle, + 0, r.bottom-LABEL_HEIGHT, r.right-r.left, LABEL_HEIGHT, + g_hWndMain, (HMENU)0, g_hInst, NULL); + if (g_hWndLbl == NULL) { + DWORD err = GetLastError(); + return PJ_RETURN_OS_ERROR(err); + } + SetWindowText(g_hWndLbl, _T("Please wait..")); + + return status; +} + + +pj_status_t GuiStart() +{ + MSG msg; + while (GetMessage(&msg, NULL, 0, 0)) { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + return (msg.wParam); +} + +void GuiDestroy(void) +{ + if (g_hWndMain) { + DestroyWindow(g_hWndMain); + g_hWndMain = NULL; + } + if (g_hWndMenuBar) { + DestroyWindow(g_hWndMenuBar); + g_hWndMenuBar = NULL; + } + if (g_hWndLbl) { + DestroyWindow(g_hWndLbl); + g_hWndLbl = NULL; + } + if (g_hWndImg) { + DestroyWindow(g_hWndImg); + g_hWndImg = NULL; + } + if (g_hBmp) { + DeleteObject(g_hBmp); + g_hBmp = NULL; + } + UnregisterClass(MAINWINDOWCLASS, g_hInst); +} + +/* === ENGINE === */ + +/* Called when pjsua is started */ +void PjsuaOnStarted(pj_status_t status, const char* title) +{ + wchar_t wtitle[128]; + char err_msg[128]; + + if (status != PJ_SUCCESS || title == NULL) { + char err_str[PJ_ERR_MSG_SIZE]; + pj_strerror(status, err_str, sizeof(err_str)); + pj_ansi_snprintf(err_msg, sizeof(err_msg), "%s: %s", + (title?title:"App start error"), err_str); + title = err_msg; + } + + pj_ansi_to_unicode(title, strlen(title), wtitle, PJ_ARRAY_SIZE(wtitle)); + SetWindowText(g_hWndLbl, wtitle); +} + +/* Called when pjsua is stopped */ +void PjsuaOnStopped(pj_bool_t restart, int argc, char** argv) +{ + if (restart) { + start_argc = argc; + start_argv = argv; + + // Schedule Lib Restart + PostMessage(g_hWndMain, WM_APP_RESTART, 0, 0); + } else { + /* Destroy & quit GUI, e.g: clean up window, resources */ + PostMessage(g_hWndMain, WM_APP_DESTROY, 0, 0); + } +} + +/* Called before pjsua initializing config. */ +void PjsuaOnConfig(pjsua_app_config *cfg) +{ + PJ_UNUSED_ARG(cfg); +} + +void PjsuaInit() +{ + pjsua_app_cfg_t app_cfg; + pj_status_t status; + + /* Destroy pjsua app first */ + pjsua_app_destroy(); + + /* Init pjsua app */ + pj_bzero(&app_cfg, sizeof(app_cfg)); + app_cfg.argc = start_argc; + app_cfg.argv = start_argv; + app_cfg.on_started = &PjsuaOnStarted; + app_cfg.on_stopped = &PjsuaOnStopped; + app_cfg.on_config_init = &PjsuaOnConfig; + + SetWindowText(g_hWndLbl, _T("Initializing..")); + status = pjsua_app_init(&app_cfg); + if (status != PJ_SUCCESS) + goto on_return; + + SetWindowText(g_hWndLbl, _T("Starting..")); + status = pjsua_app_run(PJ_FALSE); + if (status != PJ_SUCCESS) + goto on_return; + +on_return: + if (status != PJ_SUCCESS) + SetWindowText(g_hWndLbl, _T("Initialization failed")); +} + +void PjsuaDestroy() +{ + pjsua_app_destroy(); +} + +/* === MAIN === */ + +int WINAPI WinMain( + HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPWSTR lpCmdLine, + int nShowCmd +) +{ + int status; + + PJ_UNUSED_ARG(hPrevInstance); + PJ_UNUSED_ARG(lpCmdLine); + PJ_UNUSED_ARG(nShowCmd); + + // store the hInstance in global + g_hInst = hInstance; + + // Start GUI + status = GuiInit(); + if (status != 0) + goto on_return; + + // Setup args and start pjsua + start_argc = pjsua_app_def_argc; + start_argv = (char**)pjsua_app_def_argv; + PostMessage(g_hWndMain, WM_APP_INIT, 0, 0); + + status = GuiStart(); + +on_return: + PjsuaDestroy(); + GuiDestroy(); + + return status; +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/wm/pjsua.bmp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/wm/pjsua.bmp new file mode 100644 index 0000000000000000000000000000000000000000..6fd0c95be25afbc2d282aad6ec2e58b7675292da Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsua/wm/pjsua.bmp differ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/gui.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/gui.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/gui.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/gui.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/main_console.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/main_console.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/main_console.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/main_console.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/main_wm.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/main_wm.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/main_wm.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/main_wm.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/pjsystest_wince.rc b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/pjsystest_wince.rc similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/pjsystest_wince.rc rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/pjsystest_wince.rc diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/pjsystest_wince.rc2 b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/pjsystest_wince.rc2 similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/pjsystest_wince.rc2 rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/pjsystest_wince.rc2 diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/resource.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/resource.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/resource.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/resource.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/systest.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/systest.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/systest.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/systest.c index 07677633d51b2ff5db953bd0e63e9953bf0e825f..8750187ba9129645c57261ebaf08419e8e53e3d3 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/systest.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/systest.c @@ -1,5 +1,5 @@ -/* $Id: systest.c 4087 2012-04-26 03:39:24Z ming $ */ -/* +/* $Id: systest.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * * This program is free software; you can redistribute it and/or modify @@ -14,7 +14,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "systest.h" #include "gui.h" @@ -56,34 +56,34 @@ static gui_menu menu_sndaec = { "AEC/AES Test", &systest_aec_test }; static gui_menu menu_listdev = { "View Devices", &systest_list_audio_devs }; static gui_menu menu_getsets = { "View Settings", &systest_display_settings }; -static gui_menu menu_tests = { - "Tests", NULL, - 10, +static gui_menu menu_tests = { + "Tests", NULL, + 10, { &menu_wizard, - &menu_audtest, + &menu_audtest, &menu_playtn, &menu_playwv1, &menu_playwv2, &menu_recaud, &menu_calclat, &menu_sndaec, - NULL, + NULL, &menu_exit } }; -static gui_menu menu_options = { - "Options", NULL, - 2, +static gui_menu menu_options = { + "Options", NULL, + 2, { &menu_listdev, &menu_getsets, } }; -static gui_menu root_menu = { - "Root", NULL, 2, {&menu_tests, &menu_options} +static gui_menu root_menu = { + "Root", NULL, 2, {&menu_tests, &menu_options} }; /*****************************************************************/ @@ -133,7 +133,7 @@ static void systest_perror(const char *title, pj_status_t status) pj_strerror(status, errmsg, sizeof(errmsg)); else errmsg[0] = '\0'; - + strcpy(themsg, title); strncat(themsg, errmsg, sizeof(themsg)-1); themsg[sizeof(themsg)-1] = '\0'; @@ -158,7 +158,7 @@ test_item_t *systest_alloc_test_item(const char *title) } /***************************************************************************** - * test: play simple ringback tone and hear it + * test: play simple ringback tone and hear it */ static void systest_play_tone(void) { @@ -201,17 +201,17 @@ static void systest_play_tone(void) PJ_LOG(3,(THIS_FILE, "Running %s", title)); pool = pjsua_pool_create("ringback", 512, 512); - samples_per_frame = systest.media_cfg.audio_frame_ptime * + samples_per_frame = systest.media_cfg.audio_frame_ptime * systest.media_cfg.clock_rate * systest.media_cfg.channel_count / 1000; /* Ringback tone (call is ringing) */ name = pj_str("ringback"); - status = pjmedia_tonegen_create2(pool, &name, + status = pjmedia_tonegen_create2(pool, &name, systest.media_cfg.clock_rate, - systest.media_cfg.channel_count, + systest.media_cfg.channel_count, samples_per_frame, - 16, PJMEDIA_TONEGEN_LOOP, + 16, PJMEDIA_TONEGEN_LOOP, &ringback_port); if (status != PJ_SUCCESS) goto on_return; @@ -269,7 +269,7 @@ on_return: /* Util: create file player, each time trying different paths until we get * the file. */ -static pj_status_t create_player(unsigned path_cnt, const char *paths[], +static pj_status_t create_player(unsigned path_cnt, const char *paths[], pjsua_player_id *p_id) { pj_str_t name; @@ -364,7 +364,7 @@ static void systest_play_wav2(void) /***************************************************************************** - * test: record audio + * test: record audio */ static void systest_rec_audio(void) { @@ -387,7 +387,7 @@ static void systest_rec_audio(void) "This test will allow you to record audio " "from the microphone, and playback the " "audio to the speaker. Press OK to start recording, " - "CANCEL to skip.", + "CANCEL to skip.", WITH_OKCANCEL); if (key != KEY_OK) { ti->skipped = PJ_TRUE; @@ -432,7 +432,7 @@ static void systest_rec_audio(void) "Recording has been stopped. " "The recorded audio is being played now to " "the speaker device, in a loop. Listen for " - "any audio impairments. Press OK to stop.", + "any audio impairments. Press OK to stop.", WITH_OK); on_return: @@ -479,7 +479,7 @@ static void systest_audio_test(void) const pjmedia_dir dir = PJMEDIA_DIR_CAPTURE_PLAYBACK; pjmedia_aud_param param; pjmedia_aud_test_results result; - int textbufpos; + pj_size_t textbufpos; enum gui_key key; unsigned problem_count = 0; const char *problems[16]; @@ -525,11 +525,11 @@ static void systest_audio_test(void) param.play_id = systest.play_id; param.clock_rate = systest.media_cfg.snd_clock_rate; param.channel_count = systest.media_cfg.channel_count; - param.samples_per_frame = param.clock_rate * param.channel_count * + param.samples_per_frame = param.clock_rate * param.channel_count * systest.media_cfg.audio_frame_ptime / 1000; /* Latency settings */ - param.flags |= (PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY | + param.flags |= (PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY | PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY); param.input_latency_ms = systest.media_cfg.snd_rec_latency; param.output_latency_ms = systest.media_cfg.snd_play_latency; @@ -553,11 +553,11 @@ static void systest_audio_test(void) textbufpos = strlen(textbuf); if (result.rec.frame_cnt==0) { - problems[problem_count++] = + problems[problem_count++] = "No audio frames were captured from the microphone. " "This means the audio device is not working properly."; } else { - pj_ansi_snprintf(textbuf+textbufpos, + pj_ansi_snprintf(textbuf+textbufpos, sizeof(textbuf)-textbufpos, "Rec : interval (min/max/avg/dev)=\r\n" " %u/%u/%u/%u (ms)\r\n" @@ -570,17 +570,17 @@ static void systest_audio_test(void) textbufpos = strlen(textbuf); if (result.rec.max_burst > GOOD_MAX_INTERVAL) { - problems[problem_count++] = + problems[problem_count++] = "Recording max burst is quite high"; } } if (result.play.frame_cnt==0) { - problems[problem_count++] = + problems[problem_count++] = "No audio frames were played to the speaker. " "This means the audio device is not working properly."; } else { - pj_ansi_snprintf(textbuf+textbufpos, + pj_ansi_snprintf(textbuf+textbufpos, sizeof(textbuf)-textbufpos, "Play: interval (min/max/avg/dev)=\r\n" " %u/%u/%u/%u (ms)\r\n" @@ -593,14 +593,14 @@ static void systest_audio_test(void) textbufpos = strlen(textbuf); if (result.play.max_burst > GOOD_MAX_INTERVAL) { - problems[problem_count++] = + problems[problem_count++] = "Playback max burst is quite high"; } } if (result.rec_drift_per_sec) { const char *which = result.rec_drift_per_sec>=0 ? "faster" : "slower"; - unsigned drift = result.rec_drift_per_sec>=0 ? + unsigned drift = result.rec_drift_per_sec>=0 ? result.rec_drift_per_sec : -result.rec_drift_per_sec; @@ -613,7 +613,7 @@ static void systest_audio_test(void) } if (problem_count == 0) { - pj_ansi_snprintf(textbuf+textbufpos, + pj_ansi_snprintf(textbuf+textbufpos, sizeof(textbuf)-textbufpos, "\r\nThe sound device seems to be okay!"); textbufpos = strlen(textbuf); @@ -623,7 +623,7 @@ static void systest_audio_test(void) unsigned i; pj_ansi_snprintf(textbuf+textbufpos, - sizeof(textbuf)-textbufpos, + sizeof(textbuf)-textbufpos, "There could be %d problem(s) with the " "sound device:\r\n", problem_count); @@ -631,7 +631,7 @@ static void systest_audio_test(void) for (i=0; i<problem_count; ++i) { pj_ansi_snprintf(textbuf+textbufpos, - sizeof(textbuf)-textbufpos, + sizeof(textbuf)-textbufpos, " %d: %s\r\n", i+1, problems[i]); textbufpos = strlen(textbuf); } @@ -649,12 +649,13 @@ static void systest_audio_test(void) * sound latency test */ static int calculate_latency(pj_pool_t *pool, pjmedia_port *wav, - unsigned *lat_sum, unsigned *lat_cnt, + unsigned *lat_sum, unsigned *lat_cnt, unsigned *lat_min, unsigned *lat_max) { pjmedia_frame frm; short *buf; - unsigned i, clock_rate, samples_per_frame, read, len; + unsigned i, clock_rate, samples_per_frame; + pj_size_t read, len; unsigned start_pos; pj_bool_t first; pj_status_t status; @@ -687,7 +688,7 @@ static int calculate_latency(pj_pool_t *pool, pjmedia_port *wav, return -1; } - /* Zero the first 500ms to remove loud click noises + /* Zero the first 500ms to remove loud click noises * (keypad press, etc.) */ pjmedia_zero_samples(buf, clock_rate / 2); @@ -782,7 +783,7 @@ static void systest_latency_test(void) ti->skipped = PJ_TRUE; return; } - key = gui_msgbox(title, + key = gui_msgbox(title, "For this test to work, we must be able to capture " "the audio played in the speaker (the echo), and only" " that audio (i.e. you must be in relatively quiet " @@ -796,7 +797,7 @@ static void systest_latency_test(void) PJ_LOG(3,(THIS_FILE, "Running %s", title)); - status = create_player(PJ_ARRAY_SIZE(ref_wav_paths), ref_wav_paths, + status = create_player(PJ_ARRAY_SIZE(ref_wav_paths), ref_wav_paths, &play_id); if (status != PJ_SUCCESS) goto on_return; @@ -815,7 +816,7 @@ static void systest_latency_test(void) status = pjsua_conf_connect(play_slot, 0); status = pjsua_conf_connect(0, rec_slot); status = pjsua_conf_connect(play_slot, rec_slot); - + /* We're running */ PJ_LOG(3,(THIS_FILE, "Please wait while test is running (~10 sec)")); @@ -868,7 +869,7 @@ static void systest_latency_test(void) if (status != PJ_SUCCESS) goto on_return; - status = calculate_latency(pool, wav_port, &lat_sum, &lat_cnt, + status = calculate_latency(pool, wav_port, &lat_sum, &lat_cnt, &lat_min, &lat_max); if (status != PJ_SUCCESS) goto on_return; @@ -894,7 +895,7 @@ on_return: } } else { char msg[200]; - int msglen; + pj_size_t msglen; pj_ansi_snprintf(msg, sizeof(msg), "The sound device latency:\r\n" @@ -911,7 +912,7 @@ on_return: "The latency is quite high\r\n"); msglen = strlen(msg); } - + key = gui_msgbox(title, msg, WITH_OK); ti->success = PJ_TRUE; @@ -963,7 +964,7 @@ static void systest_aec_test(void) /* * Create player and recorder */ - status = create_player(PJ_ARRAY_SIZE(ref_wav_paths), ref_wav_paths, + status = create_player(PJ_ARRAY_SIZE(ref_wav_paths), ref_wav_paths, &player_id); if (status != PJ_SUCCESS) { PJ_PERROR(1,(THIS_FILE, status, "Error opening WAV file %s", @@ -1016,7 +1017,7 @@ static void systest_aec_test(void) /* Wait user signal */ gui_msgbox(title, "We are now playing the captured audio from the mic. " "Check if echo (of the audio played back previously) is " - "present in the audio. The recording is stored in " + "present in the audio. The recording is stored in " AEC_REC_PATH " for offline analysis. " "Press OK to stop.", WITH_OK); @@ -1066,12 +1067,13 @@ on_return: */ static void systest_list_audio_devs() { - unsigned i, dev_count, len=0; + unsigned i, dev_count; + pj_size_t len=0; pj_status_t status; test_item_t *ti; enum gui_key key; const char *title = "Audio Device List"; - + ti = systest_alloc_test_item(title); if (!ti) return; @@ -1080,7 +1082,7 @@ static void systest_list_audio_devs() dev_count = pjmedia_aud_dev_count(); if (dev_count == 0) { - key = gui_msgbox(title, + key = gui_msgbox(title, "No audio devices are found", WITH_OK); ti->success = PJ_FALSE; pj_ansi_strcpy(ti->reason, "No device found"); @@ -1104,13 +1106,14 @@ static void systest_list_audio_devs() pj_ansi_snprintf(ti->reason+len, sizeof(ti->reason)-len, " %2d: %s [%s] (%d/%d)\r\n", - i, info.driver, info.name, + i, info.driver, info.name, info.input_count, info.output_count); len = strlen(ti->reason); } ti->reason[len] = '\0'; key = gui_msgbox(title, ti->reason, WITH_OK); + PJ_UNUSED_ARG(key); ti->success = PJ_TRUE; } @@ -1118,7 +1121,7 @@ static void systest_list_audio_devs() static void systest_display_settings(void) { pjmedia_aud_dev_info di; - int len = 0; + pj_size_t len = 0; enum gui_key key; test_item_t *ti; const char *title = "Audio Settings"; @@ -1202,7 +1205,7 @@ static void systest_display_settings(void) pj_ansi_strncpy(ti->reason, textbuf, sizeof(ti->reason)); ti->reason[sizeof(ti->reason)-1] = '\0'; key = gui_msgbox(title, textbuf, WITH_OK); - + PJ_UNUSED_ARG(key); /* Warning about unused var */ } /*****************************************************************/ @@ -1240,7 +1243,7 @@ int systest_init(void) #if defined(OVERRIDE_AUDDEV_REC_LAT) && OVERRIDE_AUDDEV_REC_LAT!=0 systest.media_cfg.snd_rec_latency = OVERRIDE_AUDDEV_REC_LAT; #endif - + status = pjsua_init(&systest.ua_cfg, &log_cfg, &systest.media_cfg); if (status != PJ_SUCCESS) { pjsua_destroy(); diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/systest.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/systest.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/pjsystest/systest.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/pjsystest/systest.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/DEPRECATED.txt b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/DEPRECATED.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/DEPRECATED.txt rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/DEPRECATED.txt diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/Makefile b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/Makefile similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/Makefile rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/Makefile diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/helper.mak b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/helper.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/helper.mak rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/helper.mak diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/pjsua.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/pjsua.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/pjsua.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/pjsua.py diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/pjsua_app.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/pjsua_app.py similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/pjsua_app.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/pjsua_app.py index a0fd56cc1717cf98df729d9b8bc1342dfe84e292..aee1c221b4e047b17cd920c5ad288c0947495d34 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/pjsua_app.py +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/pjsua_app.py @@ -1,4 +1,4 @@ -# $Id: pjsua_app.py 1438 2007-09-17 15:44:47Z bennylp $ +# $Id: pjsua_app.py 4724 2014-01-31 08:52:09Z nanang $ # # Sample and simple Python script to make and receive calls, and do # presence and instant messaging/IM using PJSUA-API binding for Python. @@ -157,7 +157,7 @@ def on_call_transfer_status(call_id,status_code,status_text,final,p_cont): write_log(3, "Call " + `call_id` + ": transfer status= " + `status_code` + " " + status_text+ " " + strfinal) if status_code/100 == 2: - write_log(3, "Call " + `call_id` + " : call transfered successfully, disconnecting call") + write_log(3, "Call " + `call_id` + " : call transferred successfully, disconnecting call") status = py_pjsua.call_hangup(call_id, 410, None, None) p_cont = 0 @@ -411,7 +411,7 @@ def xfer_call(): else: call = g_current_call ci = py_pjsua.call_get_info(g_current_call) - print "Transfering current call ["+ `g_current_call` + "] " + ci.remote_info + print "Transferring current call ["+ `g_current_call` + "] " + ci.remote_info print "Enter sip url : " url = sys.stdin.readline() if url == "\n": @@ -423,9 +423,9 @@ def xfer_call(): msg_data = py_pjsua.msg_data_init() status = py_pjsua.call_xfer(g_current_call, url, msg_data); if status != 0: - py_pjsua.perror(THIS_FILE, "Error transfering call ", status) + py_pjsua.perror(THIS_FILE, "Error transferring call ", status) else: - write_log(3, "Call transfered to " + url) + write_log(3, "Call transferred to " + url) def xfer_call_replaces(): if g_current_call == -1: @@ -458,7 +458,7 @@ def xfer_call_replaces(): return if dst_call == call: - print "Destination call number must not be the same as the call being transfered" + print "Destination call number must not be the same as the call being transferred" return if dst_call >= py_pjsua.PJSUA_MAX_CALLS: diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/py_pjsua.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/py_pjsua.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/py_pjsua.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/py_pjsua.c index 9d221339c3cb99653cce16ebc33b8a39fface74c..0a9c6e83a4e52850d4d11bc5b4ff5a16a927b259 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/py_pjsua.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/py_pjsua.c @@ -1,4 +1,4 @@ -/* $Id: py_pjsua.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: py_pjsua.c 4724 2014-01-31 08:52:09Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -174,7 +174,7 @@ static void cb_on_dtmf_digit(pjsua_call_id call_id, int digit) /* - * Notify application on call being transfered. + * Notify application on call being transferred. * !modified @061206 */ static void cb_on_call_transfer_request(pjsua_call_id call_id, diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/py_pjsua.def b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/py_pjsua.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/py_pjsua.def rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/py_pjsua.def diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/py_pjsua.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/py_pjsua.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/py_pjsua.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/py_pjsua.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/setup.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/setup.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/py_pjsua/setup.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/py_pjsua/setup.py diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/account.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/account.py new file mode 100644 index 0000000000000000000000000000000000000000..1bc91b4f3a450a74f321bfd5c4e383484cabe9b9 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/account.py @@ -0,0 +1,239 @@ +# $Id: account.py 4704 2014-01-16 05:30:46Z ming $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk + from tkinter import messagebox as msgbox +else: + import Tkinter as tk + import tkMessageBox as msgbox + import ttk + +import random +import pjsua2 as pj +import _pjsua2 +import accountsetting +import application +import call +import chat as ch + +# Account class +class Account(pj.Account): + """ + High level Python Account object, derived from pjsua2's Account object. + """ + def __init__(self, app): + pj.Account.__init__(self) + self.app = app + self.randId = random.randint(1, 9999) + self.cfg = pj.AccountConfig() + self.cfgChanged = False + self.buddyList = [] + self.chatList = [] + self.deleting = False + + def findChat(self, uri_str): + uri = ch.ParseSipUri(uri_str) + if not uri: return None + + for chat in self.chatList: + if chat.isUriParticipant(uri) and chat.isPrivate(): + return chat + return None + + def newChat(self, uri_str): + uri = ch.ParseSipUri(uri_str) + if not uri: return None + + chat = ch.Chat(self.app, self, uri) + self.chatList.append(chat) + self.app.updateWindowMenu() + return chat + + def statusText(self): + status = '?' + if self.isValid(): + ai = self.getInfo() + if ai.regLastErr: + status = self.app.ep.utilStrError(ai.regLastErr) + elif ai.regIsActive: + if ai.onlineStatus: + if len(ai.onlineStatusText): + status = ai.onlineStatusText + else: + status = "Online" + else: + status = "Registered" + else: + if ai.regIsConfigured: + if ai.regStatus/100 == 2: + status = "Unregistered" + else: + status = ai.regStatusText + else: + status = "Doesn't register" + else: + status = '- not created -' + return status + + def onRegState(self, prm): + self.app.updateAccount(self) + + def onIncomingCall(self, prm): + c = call.Call(self, call_id=prm.callId) + call_prm = pj.CallOpParam() + call_prm.statusCode = 180 + c.answer(call_prm) + ci = c.getInfo() + msg = "Incoming call for account '%s'" % self.cfg.idUri + if msgbox.askquestion(msg, "Accept call from '%s'?" % (ci.remoteUri), default=msgbox.YES) == u'yes': + call_prm.statusCode = 200 + c.answer(call_prm) + + # find/create chat instance + chat = self.findChat(ci.remoteUri) + if not chat: chat = self.newChat(ci.remoteUri) + + chat.showWindow() + chat.registerCall(ci.remoteUri, c) + chat.updateCallState(c, ci) + else: + c.hangup(call_prm) + + def onInstantMessage(self, prm): + chat = self.findChat(prm.fromUri) + if not chat: chat = self.newChat(prm.fromUri) + + chat.showWindow() + chat.addMessage(prm.fromUri, prm.msgBody) + + def onInstantMessageStatus(self, prm): + if prm.code/100 == 2: return + + chat = self.findChat(prm.toUri) + if not chat: + print "=== IM status to '%s' cannot find chat" % prm.toUri + return + + chat.addMessage(None, "Failed sending message to '%s': %s" % (prm.toUri, prm.reason)) + + def onTypingIndication(self, prm): + chat = self.findChat(prm.fromUri) + if not chat: + print "=== Incoming typing indication from '%s' cannot find chat" % prm.fromUri + return + + chat.setTypingIndication(prm.fromUri, prm.isTyping) + + +# Account frame, to list accounts +class AccountListFrame(ttk.Frame): + """ + This implements a Frame which contains account list and buttons to operate + on them (Add, Modify, Delete, etc.). + """ + def __init__(self, parent, app, acc_list = []): + ttk.Frame.__init__(self, parent, name='acclist') + self.app = app + self.accList = acc_list + self.accDeletedList = [] + self.pack(expand='yes', fill='both') + self._createWidgets() + for acc in self.accList: + self._showAcc(acc) + + def _createWidgets(self): + self.tv = ttk.Treeview(self, columns=('ID', 'Registrar', 'Default'), selectmode='browse') + self.tv.heading('#0', text='Priority') + self.tv.heading(0, text='ID') + self.tv.heading(1, text='Registrar') + self.tv.heading(2, text='Default?') + self.tv.column('#0', width=60) + self.tv.column(0, width=300) + self.tv.column(1, width=200) + self.tv.column(2, width=60) + self.tv.grid(column=0, row=0, rowspan=4, padx=5, pady=5) + + ttk.Button(self, text='Add..', command=self._onBtnAdd).grid(column=1, row=0, padx=5) + ttk.Button(self, text='Settings..', command=self._onBtnSettings).grid(column=1, row=1) + ttk.Button(self, text='Set Default', command=self._onBtnSetDefault).grid(column=1, row=2) + ttk.Button(self, text='Delete..', command=self._onBtnDelete).grid(column=1, row=3) + + def _showAcc(self, acc): + is_default = 'Yes' if acc.isValid() and acc.isDefault() else '' + values = (acc.cfg.idUri, acc.cfg.regConfig.registrarUri, is_default) + self.tv.insert('', 0, str(acc.randId), open=True, text=str(acc.cfg.priority), values=values) + + def updateAccount(self, acc): + is_default = 'Yes' if acc.isValid() and acc.isDefault() else '' + values = (acc.cfg.idUri, acc.cfg.regConfig.registrarUri, is_default) + self.tv.item(str(acc.randId), text=str(acc.cfg.priority), values=values) + + def _getSelectedAcc(self): + items = self.tv.selection() + if not items: + return None + iid = int(items[0]) + return [acc for acc in self.accList if acc.randId==iid][0] + + def _onBtnAdd(self): + cfg = pj.AccountConfig() + dlg = accountsetting.Dialog(self.master, cfg) + if dlg.doModal(): + acc = Account(self.app) + acc.cfg = cfg + self._showAcc(acc) + self.accList.append(acc) + self.cfgChanged = True + + def _onBtnSettings(self): + acc = self._getSelectedAcc() + if not acc: + return + dlg = accountsetting.Dialog(self.master, acc.cfg) + if dlg.doModal(): + self.updateAccount(acc) + self.cfgChanged = True + + def _onBtnDelete(self): + acc = self._getSelectedAcc() + if not acc: + return + msg = "Do you really want to delete account '%s'" % acc.cfg.idUri + if msgbox.askquestion('Delete account?', msg, default=msgbox.NO) != u'yes': + return + self.accList.remove(acc) + self.accDeletedList.append(acc) + self.tv.delete( (str(acc.randId),) ) + + def _onBtnSetDefault(self): + acc = self._getSelectedAcc() + if not acc: + return + if acc.isValid(): + acc.setDefault() + for acc in self.accList: + self.updateAccount(acc) + + +if __name__ == '__main__': + application.main() diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/accountsetting.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/accountsetting.py new file mode 100644 index 0000000000000000000000000000000000000000..92cf2c48aa166166cb927e099e747b5f85bd48cf --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/accountsetting.py @@ -0,0 +1,369 @@ +# $Id: accountsetting.py 4704 2014-01-16 05:30:46Z ming $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk + from tkinter import messagebox as msgbox +else: + import Tkinter as tk + import tkMessageBox as msgbox + import ttk + +import pjsua2 as pj +import endpoint +import application + +class Dialog(tk.Toplevel): + """ + This implements account settings dialog to manipulate account settings. + """ + def __init__(self, parent, cfg): + tk.Toplevel.__init__(self, parent) + self.transient(parent) + self.parent = parent + self.geometry("+100+100") + self.title('Account settings') + + self.frm = ttk.Frame(self) + self.frm.pack(expand='yes', fill='both') + + self.isOk = False + self.cfg = cfg + + self.createWidgets() + + def doModal(self): + if self.parent: + self.parent.wait_window(self) + else: + self.wait_window(self) + return self.isOk + + def createWidgets(self): + # The notebook + self.frm.rowconfigure(0, weight=1) + self.frm.rowconfigure(1, weight=0) + self.frm.columnconfigure(0, weight=1) + self.frm.columnconfigure(1, weight=1) + self.wTab = ttk.Notebook(self.frm) + self.wTab.grid(column=0, row=0, columnspan=2, padx=10, pady=10, ipadx=20, ipady=20, sticky=tk.N+tk.S+tk.W+tk.E) + + # Main buttons + btnOk = ttk.Button(self.frm, text='Ok', command=self.onOk) + btnOk.grid(column=0, row=1, sticky=tk.E, padx=20, pady=10) + btnCancel = ttk.Button(self.frm, text='Cancel', command=self.onCancel) + btnCancel.grid(column=1, row=1, sticky=tk.W, padx=20, pady=10) + + # Tabs + self.createBasicTab() + self.createSipTab() + self.createMediaTab() + self.createMediaNatTab() + + def createBasicTab(self): + # Prepare the variables to set/receive values from GUI + self.cfgPriority = tk.IntVar(value=self.cfg.priority) + self.cfgAccId = tk.StringVar(value=self.cfg.idUri) + self.cfgRegistrar = tk.StringVar(value=self.cfg.regConfig.registrarUri) + self.cfgRegisterOnAdd = tk.IntVar(value=self.cfg.regConfig.registerOnAdd) + self.cfgUsername = tk.StringVar() + self.cfgPassword = tk.StringVar() + if len(self.cfg.sipConfig.authCreds): + self.cfgUsername.set( self.cfg.sipConfig.authCreds[0].username ) + self.cfgPassword.set( self.cfg.sipConfig.authCreds[0].data ) + self.cfgProxy = tk.StringVar() + if len(self.cfg.sipConfig.proxies): + self.cfgProxy.set( self.cfg.sipConfig.proxies[0] ) + + # Build the tab page + frm = ttk.Frame(self.frm) + frm.columnconfigure(0, weight=1) + frm.columnconfigure(1, weight=2) + row = 0 + ttk.Label(frm, text='Priority:').grid(row=row, column=0, sticky=tk.E, pady=2) + tk.Spinbox(frm, from_=0, to=9, textvariable=self.cfgPriority, width=2).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='ID (URI):').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Entry(frm, textvariable=self.cfgAccId, width=32).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='Registrar URI:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Entry(frm, textvariable=self.cfgRegistrar, width=32).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Checkbutton(frm, text='Register on add', variable=self.cfgRegisterOnAdd).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='Optional proxy URI:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Entry(frm, textvariable=self.cfgProxy, width=32).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='Auth username:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Entry(frm, textvariable=self.cfgUsername, width=16).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='Password:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Entry(frm, textvariable=self.cfgPassword, show='*', width=16).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + + self.wTab.add(frm, text='Basic Settings') + + + def createSipTab(self): + # Prepare the variables to set/receive values from GUI + self.cfgPrackUse = tk.IntVar(value=self.cfg.callConfig.prackUse) + self.cfgTimerUse = tk.IntVar(value=self.cfg.callConfig.timerUse) + self.cfgTimerExpires = tk.IntVar(value=self.cfg.callConfig.timerSessExpiresSec) + self.cfgPublish = tk.BooleanVar(value=self.cfg.presConfig.publishEnabled) + self.cfgMwiEnabled = tk.BooleanVar(value=self.cfg.mwiConfig.enabled) + self.cfgEnableContactRewrite = tk.BooleanVar(value=self.cfg.natConfig.contactRewriteUse != 0) + self.cfgEnableViaRewrite = tk.BooleanVar(value=self.cfg.natConfig.viaRewriteUse != 0) + self.cfgEnableSdpRewrite = tk.BooleanVar(value=self.cfg.natConfig.sdpNatRewriteUse != 0) + self.cfgEnableSipOutbound = tk.BooleanVar(value=self.cfg.natConfig.sipOutboundUse != 0) + self.cfgKaInterval = tk.IntVar(value=self.cfg.natConfig.udpKaIntervalSec) + + # Build the tab page + frm = ttk.Frame(self.frm) + frm.columnconfigure(0, weight=1) + frm.columnconfigure(1, weight=2) + row = 0 + ttk.Label(frm, text='100rel/PRACK:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Radiobutton(frm, text='Only offer PRACK', value=pj.PJSUA_100REL_NOT_USED, variable=self.cfgPrackUse).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Offer and use if remote supports', value=pj.PJSUA_100REL_OPTIONAL, variable=self.cfgPrackUse).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Required', value=pj.PJSUA_100REL_MANDATORY, variable=self.cfgPrackUse).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='Session Timer:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Radiobutton(frm, text='Not offered', value=pj.PJSUA_SIP_TIMER_INACTIVE, variable=self.cfgTimerUse).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Optional', value=pj.PJSUA_SIP_TIMER_OPTIONAL, variable=self.cfgTimerUse).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Required', value=pj.PJSUA_SIP_TIMER_REQUIRED, variable=self.cfgTimerUse).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text="Always use", value=pj.PJSUA_SIP_TIMER_ALWAYS, variable=self.cfgTimerUse).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='Session Timer Expiration:').grid(row=row, column=0, sticky=tk.E, pady=2) + tk.Spinbox(frm, from_=90, to=7200, textvariable=self.cfgTimerExpires, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='(seconds)').grid(row=row, column=1, sticky=tk.E) + row += 1 + ttk.Label(frm, text='Presence:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Checkbutton(frm, text='Enable PUBLISH', variable=self.cfgPublish).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='Message Waiting Indication:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Checkbutton(frm, text='Enable MWI', variable=self.cfgMwiEnabled).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='NAT Traversal:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Checkbutton(frm, text='Enable Contact Rewrite', variable=self.cfgEnableContactRewrite).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Checkbutton(frm, text='Enable Via Rewrite', variable=self.cfgEnableViaRewrite).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Checkbutton(frm, text='Enable SDP IP Address Rewrite', variable=self.cfgEnableSdpRewrite).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Checkbutton(frm, text='Enable SIP Outbound Extension', variable=self.cfgEnableSipOutbound).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='UDP Keep-Alive Interval:').grid(row=row, column=0, sticky=tk.E, pady=2) + tk.Spinbox(frm, from_=0, to=3600, textvariable=self.cfgKaInterval, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='(seconds) Zero to disable.').grid(row=row, column=1, sticky=tk.E) + + + self.wTab.add(frm, text='SIP Features') + + def createMediaTab(self): + # Prepare the variables to set/receive values from GUI + self.cfgMedPort = tk.IntVar(value=self.cfg.mediaConfig.transportConfig.port) + self.cfgMedPortRange = tk.IntVar(value=self.cfg.mediaConfig.transportConfig.portRange) + self.cfgMedLockCodec = tk.BooleanVar(value=self.cfg.mediaConfig.lockCodecEnabled) + self.cfgMedSrtp = tk.IntVar(value=self.cfg.mediaConfig.srtpUse) + self.cfgMedSrtpSecure = tk.IntVar(value=self.cfg.mediaConfig.srtpSecureSignaling) + self.cfgMedIpv6 = tk.BooleanVar(value=self.cfg.mediaConfig.ipv6Use==pj.PJSUA_IPV6_ENABLED) + + # Build the tab page + frm = ttk.Frame(self.frm) + frm.columnconfigure(0, weight=1) + frm.columnconfigure(1, weight=21) + row = 0 + ttk.Label(frm, text='Secure RTP (SRTP):').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Radiobutton(frm, text='Disable', value=pj.PJMEDIA_SRTP_DISABLED, variable=self.cfgMedSrtp).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Mandatory', value=pj.PJMEDIA_SRTP_MANDATORY, variable=self.cfgMedSrtp).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Optional (non-standard)', value=pj.PJMEDIA_SRTP_OPTIONAL, variable=self.cfgMedSrtp).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='SRTP signaling:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Radiobutton(frm, text='Does not require secure signaling', value=0, variable=self.cfgMedSrtpSecure).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Require secure next hop (TLS)', value=1, variable=self.cfgMedSrtpSecure).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Require secure end-to-end (SIPS)', value=2, variable=self.cfgMedSrtpSecure).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='RTP transport start port:').grid(row=row, column=0, sticky=tk.E, pady=2) + tk.Spinbox(frm, from_=0, to=65535, textvariable=self.cfgMedPort, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='(0: any)').grid(row=row, column=1, sticky=tk.E, pady=2) + row += 1 + ttk.Label(frm, text='Port range:').grid(row=row, column=0, sticky=tk.E, pady=2) + tk.Spinbox(frm, from_=0, to=65535, textvariable=self.cfgMedPortRange, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='(0: not limited)').grid(row=row, column=1, sticky=tk.E, pady=2) + row += 1 + ttk.Label(frm, text='Lock codec:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Checkbutton(frm, text='Enable', variable=self.cfgMedLockCodec).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='Use IPv6:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Checkbutton(frm, text='Yes', variable=self.cfgMedIpv6).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + + self.wTab.add(frm, text='Media settings') + + def createMediaNatTab(self): + # Prepare the variables to set/receive values from GUI + self.cfgSipUseStun = tk.IntVar(value = self.cfg.natConfig.sipStunUse) + self.cfgMediaUseStun = tk.IntVar(value = self.cfg.natConfig.mediaStunUse) + self.cfgIceEnabled = tk.BooleanVar(value = self.cfg.natConfig.iceEnabled) + self.cfgIceAggressive = tk.BooleanVar(value = self.cfg.natConfig.iceAggressiveNomination) + self.cfgAlwaysUpdate = tk.BooleanVar(value = True if self.cfg.natConfig.iceAlwaysUpdate else False) + self.cfgIceNoHostCands = tk.BooleanVar(value = True if self.cfg.natConfig.iceMaxHostCands == 0 else False) + self.cfgTurnEnabled = tk.BooleanVar(value = self.cfg.natConfig.turnEnabled) + self.cfgTurnServer = tk.StringVar(value = self.cfg.natConfig.turnServer) + self.cfgTurnConnType = tk.IntVar(value = self.cfg.natConfig.turnConnType) + self.cfgTurnUser = tk.StringVar(value = self.cfg.natConfig.turnUserName) + self.cfgTurnPasswd = tk.StringVar(value = self.cfg.natConfig.turnPassword) + + # Build the tab page + frm = ttk.Frame(self.frm) + frm.columnconfigure(0, weight=1) + frm.columnconfigure(1, weight=2) + row = 0 + ttk.Label(frm, text='SIP STUN Usage:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Radiobutton(frm, text='Default', value=pj.PJSUA_STUN_USE_DEFAULT, variable=self.cfgSipUseStun).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Disable', value=pj.PJSUA_STUN_USE_DISABLED, variable=self.cfgSipUseStun).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='Media STUN Usage:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Radiobutton(frm, text='Default', value=pj.PJSUA_STUN_USE_DEFAULT, variable=self.cfgMediaUseStun).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='Disable', value=pj.PJSUA_STUN_USE_DISABLED, variable=self.cfgMediaUseStun).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='ICE:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Checkbutton(frm, text='Enable', variable=self.cfgIceEnabled).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Checkbutton(frm, text='Use aggresive nomination', variable=self.cfgIceAggressive).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Checkbutton(frm, text='Always re-INVITE after negotiation', variable=self.cfgAlwaysUpdate).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Checkbutton(frm, text='Disable host candidates', variable=self.cfgIceNoHostCands).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='TURN:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Checkbutton(frm, text='Enable', variable=self.cfgTurnEnabled).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='TURN server:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Entry(frm, textvariable=self.cfgTurnServer, width=20).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='host[:port]').grid(row=row, column=1, sticky=tk.E, pady=6) + row += 1 + ttk.Label(frm, text='TURN connection:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Radiobutton(frm, text='UDP', value=pj.PJ_TURN_TP_UDP, variable=self.cfgTurnConnType).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Radiobutton(frm, text='TCP', value=pj.PJ_TURN_TP_TCP, variable=self.cfgTurnConnType).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='TURN username:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Entry(frm, textvariable=self.cfgTurnUser, width=16).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='TURN password:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Entry(frm, textvariable=self.cfgTurnPasswd, show='*', width=16).grid(row=row, column=1, sticky=tk.W, padx=6) + + self.wTab.add(frm, text='NAT settings') + + def onOk(self): + # Check basic settings + errors = ""; + if not self.cfgAccId.get(): + errors += "Account ID is required\n" + if self.cfgAccId.get(): + if not endpoint.validateSipUri(self.cfgAccId.get()): + errors += "Invalid SIP ID URI: '%s'\n" % (self.cfgAccId.get()) + if self.cfgRegistrar.get(): + if not endpoint.validateSipUri(self.cfgRegistrar.get()): + errors += "Invalid SIP registrar URI: '%s'\n" % (self.cfgRegistrar.get()) + if self.cfgProxy.get(): + if not endpoint.validateSipUri(self.cfgProxy.get()): + errors += "Invalid SIP proxy URI: '%s'\n" % (self.cfgProxy.get()) + if self.cfgTurnEnabled.get(): + if not self.cfgTurnServer.get(): + errors += "TURN server is required\n" + if errors: + msgbox.showerror("Error detected:", errors) + return + + # Basic settings + self.cfg.priority = self.cfgPriority.get() + self.cfg.idUri = self.cfgAccId.get() + self.cfg.regConfig.registrarUri = self.cfgRegistrar.get() + self.cfg.regConfig.registerOnAdd = self.cfgRegisterOnAdd.get() + while len(self.cfg.sipConfig.authCreds): + self.cfg.sipConfig.authCreds.pop() + if self.cfgUsername.get(): + cred = pj.AuthCredInfo() + cred.scheme = "digest" + cred.realm = "*" + cred.username = self.cfgUsername.get() + cred.data = self.cfgPassword.get() + self.cfg.sipConfig.authCreds.append(cred) + while len(self.cfg.sipConfig.proxies): + self.cfg.sipConfig.proxies.pop() + if self.cfgProxy.get(): + self.cfg.sipConfig.proxies.append(self.cfgProxy.get()) + + # SIP features + self.cfg.callConfig.prackUse = self.cfgPrackUse.get() + self.cfg.callConfig.timerUse = self.cfgTimerUse.get() + self.cfg.callConfig.timerSessExpiresSec = self.cfgTimerExpires.get() + self.cfg.presConfig.publishEnabled = self.cfgPublish.get() + self.cfg.mwiConfig.enabled = self.cfgMwiEnabled.get() + self.cfg.natConfig.contactRewriteUse = 1 if self.cfgEnableContactRewrite.get() else 0 + self.cfg.natConfig.viaRewriteUse = 1 if self.cfgEnableViaRewrite.get() else 0 + self.cfg.natConfig.sdpNatRewriteUse = 1 if self.cfgEnableSdpRewrite.get() else 0 + self.cfg.natConfig.sipOutboundUse = 1 if self.cfgEnableSipOutbound.get() else 0 + self.cfg.natConfig.udpKaIntervalSec = self.cfgKaInterval.get() + + # Media + self.cfg.mediaConfig.transportConfig.port = self.cfgMedPort.get() + self.cfg.mediaConfig.transportConfig.portRange = self.cfgMedPortRange.get() + self.cfg.mediaConfig.lockCodecEnabled = self.cfgMedLockCodec.get() + self.cfg.mediaConfig.srtpUse = self.cfgMedSrtp.get() + self.cfg.mediaConfig.srtpSecureSignaling = self.cfgMedSrtpSecure.get() + self.cfg.mediaConfig.ipv6Use = pj.PJSUA_IPV6_ENABLED if self.cfgMedIpv6.get() else pj.PJSUA_IPV6_DISABLED + + # NAT + self.cfg.natConfig.sipStunUse = self.cfgSipUseStun.get() + self.cfg.natConfig.mediaStunUse = self.cfgMediaUseStun.get() + self.cfg.natConfig.iceEnabled = self.cfgIceEnabled.get() + self.cfg.natConfig.iceAggressiveNomination = self.cfgIceAggressive .get() + self.cfg.natConfig.iceAlwaysUpdate = self.cfgAlwaysUpdate.get() + self.cfg.natConfig.iceMaxHostCands = 0 if self.cfgIceNoHostCands.get() else -1 + self.cfg.natConfig.turnEnabled = self.cfgTurnEnabled.get() + self.cfg.natConfig.turnServer = self.cfgTurnServer.get() + self.cfg.natConfig.turnConnType = self.cfgTurnConnType.get() + self.cfg.natConfig.turnUserName = self.cfgTurnUser.get() + self.cfg.natConfig.turnPasswordType = 0 + self.cfg.natConfig.turnPassword = self.cfgTurnPasswd.get() + + self.isOk = True + self.destroy() + + def onCancel(self): + self.destroy() + + +if __name__ == '__main__': + application.main() diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/application.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/application.py new file mode 100644 index 0000000000000000000000000000000000000000..8be50ed85c6269d9c0b8a993ec47a2e87576dde0 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/application.py @@ -0,0 +1,510 @@ +# $Id: application.py 4704 2014-01-16 05:30:46Z ming $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk + from tkinter import messagebox as msgbox +else: + import Tkinter as tk + import tkMessageBox as msgbox + import ttk + +import pjsua2 as pj +import log +import accountsetting +import account +import buddy +import endpoint +import settings + +import os +import traceback + + +class Application(ttk.Frame): + """ + The Application main frame. + """ + def __init__(self): + ttk.Frame.__init__(self, name='application', width=300, height=500) + self.pack(expand='yes', fill='both') + self.master.title('pjsua2 Demo') + self.master.geometry('500x500+100+100') + + # Logger + self.logger = log.Logger() + + # Accounts + self.accList = [] + + # GUI variables + self.showLogWindow = tk.IntVar(value=0) + self.quitting = False + + # Construct GUI + self._createWidgets() + + # Log window + self.logWindow = log.LogWindow(self) + self._onMenuShowHideLogWindow() + + # Instantiate endpoint + self.ep = endpoint.Endpoint() + self.ep.libCreate() + + # Default config + self.appConfig = settings.AppConfig() + self.appConfig.epConfig.uaConfig.threadCnt = 0; + self.appConfig.epConfig.uaConfig.mainThreadOnly = True + self.appConfig.epConfig.logConfig.writer = self.logger + self.appConfig.epConfig.logConfig.filename = "pygui.log" + self.appConfig.epConfig.logConfig.fileFlags = pj.PJ_O_APPEND + self.appConfig.epConfig.logConfig.level = 5 + self.appConfig.epConfig.logConfig.consoleLevel = 5 + + def saveConfig(self, filename='pygui.js'): + # Save disabled accounts since they are not listed in self.accList + disabled_accs = [ac for ac in self.appConfig.accounts if not ac.enabled] + self.appConfig.accounts = [] + + # Get account configs from active accounts + for acc in self.accList: + acfg = settings.AccConfig() + acfg.enabled = True + acfg.config = acc.cfg + for bud in acc.buddyList: + acfg.buddyConfigs.append(bud.cfg) + self.appConfig.accounts.append(acfg) + + # Put back disabled accounts + self.appConfig.accounts.extend(disabled_accs) + # Save + self.appConfig.saveFile(filename) + + def start(self, cfg_file='pygui.js'): + # Load config + if cfg_file and os.path.exists(cfg_file): + self.appConfig.loadFile(cfg_file) + + self.appConfig.epConfig.uaConfig.threadCnt = 0; + self.appConfig.epConfig.uaConfig.mainThreadOnly = True + self.appConfig.epConfig.logConfig.writer = self.logger + self.appConfig.epConfig.logConfig.level = 5 + self.appConfig.epConfig.logConfig.consoleLevel = 5 + + # Initialize library + self.appConfig.epConfig.uaConfig.userAgent = "pygui-" + self.ep.libVersion().full; + self.ep.libInit(self.appConfig.epConfig) + self.master.title('pjsua2 Demo version ' + self.ep.libVersion().full) + + # Create transports + if self.appConfig.udp.enabled: + self.ep.transportCreate(self.appConfig.udp.type, self.appConfig.udp.config) + if self.appConfig.tcp.enabled: + self.ep.transportCreate(self.appConfig.tcp.type, self.appConfig.tcp.config) + if self.appConfig.tls.enabled: + self.ep.transportCreate(self.appConfig.tls.type, self.appConfig.tls.config) + + # Add accounts + for cfg in self.appConfig.accounts: + if cfg.enabled: + self._createAcc(cfg.config) + acc = self.accList[-1] + for buddy_cfg in cfg.buddyConfigs: + self._createBuddy(acc, buddy_cfg) + + # Start library + self.ep.libStart() + + # Start polling + self._onTimer() + + def updateAccount(self, acc): + if acc.deleting: + return # ignore + iid = str(acc.randId) + text = acc.cfg.idUri + status = acc.statusText() + + values = (status,) + if self.tv.exists(iid): + self.tv.item(iid, text=text, values=values) + else: + self.tv.insert('', 'end', iid, open=True, text=text, values=values) + + def updateBuddy(self, bud): + iid = 'buddy' + str(bud.randId) + text = bud.cfg.uri + status = bud.statusText() + + values = (status,) + if self.tv.exists(iid): + self.tv.item(iid, text=text, values=values) + else: + self.tv.insert(str(bud.account.randId), 'end', iid, open=True, text=text, values=values) + + def _createAcc(self, acc_cfg): + acc = account.Account(self) + acc.cfg = acc_cfg + self.accList.append(acc) + self.updateAccount(acc) + acc.create(acc.cfg) + acc.cfgChanged = False + self.updateAccount(acc) + + def _createBuddy(self, acc, buddy_cfg): + bud = buddy.Buddy(self) + bud.cfg = buddy_cfg + bud.account = acc + bud.create(acc, bud.cfg) + self.updateBuddy(bud) + acc.buddyList.append(bud) + + def _createWidgets(self): + self._createAppMenu() + + # Main pane, a Treeview + self.tv = ttk.Treeview(self, columns=('Status'), show='tree') + self.tv.pack(side='top', fill='both', expand='yes', padx=5, pady=5) + + self._createContextMenu() + + # Handle close event + self.master.protocol("WM_DELETE_WINDOW", self._onClose) + + def _createAppMenu(self): + # Main menu bar + top = self.winfo_toplevel() + self.menubar = tk.Menu() + top.configure(menu=self.menubar) + + # File menu + file_menu = tk.Menu(self.menubar, tearoff=False) + self.menubar.add_cascade(label="File", menu=file_menu) + file_menu.add_command(label="Add account..", command=self._onMenuAddAccount) + file_menu.add_checkbutton(label="Show/hide log window", command=self._onMenuShowHideLogWindow, variable=self.showLogWindow) + file_menu.add_separator() + file_menu.add_command(label="Settings...", command=self._onMenuSettings) + file_menu.add_command(label="Save Settings", command=self._onMenuSaveSettings) + file_menu.add_separator() + file_menu.add_command(label="Quit", command=self._onMenuQuit) + + # Window menu + self.window_menu = tk.Menu(self.menubar, tearoff=False) + self.menubar.add_cascade(label="Window", menu=self.window_menu) + + # Help menu + help_menu = tk.Menu(self.menubar, tearoff=False) + self.menubar.add_cascade(label="Help", menu=help_menu) + help_menu.add_command(label="About", underline=2, command=self._onMenuAbout) + + def _showChatWindow(self, chat_inst): + chat_inst.showWindow() + + def updateWindowMenu(self): + # Chat windows + self.window_menu.delete(0, tk.END) + for acc in self.accList: + for c in acc.chatList: + cmd = lambda arg=c: self._showChatWindow(arg) + self.window_menu.add_command(label=c.title, command=cmd) + + def _createContextMenu(self): + top = self.winfo_toplevel() + + # Create Account context menu + self.accMenu = tk.Menu(top, tearoff=False) + # Labels, must match with _onAccContextMenu() + labels = ['Unregister', 'Reregister', 'Add buddy...', '-', + 'Online', 'Invisible', 'Away', 'Busy', '-', + 'Settings...', '-', + 'Delete...'] + for label in labels: + if label=='-': + self.accMenu.add_separator() + else: + cmd = lambda arg=label: self._onAccContextMenu(arg) + self.accMenu.add_command(label=label, command=cmd) + + # Create Buddy context menu + # Labels, must match with _onBuddyContextMenu() + self.buddyMenu = tk.Menu(top, tearoff=False) + labels = ['Audio call', 'Send instant message', '-', + 'Subscribe', 'Unsubscribe', '-', + 'Settings...', '-', + 'Delete...'] + + for label in labels: + if label=='-': + self.buddyMenu.add_separator() + else: + cmd = lambda arg=label: self._onBuddyContextMenu(arg) + self.buddyMenu.add_command(label=label, command=cmd) + + if (top.tk.call('tk', 'windowingsystem')=='aqua'): + self.tv.bind('<2>', self._onTvRightClick) + self.tv.bind('<Control-1>', self._onTvRightClick) + else: + self.tv.bind('<3>', self._onTvRightClick) + self.tv.bind('<Double-Button-1>', self._onTvDoubleClick) + + def _getSelectedAccount(self): + items = self.tv.selection() + if not items: + return None + try: + iid = int(items[0]) + except: + return None + accs = [acc for acc in self.accList if acc.randId==iid] + if not accs: + return None + return accs[0] + + def _getSelectedBuddy(self): + items = self.tv.selection() + if not items: + return None + try: + iid = int(items[0][5:]) + iid_parent = int(self.tv.parent(items[0])) + except: + return None + + accs = [acc for acc in self.accList if acc.randId==iid_parent] + if not accs: + return None + + buds = [b for b in accs[0].buddyList if b.randId==iid] + if not buds: + return None + + return buds[0] + + def _onTvRightClick(self, event): + iid = self.tv.identify_row(event.y) + #iid = self.tv.identify('item', event.x, event.y) + if iid: + self.tv.selection_set( (iid,) ) + acc = self._getSelectedAccount() + if acc: + self.accMenu.post(event.x_root, event.y_root) + else: + # A buddy is selected + self.buddyMenu.post(event.x_root, event.y_root) + + def _onTvDoubleClick(self, event): + iid = self.tv.identify_row(event.y) + if iid: + self.tv.selection_set( (iid,) ) + acc = self._getSelectedAccount() + if acc: + self.cfgChanged = False + dlg = accountsetting.Dialog(self.master, acc.cfg) + if dlg.doModal(): + self.updateAccount(acc) + acc.modify(acc.cfg) + else: + bud = self._getSelectedBuddy() + acc = bud.account + chat = acc.findChat(bud.cfg.uri) + if not chat: + chat = acc.newChat(bud.cfg.uri) + chat.showWindow() + + def _onAccContextMenu(self, label): + acc = self._getSelectedAccount() + if not acc: + return + + if label=='Unregister': + acc.setRegistration(False) + elif label=='Reregister': + acc.setRegistration(True) + elif label=='Online': + ps = pj.PresenceStatus() + ps.status = pj.PJSUA_BUDDY_STATUS_ONLINE + acc.setOnlineStatus(ps) + elif label=='Invisible': + ps = pj.PresenceStatus() + ps.status = pj.PJSUA_BUDDY_STATUS_OFFLINE + acc.setOnlineStatus(ps) + elif label=='Away': + ps = pj.PresenceStatus() + ps.status = pj.PJSUA_BUDDY_STATUS_ONLINE + ps.activity = pj.PJRPID_ACTIVITY_AWAY + ps.note = "Away" + acc.setOnlineStatus(ps) + elif label=='Busy': + ps = pj.PresenceStatus() + ps.status = pj.PJSUA_BUDDY_STATUS_ONLINE + ps.activity = pj.PJRPID_ACTIVITY_BUSY + ps.note = "Busy" + acc.setOnlineStatus(ps) + elif label=='Settings...': + self.cfgChanged = False + dlg = accountsetting.Dialog(self.master, acc.cfg) + if dlg.doModal(): + self.updateAccount(acc) + acc.modify(acc.cfg) + elif label=='Delete...': + msg = "Do you really want to delete account '%s'?" % acc.cfg.idUri + if msgbox.askquestion('Delete account?', msg, default=msgbox.NO) != u'yes': + return + iid = str(acc.randId) + self.accList.remove(acc) + acc.setRegistration(False) + acc.deleting = True + del acc + self.tv.delete( (iid,) ) + elif label=='Add buddy...': + cfg = pj.BuddyConfig() + dlg = buddy.SettingDialog(self.master, cfg) + if dlg.doModal(): + self._createBuddy(acc, cfg) + else: + assert not ("Unknown menu " + label) + + def _onBuddyContextMenu(self, label): + bud = self._getSelectedBuddy() + if not bud: + return + acc = bud.account + + if label=='Audio call': + chat = acc.findChat(bud.cfg.uri) + if not chat: chat = acc.newChat(bud.cfg.uri) + chat.showWindow() + chat.startCall() + elif label=='Send instant message': + chat = acc.findChat(bud.cfg.uri) + if not chat: chat = acc.newChat(bud.cfg.uri) + chat.showWindow(True) + elif label=='Subscribe': + bud.subscribePresence(True) + elif label=='Unsubscribe': + bud.subscribePresence(False) + elif label=='Settings...': + subs = bud.cfg.subscribe + uri = bud.cfg.uri + dlg = buddy.SettingDialog(self.master, bud.cfg) + if dlg.doModal(): + self.updateBuddy(bud) + # URI updated? + if uri != bud.cfg.uri: + cfg = bud.cfg + # del old + iid = 'buddy' + str(bud.randId) + acc.buddyList.remove(bud) + del bud + self.tv.delete( (iid,) ) + # add new + self._createBuddy(acc, cfg) + # presence subscribe setting updated + elif subs != bud.cfg.subscribe: + bud.subscribePresence(bud.cfg.subscribe) + elif label=='Delete...': + msg = "Do you really want to delete buddy '%s'?" % bud.cfg.uri + if msgbox.askquestion('Delete buddy?', msg, default=msgbox.NO) != u'yes': + return + iid = 'buddy' + str(bud.randId) + acc.buddyList.remove(bud) + del bud + self.tv.delete( (iid,) ) + else: + assert not ("Unknown menu " + label) + + def _onTimer(self): + if not self.quitting: + self.ep.libHandleEvents(10) + if not self.quitting: + self.master.after(50, self._onTimer) + + def _onClose(self): + self.saveConfig() + self.quitting = True + self.ep.libDestroy() + self.ep = None + self.update() + self.quit() + + def _onMenuAddAccount(self): + cfg = pj.AccountConfig() + dlg = accountsetting.Dialog(self.master, cfg) + if dlg.doModal(): + self._createAcc(cfg) + + def _onMenuShowHideLogWindow(self): + if self.showLogWindow.get(): + self.logWindow.deiconify() + else: + self.logWindow.withdraw() + + def _onMenuSettings(self): + dlg = settings.Dialog(self, self.appConfig) + if dlg.doModal(): + msgbox.showinfo(self.master.title(), 'You need to restart for new settings to take effect') + + def _onMenuSaveSettings(self): + self.saveConfig() + + def _onMenuQuit(self): + self._onClose() + + def _onMenuAbout(self): + msgbox.showinfo(self.master.title(), 'About') + + +class ExceptionCatcher: + """Custom Tk exception catcher, mainly to display more information + from pj.Error exception + """ + def __init__(self, func, subst, widget): + self.func = func + self.subst = subst + self.widget = widget + def __call__(self, *args): + try: + if self.subst: + args = apply(self.subst, args) + return apply(self.func, args) + except pj.Error, error: + print 'Exception:' + print ' ', error.info() + print 'Traceback:' + print traceback.print_stack() + log.writeLog2(1, 'Exception: ' + error.info() + '\n') + except Exception, error: + print 'Exception:' + print ' ', str(error) + print 'Traceback:' + print traceback.print_stack() + log.writeLog2(1, 'Exception: ' + str(error) + '\n') + +def main(): + #tk.CallWrapper = ExceptionCatcher + app = Application() + app.start() + app.mainloop() + +if __name__ == '__main__': + main() diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/buddy.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/buddy.py new file mode 100644 index 0000000000000000000000000000000000000000..6cf74774c6c066541adb3c48ff0b39ff20894f76 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/buddy.py @@ -0,0 +1,152 @@ +# $Id: buddy.py 4704 2014-01-16 05:30:46Z ming $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk + from tkinter import messagebox as msgbox +else: + import Tkinter as tk + import tkMessageBox as msgbox + import ttk + +import random +import pjsua2 as pj +import endpoint +import application + +# Buddy class +class Buddy(pj.Buddy): + """ + High level Python Buddy object, derived from pjsua2's Buddy object. + """ + def __init__(self, app): + pj.Buddy.__init__(self) + self.app = app + self.randId = random.randint(1, 9999) + self.cfg = None + self.account = None + + def statusText(self): + bi = self.getInfo() + status = '' + if bi.subState == pj.PJSIP_EVSUB_STATE_ACTIVE: + if bi.presStatus.status == pj.PJSUA_BUDDY_STATUS_ONLINE: + status = bi.presStatus.statusText + if not status: + status = 'Online' + elif bi.presStatus.status == pj.PJSUA_BUDDY_STATUS_OFFLINE: + status = 'Offline' + else: + status = 'Unknown' + return status + + def onBuddyState(self): + self.app.updateBuddy(self) + +class SettingDialog(tk.Toplevel): + """ + This implements buddy settings dialog to manipulate buddy settings. + """ + def __init__(self, parent, cfg): + tk.Toplevel.__init__(self, parent) + self.transient(parent) + self.parent = parent + self.geometry("+100+100") + self.title('Buddy settings') + + self.frm = ttk.Frame(self) + self.frm.pack(expand='yes', fill='both') + + self.isOk = False + self.cfg = cfg + + self.createWidgets() + + def doModal(self): + if self.parent: + self.parent.wait_window(self) + else: + self.wait_window(self) + return self.isOk + + def createWidgets(self): + # The notebook + self.frm.rowconfigure(0, weight=1) + self.frm.rowconfigure(1, weight=0) + self.frm.columnconfigure(0, weight=1) + self.frm.columnconfigure(1, weight=1) + self.wTab = ttk.Notebook(self.frm) + self.wTab.grid(column=0, row=0, columnspan=2, padx=5, pady=5, sticky=tk.N+tk.S+tk.W+tk.E) + + # Main buttons + btnOk = ttk.Button(self.frm, text='Ok', command=self.onOk) + btnOk.grid(column=0, row=1, sticky=tk.E, padx=20, pady=10) + btnCancel = ttk.Button(self.frm, text='Cancel', command=self.onCancel) + btnCancel.grid(column=1, row=1, sticky=tk.W, padx=20, pady=10) + + # Tabs + self.createBasicTab() + + def createBasicTab(self): + # Prepare the variables to set/receive values from GUI + self.cfgUri = tk.StringVar() + self.cfgUri.set( self.cfg.uri ) + self.cfgSubscribe = tk.IntVar() + self.cfgSubscribe.set(self.cfg.subscribe) + + # Build the tab page + frm = ttk.Frame(self.frm) + frm.columnconfigure(0, weight=1) + frm.columnconfigure(1, weight=2) + row = 0 + ttk.Label(frm, text='URI:').grid(row=row, column=0, sticky=tk.E, pady=2) + ttk.Entry(frm, textvariable=self.cfgUri, width=40).grid(row=row, column=1, sticky=tk.W+tk.E, padx=6) + row += 1 + ttk.Checkbutton(frm, text='Subscribe presence', variable=self.cfgSubscribe).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + + self.wTab.add(frm, text='Basic Settings') + + + def onOk(self): + # Check basic settings + errors = ""; + if self.cfgUri.get(): + if not endpoint.validateSipUri(self.cfgUri.get()): + errors += "Invalid Buddy URI: '%s'\n" % (self.cfgUri.get()) + + if errors: + msgbox.showerror("Error detected:", errors) + return + + # Basic settings + self.cfg.uri = self.cfgUri.get() + self.cfg.subscribe = self.cfgSubscribe.get() + + self.isOk = True + self.destroy() + + def onCancel(self): + self.destroy() + + +if __name__ == '__main__': + application.main() diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/call.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/call.py new file mode 100644 index 0000000000000000000000000000000000000000..3215ca8504491513752b7b9203e5385c8af1c84c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/call.py @@ -0,0 +1,106 @@ +# $Id: call.py 4757 2014-02-21 07:53:31Z nanang $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk + from tkinter import messagebox as msgbox +else: + import Tkinter as tk + import tkMessageBox as msgbox + import ttk + +import random +import pjsua2 as pj +import application +import endpoint as ep + +# Call class +class Call(pj.Call): + """ + High level Python Call object, derived from pjsua2's Call object. + """ + def __init__(self, acc, peer_uri='', chat=None, call_id = pj.PJSUA_INVALID_ID): + pj.Call.__init__(self, acc, call_id) + self.acc = acc + self.peerUri = peer_uri + self.chat = chat + self.connected = False + self.onhold = False + + def onCallState(self, prm): + ci = self.getInfo() + self.connected = ci.state == pj.PJSIP_INV_STATE_CONFIRMED + if self.chat: + self.chat.updateCallState(self, ci) + + def onCallMediaState(self, prm): + ci = self.getInfo() + for mi in ci.media: + if mi.type == pj.PJMEDIA_TYPE_AUDIO and \ + (mi.status == pj.PJSUA_CALL_MEDIA_ACTIVE or \ + mi.status == pj.PJSUA_CALL_MEDIA_REMOTE_HOLD): + m = self.getMedia(mi.index) + am = pj.AudioMedia.typecastFromMedia(m) + # connect ports + ep.Endpoint.instance.audDevManager().getCaptureDevMedia().startTransmit(am) + am.startTransmit(ep.Endpoint.instance.audDevManager().getPlaybackDevMedia()) + + if mi.status == pj.PJSUA_CALL_MEDIA_REMOTE_HOLD and not self.onhold: + self.chat.addMessage(None, "'%s' sets call onhold" % (self.peerUri)) + self.onhold = True + elif mi.status == pj.PJSUA_CALL_MEDIA_ACTIVE and self.onhold: + self.chat.addMessage(None, "'%s' sets call active" % (self.peerUri)) + self.onhold = False + if self.chat: + self.chat.updateCallMediaState(self, ci) + + def onInstantMessage(self, prm): + # chat instance should have been initalized + if not self.chat: return + + self.chat.addMessage(self.peerUri, prm.msgBody) + self.chat.showWindow() + + def onInstantMessageStatus(self, prm): + if prm.code/100 == 2: return + # chat instance should have been initalized + if not self.chat: return + + self.chat.addMessage(None, "Failed sending message to '%s' (%d): %s" % (self.peerUri, prm.code, prm.reason)) + + def onTypingIndication(self, prm): + # chat instance should have been initalized + if not self.chat: return + + self.chat.setTypingIndication(self.peerUri, prm.isTyping) + + def onDtmfDigit(self, prm): + #msgbox.showinfo("pygui", 'Got DTMF:' + prm.digit) + pass + + def onCallMediaTransportState(self, prm): + #msgbox.showinfo("pygui", "Media transport state") + pass + + +if __name__ == '__main__': + application.main() diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/chat.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/chat.py new file mode 100644 index 0000000000000000000000000000000000000000..6a5bff05f93eb8c580be12b206dd83777ba4f42b --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/chat.py @@ -0,0 +1,544 @@ +# $Id: chat.py 4757 2014-02-21 07:53:31Z nanang $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk +else: + import Tkinter as tk + import ttk + +import buddy +import call +import chatgui as gui +import endpoint as ep +import pjsua2 as pj +import re + +SipUriRegex = re.compile('(sip|sips):([^:;>\@]*)@?([^:;>]*):?([^:;>]*)') +ConfIdx = 1 + +# Simple SIP uri parser, input URI must have been validated +def ParseSipUri(sip_uri_str): + m = SipUriRegex.search(sip_uri_str) + if not m: + assert(0) + return None + + scheme = m.group(1) + user = m.group(2) + host = m.group(3) + port = m.group(4) + if host == '': + host = user + user = '' + + return SipUri(scheme.lower(), user, host.lower(), port) + +class SipUri: + def __init__(self, scheme, user, host, port): + self.scheme = scheme + self.user = user + self.host = host + self.port = port + + def __cmp__(self, sip_uri): + if self.scheme == sip_uri.scheme and self.user == sip_uri.user and self.host == sip_uri.host: + # don't check port, at least for now + return 0 + return -1 + + def __str__(self): + s = self.scheme + ':' + if self.user: s += self.user + '@' + s += self.host + if self.port: s+= ':' + self.port + return s + +class Chat(gui.ChatObserver): + def __init__(self, app, acc, uri, call_inst=None): + self._app = app + self._acc = acc + self.title = '' + + global ConfIdx + self.confIdx = ConfIdx + ConfIdx += 1 + + # each participant call/buddy instances are stored in call list + # and buddy list with same index as in particpant list + self._participantList = [] # list of SipUri + self._callList = [] # list of Call + self._buddyList = [] # list of Buddy + + self._gui = gui.ChatFrame(self) + self.addParticipant(uri, call_inst) + + def _updateGui(self): + if self.isPrivate(): + self.title = str(self._participantList[0]) + else: + self.title = 'Conference #%d (%d participants)' % (self.confIdx, len(self._participantList)) + self._gui.title(self.title) + self._app.updateWindowMenu() + + def _getCallFromUriStr(self, uri_str, op = ''): + uri = ParseSipUri(uri_str) + if uri not in self._participantList: + print "=== %s cannot find participant with URI '%s'" % (op, uri_str) + return None + idx = self._participantList.index(uri) + if idx < len(self._callList): + return self._callList[idx] + return None + + def _getActiveMediaIdx(self, thecall): + ci = thecall.getInfo() + for mi in ci.media: + if mi.type == pj.PJMEDIA_TYPE_AUDIO and \ + (mi.status != pj.PJSUA_CALL_MEDIA_NONE and \ + mi.status != pj.PJSUA_CALL_MEDIA_ERROR): + return mi.index + return -1 + + def _getAudioMediaFromUriStr(self, uri_str): + c = self._getCallFromUriStr(uri_str) + if not c: return None + + idx = self._getActiveMediaIdx(c) + if idx < 0: return None + + m = c.getMedia(idx) + am = pj.AudioMedia.typecastFromMedia(m) + return am + + def _sendTypingIndication(self, is_typing, sender_uri_str=''): + sender_uri = ParseSipUri(sender_uri_str) if sender_uri_str else None + type_ind_param = pj.SendTypingIndicationParam() + type_ind_param.isTyping = is_typing + for idx, p in enumerate(self._participantList): + # don't echo back to the original sender + if sender_uri and p == sender_uri: + continue + + # send via call, if any, or buddy + target = None + if self._callList[idx] and self._callList[idx].connected: + target = self._callList[idx] + else: + target = self._buddyList[idx] + assert(target) + + try: + target.sendTypingIndication(type_ind_param) + except: + pass + + def _sendInstantMessage(self, msg, sender_uri_str=''): + sender_uri = ParseSipUri(sender_uri_str) if sender_uri_str else None + send_im_param = pj.SendInstantMessageParam() + send_im_param.content = str(msg) + for idx, p in enumerate(self._participantList): + # don't echo back to the original sender + if sender_uri and p == sender_uri: + continue + + # send via call, if any, or buddy + target = None + if self._callList[idx] and self._callList[idx].connected: + target = self._callList[idx] + else: + target = self._buddyList[idx] + assert(target) + + try: + target.sendInstantMessage(send_im_param) + except: + # error will be handled via Account::onInstantMessageStatus() + pass + + def isPrivate(self): + return len(self._participantList) <= 1 + + def isUriParticipant(self, uri): + return uri in self._participantList + + def registerCall(self, uri_str, call_inst): + uri = ParseSipUri(uri_str) + try: + idx = self._participantList.index(uri) + bud = self._buddyList[idx] + self._callList[idx] = call_inst + call_inst.chat = self + call_inst.peerUri = bud.cfg.uri + except: + assert(0) # idx must be found! + + def showWindow(self, show_text_chat = False): + self._gui.bringToFront() + if show_text_chat: + self._gui.textShowHide(True) + + def addParticipant(self, uri, call_inst=None): + # avoid duplication + if self.isUriParticipant(uri): return + + uri_str = str(uri) + + # find buddy, create one if not found (e.g: for IM/typing ind), + # it is a temporary one and not really registered to acc + bud = None + try: + bud = self._acc.findBuddy(uri_str) + except: + bud = buddy.Buddy(None) + bud_cfg = pj.BuddyConfig() + bud_cfg.uri = uri_str + bud_cfg.subscribe = False + bud.create(self._acc, bud_cfg) + bud.cfg = bud_cfg + bud.account = self._acc + + # update URI from buddy URI + uri = ParseSipUri(bud.cfg.uri) + + # add it + self._participantList.append(uri) + self._callList.append(call_inst) + self._buddyList.append(bud) + self._gui.addParticipant(str(uri)) + self._updateGui() + + def kickParticipant(self, uri): + if (not uri) or (uri not in self._participantList): + assert(0) + return + + idx = self._participantList.index(uri) + del self._participantList[idx] + del self._callList[idx] + del self._buddyList[idx] + self._gui.delParticipant(str(uri)) + + if self._participantList: + self._updateGui() + else: + self.onCloseWindow() + + def addMessage(self, from_uri_str, msg): + if from_uri_str: + # print message on GUI + msg = from_uri_str + ': ' + msg + self._gui.textAddMessage(msg) + # now relay to all participants + self._sendInstantMessage(msg, from_uri_str) + else: + self._gui.textAddMessage(msg, False) + + def setTypingIndication(self, from_uri_str, is_typing): + # notify GUI + self._gui.textSetTypingIndication(from_uri_str, is_typing) + # now relay to all participants + self._sendTypingIndication(is_typing, from_uri_str) + + def startCall(self): + self._gui.enableAudio() + call_param = pj.CallOpParam() + call_param.opt.audioCount = 1 + call_param.opt.videoCount = 0 + fails = [] + for idx, p in enumerate(self._participantList): + # just skip if call is instantiated + if self._callList[idx]: + continue + + uri_str = str(p) + c = call.Call(self._acc, uri_str, self) + self._callList[idx] = c + self._gui.audioUpdateState(uri_str, gui.AudioState.INITIALIZING) + + try: + c.makeCall(uri_str, call_param) + except: + self._callList[idx] = None + self._gui.audioUpdateState(uri_str, gui.AudioState.FAILED) + fails.append(p) + + for p in fails: + # kick participants with call failure, but spare the last (avoid zombie chat) + if not self.isPrivate(): + self.kickParticipant(p) + + def stopCall(self): + for idx, p in enumerate(self._participantList): + self._gui.audioUpdateState(str(p), gui.AudioState.DISCONNECTED) + c = self._callList[idx] + if c: + c.hangup(pj.CallOpParam()) + + def updateCallState(self, thecall, info = None): + # info is optional here, just to avoid calling getInfo() twice (in the caller and here) + if not info: info = thecall.getInfo() + + if info.state < pj.PJSIP_INV_STATE_CONFIRMED: + self._gui.audioUpdateState(thecall.peerUri, gui.AudioState.INITIALIZING) + elif info.state == pj.PJSIP_INV_STATE_CONFIRMED: + self._gui.audioUpdateState(thecall.peerUri, gui.AudioState.CONNECTED) + if not self.isPrivate(): + # inform peer about conference participants + conf_welcome_str = '\n---\n' + conf_welcome_str += 'Welcome to the conference, participants:\n' + conf_welcome_str += '%s (host)\n' % (self._acc.cfg.idUri) + for p in self._participantList: + conf_welcome_str += '%s\n' % (str(p)) + conf_welcome_str += '---\n' + send_im_param = pj.SendInstantMessageParam() + send_im_param.content = conf_welcome_str + try: + thecall.sendInstantMessage(send_im_param) + except: + pass + + # inform others, including self + msg = "[Conf manager] %s has joined" % (thecall.peerUri) + self.addMessage(None, msg) + self._sendInstantMessage(msg, thecall.peerUri) + + elif info.state == pj.PJSIP_INV_STATE_DISCONNECTED: + if info.lastStatusCode/100 != 2: + self._gui.audioUpdateState(thecall.peerUri, gui.AudioState.FAILED) + else: + self._gui.audioUpdateState(thecall.peerUri, gui.AudioState.DISCONNECTED) + + # reset entry in the callList + try: + idx = self._callList.index(thecall) + if idx >= 0: self._callList[idx] = None + except: + pass + + self.addMessage(None, "Call to '%s' disconnected: %s" % (thecall.peerUri, info.lastReason)) + + # kick the disconnected participant, but the last (avoid zombie chat) + if not self.isPrivate(): + self.kickParticipant(ParseSipUri(thecall.peerUri)) + + # inform others, including self + msg = "[Conf manager] %s has left" % (thecall.peerUri) + self.addMessage(None, msg) + self._sendInstantMessage(msg, thecall.peerUri) + + def updateCallMediaState(self, thecall, info = None): + # info is optional here, just to avoid calling getInfo() twice (in the caller and here) + if not info: info = thecall.getInfo() + + med_idx = self._getActiveMediaIdx(thecall) + if (med_idx < 0): + self._gui.audioSetStatsText(thecall.peerUri, 'No active media') + return + + si = thecall.getStreamInfo(med_idx) + dir_str = '' + if si.dir == 0: + dir_str = 'inactive' + else: + if si.dir & pj.PJMEDIA_DIR_ENCODING: + dir_str += 'send ' + if si.dir & pj.PJMEDIA_DIR_DECODING: + dir_str += 'receive ' + stats_str = "Direction : %s\n" % (dir_str) + stats_str += "Audio codec : %s (%sHz)" % (si.codecName, si.codecClockRate) + self._gui.audioSetStatsText(thecall.peerUri, stats_str) + m = pj.AudioMedia.typecastFromMedia(thecall.getMedia(med_idx)) + + # make conference + for c in self._callList: + if c == thecall: + continue + med_idx = self._getActiveMediaIdx(c) + if med_idx < 0: + continue + mm = pj.AudioMedia.typecastFromMedia(c.getMedia(med_idx)) + m.startTransmit(mm) + mm.startTransmit(m) + + + # ** callbacks from GUI (ChatObserver implementation) ** + + # Text + def onSendMessage(self, msg): + self._sendInstantMessage(msg) + + def onStartTyping(self): + self._sendTypingIndication(True) + + def onStopTyping(self): + self._sendTypingIndication(False) + + # Audio + def onHangup(self, peer_uri_str): + c = self._getCallFromUriStr(peer_uri_str, "onHangup()") + if not c: return + call_param = pj.CallOpParam() + c.hangup(call_param) + + def onHold(self, peer_uri_str): + c = self._getCallFromUriStr(peer_uri_str, "onHold()") + if not c: return + call_param = pj.CallOpParam() + c.setHold(call_param) + + def onUnhold(self, peer_uri_str): + c = self._getCallFromUriStr(peer_uri_str, "onUnhold()") + if not c: return + + call_param = pj.CallOpParam() + call_param.opt.audioCount = 1 + call_param.opt.videoCount = 0 + call_param.opt.flag |= pj.PJSUA_CALL_UNHOLD + c.reinvite(call_param) + + def onRxMute(self, peer_uri_str, mute): + am = self._getAudioMediaFromUriStr(peer_uri_str) + if not am: return + if mute: + am.stopTransmit(ep.Endpoint.instance.audDevManager().getPlaybackDevMedia()) + self.addMessage(None, "Muted audio from '%s'" % (peer_uri_str)) + else: + am.startTransmit(ep.Endpoint.instance.audDevManager().getPlaybackDevMedia()) + self.addMessage(None, "Unmuted audio from '%s'" % (peer_uri_str)) + + def onRxVol(self, peer_uri_str, vol_pct): + am = self._getAudioMediaFromUriStr(peer_uri_str) + if not am: return + # pjsua volume range = 0:mute, 1:no adjustment, 2:100% louder + am.adjustRxLevel(vol_pct/50.0) + self.addMessage(None, "Adjusted volume level audio from '%s'" % (peer_uri_str)) + + def onTxMute(self, peer_uri_str, mute): + am = self._getAudioMediaFromUriStr(peer_uri_str) + if not am: return + if mute: + ep.Endpoint.instance.audDevManager().getCaptureDevMedia().stopTransmit(am) + self.addMessage(None, "Muted audio to '%s'" % (peer_uri_str)) + else: + ep.Endpoint.instance.audDevManager().getCaptureDevMedia().startTransmit(am) + self.addMessage(None, "Unmuted audio to '%s'" % (peer_uri_str)) + + # Chat room + def onAddParticipant(self): + buds = [] + dlg = AddParticipantDlg(None, self._app, buds) + if dlg.doModal(): + for bud in buds: + uri = ParseSipUri(bud.cfg.uri) + self.addParticipant(uri) + if not self.isPrivate(): + self.startCall() + + def onStartAudio(self): + self.startCall() + + def onStopAudio(self): + self.stopCall() + + def onCloseWindow(self): + self.stopCall() + # will remove entry from list eventually destroy this chat? + if self in self._acc.chatList: self._acc.chatList.remove(self) + self._app.updateWindowMenu() + # destroy GUI + self._gui.destroy() + + +class AddParticipantDlg(tk.Toplevel): + """ + List of buddies + """ + def __init__(self, parent, app, bud_list): + tk.Toplevel.__init__(self, parent) + self.title('Add participants..') + self.transient(parent) + self.parent = parent + self._app = app + self.buddyList = bud_list + + self.isOk = False + + self.createWidgets() + + def doModal(self): + if self.parent: + self.parent.wait_window(self) + else: + self.wait_window(self) + return self.isOk + + def createWidgets(self): + # buddy list + list_frame = ttk.Frame(self) + list_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=1, padx=20, pady=20) + #scrl = ttk.Scrollbar(self, orient=tk.VERTICAL, command=list_frame.yview) + #list_frame.config(yscrollcommand=scrl.set) + #scrl.pack(side=tk.RIGHT, fill=tk.Y) + + # draw buddy list + self.buddies = [] + for acc in self._app.accList: + self.buddies.append((0, acc.cfg.idUri)) + for bud in acc.buddyList: + self.buddies.append((1, bud)) + + self.bud_var = [] + for idx,(flag,bud) in enumerate(self.buddies): + self.bud_var.append(tk.IntVar()) + if flag==0: + s = ttk.Separator(list_frame, orient=tk.HORIZONTAL) + s.pack(fill=tk.X) + l = tk.Label(list_frame, anchor=tk.W, text="Account '%s':" % (bud)) + l.pack(fill=tk.X) + else: + c = tk.Checkbutton(list_frame, anchor=tk.W, text=bud.cfg.uri, variable=self.bud_var[idx]) + c.pack(fill=tk.X) + s = ttk.Separator(list_frame, orient=tk.HORIZONTAL) + s.pack(fill=tk.X) + + # Ok/cancel buttons + tail_frame = ttk.Frame(self) + tail_frame.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=1) + + btnOk = ttk.Button(tail_frame, text='Ok', default=tk.ACTIVE, command=self.onOk) + btnOk.pack(side=tk.LEFT, padx=20, pady=10) + btnCancel = ttk.Button(tail_frame, text='Cancel', command=self.onCancel) + btnCancel.pack(side=tk.RIGHT, padx=20, pady=10) + + def onOk(self): + self.buddyList[:] = [] + for idx,(flag,bud) in enumerate(self.buddies): + if not flag: continue + if self.bud_var[idx].get() and not (bud in self.buddyList): + self.buddyList.append(bud) + + self.isOk = True + self.destroy() + + def onCancel(self): + self.destroy() diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/chatgui.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/chatgui.py new file mode 100644 index 0000000000000000000000000000000000000000..1cdf6f9c6a5738789b33c561a1271f27401f185f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/chatgui.py @@ -0,0 +1,420 @@ +# $Id: chatgui.py 4757 2014-02-21 07:53:31Z nanang $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk + from tkinter import messagebox as msgbox +else: + import Tkinter as tk + import ttk + import tkMessageBox as msgbox + + +class TextObserver: + def onSendMessage(self, msg): + pass + def onStartTyping(self): + pass + def onStopTyping(self): + pass + +class TextFrame(ttk.Frame): + def __init__(self, master, observer): + ttk.Frame.__init__(self, master) + self._observer = observer + self._isTyping = False + self._createWidgets() + + def _onSendMessage(self, event): + send_text = self._typingBox.get("1.0", tk.END).strip() + if send_text == '': + return + + self.addMessage('me: ' + send_text) + self._typingBox.delete("0.0", tk.END) + self._onTyping(None) + + # notify app for sending message + self._observer.onSendMessage(send_text) + + def _onTyping(self, event): + # notify app for typing indication + is_typing = self._typingBox.get("1.0", tk.END).strip() != '' + if is_typing != self._isTyping: + self._isTyping = is_typing + if is_typing: + self._observer.onStartTyping() + else: + self._observer.onStopTyping() + + def _createWidgets(self): + self.rowconfigure(0, weight=1) + self.rowconfigure(1, weight=0) + self.rowconfigure(2, weight=0) + self.columnconfigure(0, weight=1) + self.columnconfigure(1, weight=0) + + self._text = tk.Text(self, width=50, height=30, font=("Arial", "10")) + self._text.grid(row=0, column=0, sticky='nswe') + self._text.config(state=tk.DISABLED) + self._text.tag_config("info", foreground="darkgray", font=("Arial", "9", "italic")) + + scrl = ttk.Scrollbar(self, orient=tk.VERTICAL, command=self._text.yview) + self._text.config(yscrollcommand=scrl.set) + scrl.grid(row=0, column=1, sticky='nsw') + + self._typingBox = tk.Text(self, width=50, height=1, font=("Arial", "10")) + self._typingBox.grid(row=1, columnspan=2, sticky='we', pady=0) + + self._statusBar = tk.Label(self, anchor='w', font=("Arial", "8", "italic")) + self._statusBar.grid(row=2, columnspan=2, sticky='we') + + self._typingBox.bind('<Return>', self._onSendMessage) + self._typingBox.bind("<Key>", self._onTyping) + self._typingBox.focus_set() + + def addMessage(self, msg, is_chat = True): + self._text.config(state=tk.NORMAL) + if is_chat: + self._text.insert(tk.END, msg+'\r\n') + else: + self._text.insert(tk.END, msg+'\r\n', 'info') + self._text.config(state=tk.DISABLED) + self._text.yview(tk.END) + + def setTypingIndication(self, who, is_typing): + if is_typing: + self._statusBar['text'] = "'%s' is typing.." % (who) + else: + self._statusBar['text'] = '' + +class AudioState: + NULL, INITIALIZING, CONNECTED, DISCONNECTED, FAILED = range(5) + +class AudioObserver: + def onHangup(self, peer_uri): + pass + def onHold(self, peer_uri): + pass + def onUnhold(self, peer_uri): + pass + def onRxMute(self, peer_uri, is_muted): + pass + def onRxVol(self, peer_uri, vol_pct): + pass + def onTxMute(self, peer_uri, is_muted): + pass + + +class AudioFrame(ttk.Labelframe): + def __init__(self, master, peer_uri, observer): + ttk.Labelframe.__init__(self, master, text=peer_uri) + self.peerUri = peer_uri + self._observer = observer + self._initFrame = None + self._callFrame = None + self._rxMute = False + self._txMute = False + self._state = AudioState.NULL + + self._createInitWidgets() + self._createWidgets() + + def updateState(self, state): + if self._state == state: + return + + if state == AudioState.INITIALIZING: + self._callFrame.pack_forget() + self._initFrame.pack(fill=tk.BOTH) + self._btnCancel.pack(side=tk.TOP) + self._lblInitState['text'] = 'Intializing..' + + elif state == AudioState.CONNECTED: + self._initFrame.pack_forget() + self._callFrame.pack(fill=tk.BOTH) + else: + self._callFrame.pack_forget() + self._initFrame.pack(fill=tk.BOTH) + if state == AudioState.FAILED: + self._lblInitState['text'] = 'Failed' + else: + self._lblInitState['text'] = 'Normal cleared' + self._btnCancel.pack_forget() + + self._btnHold['text'] = 'Hold' + self._btnHold.config(state=tk.NORMAL) + self._rxMute = False + self._txMute = False + self.btnRxMute['text'] = 'Mute' + self.btnTxMute['text'] = 'Mute' + self.rxVol.set(5.0) + + # save last state + self._state = state + + def setStatsText(self, stats_str): + self.stat.config(state=tk.NORMAL) + self.stat.delete("0.0", tk.END) + self.stat.insert(tk.END, stats_str) + self.stat.config(state=tk.DISABLED) + + def _onHold(self): + self._btnHold.config(state=tk.DISABLED) + # notify app + if self._btnHold['text'] == 'Hold': + self._observer.onHold(self.peerUri) + self._btnHold['text'] = 'Unhold' + else: + self._observer.onUnhold(self.peerUri) + self._btnHold['text'] = 'Hold' + self._btnHold.config(state=tk.NORMAL) + + def _onHangup(self): + # notify app + self._observer.onHangup(self.peerUri) + + def _onRxMute(self): + # notify app + self._rxMute = not self._rxMute + self._observer.onRxMute(self.peerUri, self._rxMute) + self.btnRxMute['text'] = 'Unmute' if self._rxMute else 'Mute' + + def _onRxVol(self, event): + # notify app + vol = self.rxVol.get() + self._observer.onRxVol(self.peerUri, vol*10.0) + + def _onTxMute(self): + # notify app + self._txMute = not self._txMute + self._observer.onTxMute(self.peerUri, self._txMute) + self.btnTxMute['text'] = 'Unmute' if self._txMute else 'Mute' + + def _createInitWidgets(self): + self._initFrame = ttk.Frame(self) + #self._initFrame.pack(fill=tk.BOTH) + + + self._lblInitState = tk.Label(self._initFrame, font=("Arial", "12"), text='') + self._lblInitState.pack(side=tk.TOP, fill=tk.X, expand=1) + + # Operation: cancel/kick + self._btnCancel = ttk.Button(self._initFrame, text = 'Cancel', command=self._onHangup) + self._btnCancel.pack(side=tk.TOP) + + def _createWidgets(self): + self._callFrame = ttk.Frame(self) + #self._callFrame.pack(fill=tk.BOTH) + + # toolbar + toolbar = ttk.Frame(self._callFrame) + toolbar.pack(side=tk.TOP, fill=tk.X) + self._btnHold = ttk.Button(toolbar, text='Hold', command=self._onHold) + self._btnHold.pack(side=tk.LEFT, fill=tk.Y) + #self._btnXfer = ttk.Button(toolbar, text='Transfer..') + #self._btnXfer.pack(side=tk.LEFT, fill=tk.Y) + self._btnHangUp = ttk.Button(toolbar, text='Hangup', command=self._onHangup) + self._btnHangUp.pack(side=tk.LEFT, fill=tk.Y) + + # volume tool + vol_frm = ttk.Frame(self._callFrame) + vol_frm.pack(side=tk.TOP, fill=tk.X) + + self.rxVolFrm = ttk.Labelframe(vol_frm, text='RX volume') + self.rxVolFrm.pack(side=tk.LEFT, fill=tk.Y) + + self.btnRxMute = ttk.Button(self.rxVolFrm, width=8, text='Mute', command=self._onRxMute) + self.btnRxMute.pack(side=tk.LEFT) + self.rxVol = tk.Scale(self.rxVolFrm, orient=tk.HORIZONTAL, from_=0.0, to=10.0, showvalue=1) #, tickinterval=10.0, showvalue=1) + self.rxVol.set(5.0) + self.rxVol.bind("<ButtonRelease-1>", self._onRxVol) + self.rxVol.pack(side=tk.LEFT) + + self.txVolFrm = ttk.Labelframe(vol_frm, text='TX volume') + self.txVolFrm.pack(side=tk.RIGHT, fill=tk.Y) + + self.btnTxMute = ttk.Button(self.txVolFrm, width=8, text='Mute', command=self._onTxMute) + self.btnTxMute.pack(side=tk.LEFT) + + # stat + self.stat = tk.Text(self._callFrame, width=10, height=2, bg='lightgray', relief=tk.FLAT, font=("Courier", "9")) + self.stat.insert(tk.END, 'stat here') + self.stat.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=1) + + +class ChatObserver(TextObserver, AudioObserver): + def onAddParticipant(self): + pass + def onStartAudio(self): + pass + def onStopAudio(self): + pass + def onCloseWindow(self): + pass + +class ChatFrame(tk.Toplevel): + """ + Room + """ + def __init__(self, observer): + tk.Toplevel.__init__(self) + self.protocol("WM_DELETE_WINDOW", self._onClose) + self._observer = observer + + self._text = None + self._text_shown = True + + self._audioEnabled = False + self._audioFrames = [] + self._createWidgets() + + def _createWidgets(self): + # toolbar + self.toolbar = ttk.Frame(self) + self.toolbar.pack(side=tk.TOP, fill=tk.BOTH) + + btnText = ttk.Button(self.toolbar, text='Show/hide text', command=self._onShowHideText) + btnText.pack(side=tk.LEFT, fill=tk.Y) + btnAudio = ttk.Button(self.toolbar, text='Start/stop audio', command=self._onStartStopAudio) + btnAudio.pack(side=tk.LEFT, fill=tk.Y) + + ttk.Separator(self.toolbar, orient=tk.VERTICAL).pack(side=tk.LEFT, fill=tk.Y, padx = 4) + + btnAdd = ttk.Button(self.toolbar, text='Add participant..', command=self._onAddParticipant) + btnAdd.pack(side=tk.LEFT, fill=tk.Y) + + # media frame + self.media = ttk.Frame(self) + self.media.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=1) + + # create Text Chat frame + self.media_left = ttk.Frame(self.media) + self._text = TextFrame(self.media_left, self._observer) + self._text.pack(fill=tk.BOTH, expand=1) + self.media_left.pack(side=tk.LEFT, fill=tk.BOTH, expand=1) + + # create other media frame + self.media_right = ttk.Frame(self.media) + + def _arrangeMediaFrames(self): + if len(self._audioFrames) == 0: + self.media_right.pack_forget() + return + + self.media_right.pack(side=tk.RIGHT, fill=tk.BOTH, expand=1) + MAX_ROWS = 3 + row_num = 0 + col_num = 1 + for frm in self._audioFrames: + frm.grid(row=row_num, column=col_num, sticky='nsew', padx=5, pady=5) + row_num += 1 + if row_num >= MAX_ROWS: + row_num = 0 + col_num += 1 + + def _onShowHideText(self): + self.textShowHide(not self._text_shown) + + def _onAddParticipant(self): + self._observer.onAddParticipant() + + def _onStartStopAudio(self): + self._audioEnabled = not self._audioEnabled + if self._audioEnabled: + self._observer.onStartAudio() + else: + self._observer.onStopAudio() + self.enableAudio(self._audioEnabled) + + def _onClose(self): + self._observer.onCloseWindow() + + # APIs + + def bringToFront(self): + self.deiconify() + self.lift() + self._text._typingBox.focus_set() + + def textAddMessage(self, msg, is_chat = True): + self._text.addMessage(msg, is_chat) + + def textSetTypingIndication(self, who, is_typing = True): + self._text.setTypingIndication(who, is_typing) + + def addParticipant(self, participant_uri): + aud_frm = AudioFrame(self.media_right, participant_uri, self._observer) + self._audioFrames.append(aud_frm) + + def delParticipant(self, participant_uri): + for aud_frm in self._audioFrames: + if participant_uri == aud_frm.peerUri: + self._audioFrames.remove(aud_frm) + # need to delete aud_frm manually? + aud_frm.destroy() + return + + def textShowHide(self, show = True): + if show: + self.media_left.pack(side=tk.LEFT, fill=tk.BOTH, expand=1) + self._text._typingBox.focus_set() + else: + self.media_left.pack_forget() + self._text_shown = show + + def enableAudio(self, is_enabled = True): + if is_enabled: + self._arrangeMediaFrames() + else: + self.media_right.pack_forget() + self._audioEnabled = is_enabled + + def audioUpdateState(self, participant_uri, state): + for aud_frm in self._audioFrames: + if participant_uri == aud_frm.peerUri: + aud_frm.updateState(state) + break + if state >= AudioState.DISCONNECTED and len(self._audioFrames) == 1: + self.enableAudio(False) + else: + self.enableAudio(True) + + def audioSetStatsText(self, participant_uri, stats_str): + for aud_frm in self._audioFrames: + if participant_uri == aud_frm.peerUri: + aud_frm.setStatsText(stats_str) + break + +if __name__ == '__main__': + root = tk.Tk() + root.title("Chat") + root.columnconfigure(0, weight=1) + root.rowconfigure(0, weight=1) + + obs = ChatObserver() + dlg = ChatFrame(obs) + #dlg = TextFrame(root) + #dlg = AudioFrame(root) + + #dlg.pack(fill=tk.BOTH, expand=1) + root.mainloop() diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/endpoint.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/endpoint.py new file mode 100644 index 0000000000000000000000000000000000000000..25367f2dabadd9e3422d9fc7d42b540869f50666 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/endpoint.py @@ -0,0 +1,53 @@ +# $Id: endpoint.py 4704 2014-01-16 05:30:46Z ming $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk + from tkinter import messagebox as msgbox +else: + import Tkinter as tk + import tkMessageBox as msgbox + import ttk + +import pjsua2 as pj +import application + + +class Endpoint(pj.Endpoint): + """ + This is high level Python object inherited from pj.Endpoint + """ + instance = None + def __init__(self): + pj.Endpoint.__init__(self) + Endpoint.instance = self + + +def validateUri(uri): + return Endpoint.instance.utilVerifyUri(uri) == pj.PJ_SUCCESS + +def validateSipUri(uri): + return Endpoint.instance.utilVerifySipUri(uri) == pj.PJ_SUCCESS + + +if __name__ == '__main__': + application.main() diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/log.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/log.py new file mode 100644 index 0000000000000000000000000000000000000000..0011a3eb503f96e0786486d7619fe0a11c700bd6 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/log.py @@ -0,0 +1,127 @@ +# $Id: log.py 4704 2014-01-16 05:30:46Z ming $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk + from tkinter import messagebox as msgbox +else: + import Tkinter as tk + import tkMessageBox as msgbox + import ttk + +import pjsua2 as pj +import application + + +class LogWindow(tk.Toplevel): + """ + Log window + """ + instance = None + def __init__(self, app): + tk.Toplevel.__init__(self, name='logwnd', width=640, height=480) + LogWindow.instance = self + self.app = app + self.state('withdrawn') + self.title('Log') + self._createWidgets() + self.protocol("WM_DELETE_WINDOW", self._onHide) + + def addLog(self, entry): + """entry fields: + int level; + string msg; + long threadId; + string threadName; + """ + self.addLog2(entry.level, entry.msg) + + def addLog2(self, level, msg): + if level==5: + tags = ('trace',) + elif level==3: + tags = ('info',) + elif level==2: + tags = ('warning',) + elif level<=1: + tags = ('error',) + else: + tags = None + self.text.insert(tk.END, msg, tags) + self.text.see(tk.END) + + def _createWidgets(self): + self.rowconfigure(0, weight=1) + self.rowconfigure(1, weight=0) + self.columnconfigure(0, weight=1) + self.columnconfigure(1, weight=0) + + self.text = tk.Text(self, font=('Courier New', '8'), wrap=tk.NONE, undo=False, padx=4, pady=5) + self.text.grid(row=0, column=0, sticky='nswe', padx=5, pady=5) + + scrl = ttk.Scrollbar(self, orient=tk.VERTICAL, command=self.text.yview) + self.text.config(yscrollcommand=scrl.set) + scrl.grid(row=0, column=1, sticky='nsw', padx=5, pady=5) + + scrl = ttk.Scrollbar(self, orient=tk.HORIZONTAL, command=self.text.xview) + self.text.config(xscrollcommand=scrl.set) + scrl.grid(row=1, column=0, sticky='we', padx=5, pady=5) + + self.text.bind("<Key>", self._onKey) + + self.text.tag_configure('normal', font=('Courier New', '8'), foreground='black') + self.text.tag_configure('trace', font=('Courier New', '8'), foreground='#777777') + self.text.tag_configure('info', font=('Courier New', '8', 'bold'), foreground='black') + self.text.tag_configure('warning', font=('Courier New', '8', 'bold'), foreground='cyan') + self.text.tag_configure('error', font=('Courier New', '8', 'bold'), foreground='red') + + def _onKey(self, event): + # Ignore key event to make text widget read-only + return "break" + + def _onHide(self): + # Hide when close ('x') button is clicked + self.withdraw() + self.app.showLogWindow.set(0) + + +def writeLog2(level, msg): + if LogWindow.instance: + LogWindow.instance.addLog2(level, msg) + +def writeLog(entry): + if LogWindow.instance: + LogWindow.instance.addLog(entry) + +class Logger(pj.LogWriter): + """ + Logger to receive log messages from pjsua2 + """ + def __init__(self): + pj.LogWriter.__init__(self) + + def write(self, entry): + print entry.msg, + writeLog(entry) + +if __name__ == '__main__': + application.main() diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/settings.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/settings.py new file mode 100644 index 0000000000000000000000000000000000000000..595bc12359760ee5aa731808958067a14b20441c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/pygui/settings.py @@ -0,0 +1,362 @@ +# $Id: settings.py 4704 2014-01-16 05:30:46Z ming $ +# +# pjsua Python GUI Demo +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import sys +if sys.version_info[0] >= 3: # Python 3 + import tkinter as tk + from tkinter import ttk + from tkinter import messagebox as msgbox +else: + import Tkinter as tk + import tkMessageBox as msgbox + import ttk + +import pjsua2 as pj +#import application + +# Transport setting +class SipTransportConfig: + def __init__(self, type, enabled): + #pj.PersistentObject.__init__(self) + self.type = type + self.enabled = enabled + self.config = pj.TransportConfig() + def readObject(self, node): + child_node = node.readContainer("SipTransport") + self.type = child_node.readInt("type") + self.enabled = child_node.readBool("enabled") + self.config.readObject(child_node) + def writeObject(self, node): + child_node = node.writeNewContainer("SipTransport") + child_node.writeInt("type", self.type) + child_node.writeBool("enabled", self.enabled) + self.config.writeObject(child_node) + +# Account setting with buddy list +class AccConfig: + def __init__(self): + self.enabled = True + self.config = pj.AccountConfig() + self.buddyConfigs = [] + def readObject(self, node): + acc_node = node.readContainer("Account") + self.enabled = acc_node.readBool("enabled") + self.config.readObject(acc_node) + buddy_node = acc_node.readArray("buddies") + while buddy_node.hasUnread(): + buddy_cfg = pj.BuddyConfig() + buddy_cfg.readObject(buddy_node) + self.buddyConfigs.append(buddy_cfg) + def writeObject(self, node): + acc_node = node.writeNewContainer("Account") + acc_node.writeBool("enabled", self.enabled) + self.config.writeObject(acc_node) + buddy_node = acc_node.writeNewArray("buddies") + for buddy in self.buddyConfigs: + buddy_node.writeObject(buddy) + + +# Master settings +class AppConfig: + def __init__(self): + self.epConfig = pj.EpConfig() # pj.EpConfig() + self.udp = SipTransportConfig(pj.PJSIP_TRANSPORT_UDP, True) + self.tcp = SipTransportConfig(pj.PJSIP_TRANSPORT_TCP, True) + self.tls = SipTransportConfig(pj.PJSIP_TRANSPORT_TLS, False) + self.accounts = [] # Array of AccConfig + + def loadFile(self, file): + json = pj.JsonDocument() + json.loadFile(file) + root = json.getRootContainer() + self.epConfig = pj.EpConfig() + self.epConfig.readObject(root) + + tp_node = root.readArray("transports") + self.udp.readObject(tp_node) + self.tcp.readObject(tp_node) + if tp_node.hasUnread(): + self.tls.readObject(tp_node) + + acc_node = root.readArray("accounts") + while acc_node.hasUnread(): + acfg = AccConfig() + acfg.readObject(acc_node) + self.accounts.append(acfg) + + def saveFile(self,file): + json = pj.JsonDocument() + + # Write endpoint config + json.writeObject(self.epConfig) + + # Write transport config + tp_node = json.writeNewArray("transports") + self.udp.writeObject(tp_node) + self.tcp.writeObject(tp_node) + self.tls.writeObject(tp_node) + + # Write account configs + node = json.writeNewArray("accounts") + for acc in self.accounts: + acc.writeObject(node) + + json.saveFile(file) + + +# Settings dialog +class Dialog(tk.Toplevel): + """ + This implements account settings dialog to manipulate account settings. + """ + def __init__(self, parent, cfg): + tk.Toplevel.__init__(self, parent) + self.transient(parent) + self.parent = parent + self.title('Settings') + + self.frm = ttk.Frame(self) + self.frm.pack(expand='yes', fill='both') + + self.isOk = False + self.cfg = cfg + + self.createWidgets() + + def doModal(self): + if self.parent: + self.parent.wait_window(self) + else: + self.wait_window(self) + return self.isOk + + def createWidgets(self): + # The notebook + self.frm.rowconfigure(0, weight=1) + self.frm.rowconfigure(1, weight=0) + self.frm.columnconfigure(0, weight=1) + self.frm.columnconfigure(1, weight=1) + self.wTab = ttk.Notebook(self.frm) + self.wTab.grid(column=0, row=0, columnspan=2, padx=10, pady=10, ipadx=20, ipady=20, sticky=tk.N+tk.S+tk.W+tk.E) + + # Main buttons + btnOk = ttk.Button(self.frm, text='Ok', command=self.onOk) + btnOk.grid(column=0, row=1, sticky=tk.E, padx=20, pady=10) + btnCancel = ttk.Button(self.frm, text='Cancel', command=self.onCancel) + btnCancel.grid(column=1, row=1, sticky=tk.W, padx=20, pady=10) + + # Tabs + self.createBasicTab() + self.createNetworkTab() + self.createMediaTab() + + def createBasicTab(self): + # Prepare the variables to set/receive values from GUI + self.cfgLogFile = tk.StringVar(value=self.cfg.epConfig.logConfig.filename) + self.cfgLogAppend = tk.BooleanVar(value=True if (self.cfg.epConfig.logConfig.fileFlags & pj.PJ_O_APPEND) else False) + + # Build the tab page + frm = ttk.Frame(self.frm) + frm.columnconfigure(0, weight=1) + frm.columnconfigure(1, weight=2) + row = 0 + ttk.Label(frm, text='User Agent:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Label(frm, text=self.cfg.epConfig.uaConfig.userAgent).grid(row=row, column=1, sticky=tk.W, pady=2, padx=6) + row += 1 + ttk.Label(frm, text='Max calls:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Label(frm, text=str(self.cfg.epConfig.uaConfig.maxCalls)).grid(row=row, column=1, sticky=tk.W, pady=2, padx=6) + row += 1 + ttk.Label(frm, text='Log file:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Entry(frm, textvariable=self.cfgLogFile, width=32).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Checkbutton(frm, text='Append log file', variable=self.cfgLogAppend).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + + self.wTab.add(frm, text='Basic') + + def createNetworkTab(self): + self.cfgNameserver = tk.StringVar() + if len(self.cfg.epConfig.uaConfig.nameserver): + self.cfgNameserver.set(self.cfg.epConfig.uaConfig.nameserver[0]) + self.cfgStunServer = tk.StringVar() + if len(self.cfg.epConfig.uaConfig.stunServer): + self.cfgStunServer.set(self.cfg.epConfig.uaConfig.stunServer[0]) + self.cfgStunIgnoreError = tk.BooleanVar(value=self.cfg.epConfig.uaConfig.stunIgnoreFailure) + + self.cfgUdpEnabled = tk.BooleanVar(value=self.cfg.udp.enabled) + self.cfgUdpPort = tk.IntVar(value=self.cfg.udp.config.port) + self.cfgTcpEnabled = tk.BooleanVar(value=self.cfg.tcp.enabled) + self.cfgTcpPort = tk.IntVar(value=self.cfg.tcp.config.port) + self.cfgTlsEnabled = tk.BooleanVar(value=self.cfg.tls.enabled) + self.cfgTlsPort = tk.IntVar(value=self.cfg.tls.config.port) + + self.cfgTlsCaFile = tk.StringVar(value=self.cfg.tls.config.tlsConfig.CaListFile) + self.cfgTlsCertFile = tk.StringVar(value=self.cfg.tls.config.tlsConfig.certFile) + self.cfgTlsVerifyClient = tk.BooleanVar(value=self.cfg.tls.config.tlsConfig.verifyClient) + self.cfgTlsVerifyServer = tk.BooleanVar(value=self.cfg.tls.config.tlsConfig.verifyServer) + + # Build the tab page + frm = ttk.Frame(self.frm) + frm.columnconfigure(0, weight=1) + frm.columnconfigure(1, weight=2) + row = 0 + #ttk.Label(frm, text='UDP transport:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Checkbutton(frm, text='Enable UDP transport', variable=self.cfgUdpEnabled).grid(row=row, column=0, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='UDP port:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + tk.Spinbox(frm, from_=0, to=65535, textvariable=self.cfgUdpPort, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='(0 for any)').grid(row=row, column=1, sticky=tk.E, pady=6, padx=6) + row += 1 + #ttk.Label(frm, text='TCP transport:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Checkbutton(frm, text='Enable TCP transport', variable=self.cfgTcpEnabled).grid(row=row, column=0, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='TCP port:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + tk.Spinbox(frm, from_=0, to=65535, textvariable=self.cfgTcpPort, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='(0 for any)').grid(row=row, column=1, sticky=tk.E, pady=6, padx=6) + row += 1 + #ttk.Label(frm, text='TLS transport:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Checkbutton(frm, text='Enable TLS transport', variable=self.cfgTlsEnabled).grid(row=row, column=0, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='TLS port:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + tk.Spinbox(frm, from_=0, to=65535, textvariable=self.cfgTlsPort, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='(0 for any)').grid(row=row, column=1, sticky=tk.E, pady=6, padx=6) + row += 1 + ttk.Label(frm, text='TLS CA file:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Entry(frm, textvariable=self.cfgTlsCaFile, width=32).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='TLS cert file:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Entry(frm, textvariable=self.cfgTlsCertFile, width=32).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Checkbutton(frm, text='TLS verify server', variable=self.cfgTlsVerifyServer).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Checkbutton(frm, text='TLS verify client', variable=self.cfgTlsVerifyClient).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='DNS and STUN:').grid(row=row, column=0, sticky=tk.W, pady=2, padx=8) + row += 1 + ttk.Label(frm, text='Nameserver:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Entry(frm, textvariable=self.cfgNameserver, width=32).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='STUN Server:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Entry(frm, textvariable=self.cfgStunServer, width=32).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Checkbutton(frm, text='Ignore STUN failure at startup', variable=self.cfgStunIgnoreError).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + + self.wTab.add(frm, text='Network') + + def createMediaTab(self): + self.cfgClockrate = tk.IntVar(value=self.cfg.epConfig.medConfig.clockRate) + self.cfgSndClockrate = tk.IntVar(value=self.cfg.epConfig.medConfig.sndClockRate) + self.cfgAudioPtime = tk.IntVar(value=self.cfg.epConfig.medConfig.audioFramePtime) + self.cfgMediaQuality = tk.IntVar(value=self.cfg.epConfig.medConfig.quality) + self.cfgCodecPtime = tk.IntVar(value=self.cfg.epConfig.medConfig.ptime) + self.cfgVad = tk.BooleanVar(value=not self.cfg.epConfig.medConfig.noVad) + self.cfgEcTailLen = tk.IntVar(value=self.cfg.epConfig.medConfig.ecTailLen) + + # Build the tab page + frm = ttk.Frame(self.frm) + frm.columnconfigure(0, weight=1) + frm.columnconfigure(1, weight=2) + row = 0 + ttk.Label(frm, text='Max media ports:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Label(frm, text=str(self.cfg.epConfig.medConfig.maxMediaPorts)).grid(row=row, column=1, sticky=tk.W, pady=2, padx=6) + row += 1 + ttk.Label(frm, text='Core clock rate:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + tk.Spinbox(frm, from_=8000, to=48000, increment=8000, textvariable=self.cfgClockrate, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='Snd device clock rate:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + tk.Spinbox(frm, from_=0, to=48000, increment=8000, textvariable=self.cfgSndClockrate, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='(0: follow core)').grid(row=row, column=1, sticky=tk.E, pady=6, padx=6) + row += 1 + ttk.Label(frm, text='Core ptime:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + tk.Spinbox(frm, from_=10, to=400, increment=10, textvariable=self.cfgAudioPtime, width=3).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='RTP ptime:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + tk.Spinbox(frm, from_=20, to=400, increment=10, textvariable=self.cfgCodecPtime, width=3).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='Media quality (1-10):').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + tk.Spinbox(frm, from_=1, to=10, textvariable=self.cfgMediaQuality, width=5).grid(row=row, column=1, sticky=tk.W, padx=6) + row += 1 + ttk.Label(frm, text='VAD:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + ttk.Checkbutton(frm, text='Enable', variable=self.cfgVad).grid(row=row, column=1, sticky=tk.W, padx=6, pady=2) + row += 1 + ttk.Label(frm, text='Echo canceller tail length:').grid(row=row, column=0, sticky=tk.E, pady=2, padx=8) + tk.Spinbox(frm, from_=0, to=400, increment=10, textvariable=self.cfgEcTailLen, width=3).grid(row=row, column=1, sticky=tk.W, padx=6) + ttk.Label(frm, text='(ms, 0 to disable)').grid(row=row, column=1, sticky=tk.E, pady=6, padx=6) + + self.wTab.add(frm, text='Media') + + def onOk(self): + # Check basic settings + errors = ""; + if errors: + msgbox.showerror("Error detected:", errors) + return + + # Basic settings + self.cfg.epConfig.logConfig.filename = self.cfgLogFile.get() + flags = pj.PJ_O_APPEND if self.cfgLogAppend.get() else 0 + self.cfg.epConfig.logConfig.fileFlags = self.cfg.epConfig.logConfig.fileFlags | flags + + # Network settings + self.cfg.epConfig.uaConfig.nameserver.clear() + if len(self.cfgNameserver.get()): + self.cfg.epConfig.uaConfig.nameserver.append(self.cfgNameserver.get()) + self.cfg.epConfig.uaConfig.stunServer.clear() + if len(self.cfgStunServer.get()): + self.cfg.epConfig.uaConfig.stunServer.append(self.cfgStunServer.get()) + + self.cfg.epConfig.uaConfig.stunIgnoreFailure = self.cfgStunIgnoreError.get() + + self.cfg.udp.enabled = self.cfgUdpEnabled.get() + self.cfg.udp.config.port = self.cfgUdpPort.get() + self.cfg.tcp.enabled = self.cfgTcpEnabled.get() + self.cfg.tcp.config.port = self.cfgTcpPort.get() + self.cfg.tls.enabled = self.cfgTlsEnabled.get() + self.cfg.tls.config.port = self.cfgTlsPort.get() + + self.cfg.tls.config.tlsConfig.CaListFile = self.cfgTlsCaFile.get() + self.cfg.tls.config.tlsConfig.certFile = self.cfgTlsCertFile.get() + self.cfg.tls.config.tlsConfig.verifyClient = self.cfgTlsVerifyClient.get() + self.cfg.tls.config.tlsConfig.verifyServer = self.cfgTlsVerifyServer.get() + + # Media + self.cfg.epConfig.medConfig.clockRate = self.cfgClockrate.get() + self.cfg.epConfig.medConfig.sndClockRate = self.cfgSndClockrate.get() + self.cfg.epConfig.medConfig.audioFramePtime = self.cfgAudioPtime.get() + self.cfg.epConfig.medConfig.quality = self.cfgMediaQuality.get() + self.cfg.epConfig.medConfig.ptime = self.cfgCodecPtime.get() + self.cfg.epConfig.medConfig.noVad = not self.cfgVad.get() + self.cfg.epConfig.medConfig.ecTailLen = self.cfgEcTailLen.get() + + self.isOk = True + self.destroy() + + def onCancel(self): + self.destroy() + + +if __name__ == '__main__': + #application.main() + acfg = AppConfig() + acfg.loadFile('pygui.js') + + dlg = Dialog(None, acfg) + if dlg.doModal(): + acfg.saveFile('pygui.js') + \ No newline at end of file diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/Makefile b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/Makefile similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/Makefile rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/Makefile diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/_pjsua.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/_pjsua.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/_pjsua.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/_pjsua.c index bc00189daab14cbaefcd835dfdc027452af625de..99ff8acc19322f530e66825faa67f694ebb6cadf 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/_pjsua.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/_pjsua.c @@ -1,4 +1,4 @@ -/* $Id: _pjsua.c 3999 2012-03-30 07:10:13Z bennylp $ */ +/* $Id: _pjsua.c 4724 2014-01-31 08:52:09Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -131,25 +131,26 @@ static void cb_on_call_state(pjsua_call_id call_id, pjsip_event *e) * declares method on_incoming_call for callback struct */ static void cb_on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, - pjsip_rx_data *rdata) + pjsip_rx_data *rdata) { - PJ_UNUSED_ARG(rdata); - if (PyCallable_Check(g_obj_callback->on_incoming_call)) { - PyObject *obj; - + PyObj_pjsip_rx_data *obj; + ENTER_PYTHON(); - - obj = Py_BuildValue(""); - - PyObject_CallFunction( - g_obj_callback->on_incoming_call, - "iiO", - acc_id, - call_id, - obj, - NULL - ); + + obj = (PyObj_pjsip_rx_data*) + PyObj_pjsip_rx_data_new(&PyTyp_pjsip_rx_data, + NULL, NULL); + PyObj_pjsip_rx_data_import(obj, rdata); + + PyObject_CallFunction( + g_obj_callback->on_incoming_call, + "iiO", + acc_id, + call_id, + obj, + NULL + ); Py_DECREF(obj); @@ -207,7 +208,7 @@ static void cb_on_dtmf_digit(pjsua_call_id call_id, int digit) /* - * Notify application on call being transfered. + * Notify application on call being transferred. * !modified @061206 */ static void cb_on_call_transfer_request(pjsua_call_id call_id, @@ -3105,14 +3106,15 @@ static PyObject *py_pjsua_call_make_call(PyObject *pSelf, PyObject *pArgs) int acc_id; pj_str_t dst_uri; PyObject *pDstUri, *pMsgData, *pUserData; - unsigned options; + pjsua_call_setting option; pjsua_msg_data msg_data; int call_id; pj_pool_t *pool = NULL; PJ_UNUSED_ARG(pSelf); - if (!PyArg_ParseTuple(pArgs, "iOIOO", &acc_id, &pDstUri, &options, + pjsua_call_setting_default(&option); + if (!PyArg_ParseTuple(pArgs, "iOIOO", &acc_id, &pDstUri, &option.flag, &pUserData, &pMsgData)) { return NULL; @@ -3135,7 +3137,7 @@ static PyObject *py_pjsua_call_make_call(PyObject *pSelf, PyObject *pArgs) Py_XINCREF(pUserData); status = pjsua_call_make_call(acc_id, &dst_uri, - options, (void*)pUserData, + &option, (void*)pUserData, &msg_data, &call_id); if (pool != NULL) pj_pool_release(pool); @@ -4452,6 +4454,9 @@ init_pjsua(void) PyTyp_pjsip_cred_info.tp_new = PyType_GenericNew; if (PyType_Ready(&PyTyp_pjsip_cred_info) < 0) return; + PyTyp_pjsip_rx_data.tp_new = PyType_GenericNew; + if (PyType_Ready(&PyTyp_pjsip_rx_data) < 0) + return; /* LIB TRANSPORT */ @@ -4536,6 +4541,11 @@ init_pjsua(void) (PyObject *)&PyTyp_pjsip_cred_info ); + Py_INCREF(&PyTyp_pjsip_rx_data); + PyModule_AddObject(m, "Pjsip_Rx_Data", + (PyObject *)&PyTyp_pjsip_rx_data + ); + /* LIB TRANSPORT */ Py_INCREF(&PyTyp_pjsua_transport_config); diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/_pjsua.def b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/_pjsua.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/_pjsua.def rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/_pjsua.def diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/_pjsua.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/_pjsua.h similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/_pjsua.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/_pjsua.h index f2ed7804189724811703b2e8a4f3eca0ac1cafb1..167d2805c63b45bdb002e66cafb2629a0b640a68 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/_pjsua.h +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/_pjsua.h @@ -1,4 +1,4 @@ -/* $Id: _pjsua.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: _pjsua.h 4724 2014-01-31 08:52:09Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -332,7 +332,7 @@ static PyMemberDef PyObj_pjsua_callback_members[] = { "on_call_transfer_request", T_OBJECT_EX, offsetof(PyObj_pjsua_callback, on_call_transfer_request), 0, - "Notify application on call being transfered. " + "Notify application on call being transferred. " "Application can decide to accept/reject transfer request " "by setting the code (default is 200). When this callback " "is not defined, the default behavior is to accept the " @@ -1327,6 +1327,12 @@ typedef struct unsigned port; PyObject *public_addr; PyObject *bound_addr; + pj_qos_type qos_type; + pj_uint8_t qos_params_flags; + pj_uint8_t qos_params_dscp_val; + pj_uint8_t qos_params_so_prio; + pj_qos_wmm_prio qos_params_wmm_prio; + } PyObj_pjsua_transport_config; @@ -1337,7 +1343,7 @@ typedef struct static void PyObj_pjsua_transport_config_delete(PyObj_pjsua_transport_config* self) { Py_XDECREF(self->public_addr); - Py_XDECREF(self->bound_addr); + Py_XDECREF(self->bound_addr); self->ob_type->tp_free((PyObject*)self); } @@ -1349,7 +1355,11 @@ static void PyObj_pjsua_transport_config_export(pjsua_transport_config *cfg, cfg->public_addr = PyString_ToPJ(obj->public_addr); cfg->bound_addr = PyString_ToPJ(obj->bound_addr); cfg->port = obj->port; - + cfg->qos_type = obj->qos_type; + cfg->qos_params.flags = obj->qos_params_flags; + cfg->qos_params.dscp_val = obj->qos_params_dscp_val; + cfg->qos_params.so_prio = obj->qos_params_so_prio; + cfg->qos_params.wmm_prio = obj->qos_params_wmm_prio; } static void PyObj_pjsua_transport_config_import(PyObj_pjsua_transport_config *obj, @@ -1361,7 +1371,13 @@ static void PyObj_pjsua_transport_config_import(PyObj_pjsua_transport_config *ob Py_XDECREF(obj->bound_addr); obj->bound_addr = PyString_FromPJ(&cfg->bound_addr); - obj->port = cfg->port; + obj->port = cfg->port; + obj->qos_type = cfg->qos_type; + obj->qos_params_flags = cfg->qos_params.flags; + obj->qos_params_dscp_val = cfg->qos_params.dscp_val; + obj->qos_params_so_prio = cfg->qos_params.so_prio; + obj->qos_params_wmm_prio = cfg->qos_params.wmm_prio; + } @@ -1381,7 +1397,7 @@ static PyObject * PyObj_pjsua_transport_config_new(PyTypeObject *type, self = (PyObj_pjsua_transport_config *)type->tp_alloc(type, 0); if (self != NULL) { self->public_addr = PyString_FromString(""); - self->bound_addr = PyString_FromString(""); + self->bound_addr = PyString_FromString(""); } return (PyObject *)self; @@ -1419,6 +1435,56 @@ static PyMemberDef PyObj_pjsua_transport_config_members[] = "published address of a transport (the public_addr field should be " "used for that purpose)." }, + { + "qos_type", T_INT, + offsetof(PyObj_pjsua_transport_config, qos_type), 0, + "High level traffic classification." + "Enumerator:" + " 0: PJ_QOS_TYPE_BEST_EFFORT" + " Best effort traffic (default value). Any QoS function calls with " + " specifying this value are effectively no-op" + " 1: PJ_QOS_TYPE_BACKGROUND" + " Background traffic." + " 2: PJ_QOS_TYPE_VIDEO" + " Video traffic." + " 3: PJ_QOS_TYPE_VOICE" + " Voice traffic." + " 4: PJ_QOS_TYPE_CONTROL" + " Control traffic." + }, + { + "qos_params_flags", T_INT, + offsetof(PyObj_pjsua_transport_config, qos_params_flags), 0, + "Determines which values to set, bitmask of pj_qos_flag." + " PJ_QOS_PARAM_HAS_DSCP = 1" + " PJ_QOS_PARAM_HAS_SO_PRIO = 2" + " PJ_QOS_PARAM_HAS_WMM = 4" + }, + { + "qos_params_dscp_val", T_INT, + offsetof(PyObj_pjsua_transport_config, qos_params_dscp_val), 0, + "The 6 bits DSCP value to set." + "Example: 46=EF, 26=AF31, 24=CS3..." + }, + { + "qos_params_so_prio", T_INT, + offsetof(PyObj_pjsua_transport_config, qos_params_so_prio), 0, + "Socket SO_PRIORITY value." + }, + { + "qos_params_wmm_prio", T_INT, + offsetof(PyObj_pjsua_transport_config, qos_params_wmm_prio), 0, + "Standard WMM priorities." + "Enumerator:" + " 0: PJ_QOS_WMM_PRIO_BULK_EFFORT" + " Bulk effort priority" + " 1: PJ_QOS_WMM_PRIO_BULK" + " Bulk priority." + " 2: PJ_QOS_WMM_PRIO_VIDEO" + " Video priority" + " 3: PJ_QOS_WMM_PRIO_VOICE" + " Voice priority." + }, {NULL} /* Sentinel */ }; @@ -1675,6 +1741,7 @@ typedef struct PyObject *ka_data; unsigned use_srtp; unsigned srtp_secure_signaling; + PyObject *rtp_transport_cfg; } PyObj_pjsua_acc_config; @@ -1694,6 +1761,7 @@ static void PyObj_pjsua_acc_config_delete(PyObj_pjsua_acc_config* self) Py_XDECREF(self->contact_params); Py_XDECREF(self->contact_uri_params); Py_XDECREF(self->ka_data); + Py_XDECREF(self->rtp_transport_cfg); self->ob_type->tp_free((PyObject*)self); } @@ -1701,6 +1769,7 @@ static void PyObj_pjsua_acc_config_delete(PyObj_pjsua_acc_config* self) static void PyObj_pjsua_acc_config_import(PyObj_pjsua_acc_config *obj, const pjsua_acc_config *cfg) { + PyObj_pjsua_transport_config *tconf; unsigned i; obj->priority = cfg->priority; @@ -1727,7 +1796,7 @@ static void PyObj_pjsua_acc_config_import(PyObj_pjsua_acc_config *obj, obj->cred_info = (PyListObject *)PyList_New(0); for (i=0; i<cfg->cred_count; ++i) { PyObj_pjsip_cred_info * ci; - + ci = (PyObj_pjsip_cred_info *) PyObj_pjsip_cred_info_new(&PyTyp_pjsip_cred_info,NULL,NULL); PyObj_pjsip_cred_info_import(ci, &cfg->cred_info[i]); @@ -1755,11 +1824,19 @@ static void PyObj_pjsua_acc_config_import(PyObj_pjsua_acc_config *obj, obj->ka_data = PyString_FromPJ(&cfg->ka_data); obj->use_srtp = cfg->use_srtp; obj->srtp_secure_signaling = cfg->srtp_secure_signaling; + + Py_XDECREF(obj->rtp_transport_cfg); + tconf = (PyObj_pjsua_transport_config*) + PyObj_pjsua_transport_config_new(&PyTyp_pjsua_transport_config, + NULL, NULL); + PyObj_pjsua_transport_config_import(tconf, &cfg->rtp_cfg); + obj->rtp_transport_cfg = (PyObject *) tconf; } static void PyObj_pjsua_acc_config_export(pjsua_acc_config *cfg, PyObj_pjsua_acc_config *obj) { + PyObj_pjsua_transport_config *tconf; unsigned i; cfg->priority = obj->priority; @@ -1784,8 +1861,8 @@ static void PyObj_pjsua_acc_config_export(pjsua_acc_config *cfg, if (cfg->cred_count > PJ_ARRAY_SIZE(cfg->cred_info)) cfg->cred_count = PJ_ARRAY_SIZE(cfg->cred_info); for (i = 0; i < cfg->cred_count; i++) { - PyObj_pjsip_cred_info *ci; - ci = (PyObj_pjsip_cred_info*) + PyObj_pjsip_cred_info *ci; + ci = (PyObj_pjsip_cred_info*) PyList_GetItem((PyObject *)obj->cred_info, i); PyObj_pjsip_cred_info_export(&cfg->cred_info[i], ci); } @@ -1805,6 +1882,9 @@ static void PyObj_pjsua_acc_config_export(pjsua_acc_config *cfg, cfg->ka_data = PyString_ToPJ(obj->ka_data); cfg->use_srtp = obj->use_srtp; cfg->srtp_secure_signaling = obj->srtp_secure_signaling; + + tconf = (PyObj_pjsua_transport_config*)obj->rtp_transport_cfg; + PyObj_pjsua_transport_config_export(&cfg->rtp_cfg, tconf); } @@ -1997,6 +2077,11 @@ static PyMemberDef PyObj_pjsua_acc_config_members[] = offsetof(PyObj_pjsua_acc_config, srtp_secure_signaling), 0, "Specify if SRTP requires secure signaling to be used." }, + { + "rtp_transport_cfg", T_OBJECT_EX, + offsetof(PyObj_pjsua_acc_config, rtp_transport_cfg), 0, + "Transport configuration for RTP." + }, {NULL} /* Sentinel */ }; @@ -3501,6 +3586,131 @@ static PyTypeObject PyTyp_pjsua_call_info = }; +////////////////////////////////////////////////////////////////////////////// +/* + * PyObj_pjsip_rx_data + */ +typedef struct +{ + PyObject_HEAD + + /* Type-specific fields go here. */ + PyObject *msg_info_buffer; // string + PyObject *msg_info_info; // string + +} PyObj_pjsip_rx_data; + +/* + * PyObj_pjsip_rx_data_dealloc + * deletes rx_data from memory + */ +static void PyObj_pjsip_rx_data_delete(PyObj_pjsip_rx_data* self) +{ + Py_XDECREF(self->msg_info_buffer); + Py_XDECREF(self->msg_info_info); + + self->ob_type->tp_free((PyObject*)self); +} + + +static void PyObj_pjsip_rx_data_import(PyObj_pjsip_rx_data *obj, pjsip_rx_data *rx_data) +{ + Py_XDECREF(obj->msg_info_buffer); + obj->msg_info_buffer = PyString_FromString(rx_data->msg_info.msg_buf); + Py_XDECREF(obj->msg_info_info); + obj->msg_info_info = PyString_FromString(pjsip_rx_data_get_info(rx_data)); +} + + +/* + * PyObj_pjsip_rx_data_new + * constructor for PyObj_pjsip_rx_data object + */ +static PyObject * PyObj_pjsip_rx_data_new(PyTypeObject *type, PyObject *args, PyObject *kwds) +{ + PyObj_pjsip_rx_data *self; + + PJ_UNUSED_ARG(args); + PJ_UNUSED_ARG(kwds); + + self = (PyObj_pjsip_rx_data *)type->tp_alloc(type, 0); + if (self != NULL) { + self->msg_info_buffer = PyString_FromString(""); + self->msg_info_info = PyString_FromString(""); + } + + return (PyObject *)self; +} + + + +/* + * PyObj_pjsip_rx_data_members + */ +static PyMemberDef PyObj_pjsip_rx_data_members[] = +{ + { + "msg_info_buffer", T_OBJECT_EX, + offsetof(PyObj_pjsip_rx_data, msg_info_buffer), 0, + "Entire SIP-Message" + }, + { + "msg_info_info", T_OBJECT_EX, + offsetof(PyObj_pjsip_rx_data, msg_info_info), 0, + "Message Info" + }, + + {NULL} /* Sentinel */ +}; + +/* + * PyTyp_pjsip_rx_data + */ +static PyTypeObject PyTyp_pjsip_rx_data = +{ + PyObject_HEAD_INIT(NULL) + 0, /*ob_size*/ + "_pjsua.Pjsip_Rx_Data", /*tp_name*/ + sizeof(PyObj_pjsip_rx_data), /*tp_basicsize*/ + 0, /*tp_itemsize*/ + (destructor)PyObj_pjsip_rx_data_delete,/*tp_dealloc*/ + 0, /*tp_print*/ + 0, /*tp_getattr*/ + 0, /*tp_setattr*/ + 0, /*tp_compare*/ + 0, /*tp_repr*/ + 0, /*tp_as_number*/ + 0, /*tp_as_sequence*/ + 0, /*tp_as_mapping*/ + 0, /*tp_hash */ + 0, /*tp_call*/ + 0, /*tp_str*/ + 0, /*tp_getattro*/ + 0, /*tp_setattro*/ + 0, /*tp_as_buffer*/ + Py_TPFLAGS_DEFAULT, /*tp_flags*/ + "PJSIP request data information", /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + PyObj_pjsip_rx_data_members, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + PyObj_pjsip_rx_data_new, /* tp_new */ + +}; + + ////////////////////////////////////////////////////////////////////////////// diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/helper.mak b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/helper.mak similarity index 59% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/helper.mak rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/helper.mak index b4acce615e95cfa755848959f804a5ed647e642a..f9fdf34db79bfdc31ee1fc1b0a892d8406c81e01 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/helper.mak +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/helper.mak @@ -2,16 +2,16 @@ include ../../../build.mak lib_dir: @for token in `echo $(APP_LDFLAGS)`; do \ - echo $$token | grep L | sed 's/-L//'; \ + echo $$token | grep '\-L' | sed 's/-L//'; \ done inc_dir: @for token in `echo $(APP_CFLAGS)`; do \ - echo $$token | grep I | sed 's/-I//'; \ + echo $$token | grep '\-I' | sed 's/-I//'; \ done libs: @for token in `echo $(APP_LDLIBS)`; do \ - echo $$token | grep \\-l | sed 's/-l//'; \ + echo $$token | grep '\-l' | sed 's/-l//'; \ done diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/pjsua.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/pjsua.py similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/pjsua.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/pjsua.py index 183ce0e70bfee11715dd34314de02f9195d91e42..f76fee09ab1abffb51715ff6f7edb66c6fa436f2 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/pjsua.py +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/pjsua.py @@ -1,4 +1,4 @@ -# $Id: pjsua.py 2976 2009-10-29 08:16:46Z bennylp $ +# $Id: pjsua.py 4724 2014-01-31 08:52:09Z nanang $ # # Object oriented PJSUA wrapper. # @@ -474,10 +474,43 @@ class TransportConfig: transport. If empty, the default behavior is to get the public address from STUN or from the selected local interface. Format is "host:port". + qos_type -- High level traffic classification. + Enumerator: + 0: PJ_QOS_TYPE_BEST_EFFORT + Best effort traffic (default value). Any QoS function calls with + specifying this value are effectively no-op + 1: PJ_QOS_TYPE_BACKGROUND + Background traffic. + 2: PJ_QOS_TYPE_VIDEO + Video traffic. + 3: PJ_QOS_TYPE_VOICE + Voice traffic. + 4: PJ_QOS_TYPE_CONTROL + Control traffic. + qos_params_flags -- Determines which values to set, bitmask of pj_qos_flag. + PJ_QOS_PARAM_HAS_DSCP = 1 + PJ_QOS_PARAM_HAS_SO_PRIO = 2 + PJ_QOS_PARAM_HAS_WMM = 4 + qos_params_dscp_val -- The 6 bits DSCP value to set. + qos_params_so_prio -- Socket SO_PRIORITY value. + qos_params_wmm_prio -- Standard WMM priorities. + Enumerator: + 0: PJ_QOS_WMM_PRIO_BULK_EFFORT: Bulk effort priority + 1: PJ_QOS_WMM_PRIO_BULK: Bulk priority. + 2: PJ_QOS_WMM_PRIO_VIDEO: Video priority + 3: PJ_QOS_WMM_PRIO_VOICE: Voice priority. """ port = 0 bound_addr = "" public_addr = "" + + qos_type = 0 + qos_params_flags = 0 + qos_params_dscp_val = 0 + qos_params_so_prio = 0 + qos_params_wmm_prio = 0 + + def __init__(self, port=0, bound_addr="", public_addr=""): @@ -485,11 +518,27 @@ class TransportConfig: self.bound_addr = bound_addr self.public_addr = public_addr + def _cvt_from_pjsua(self, cfg): + self.port = cfg.port + self.bound_addr = cfg.bound_addr + self.public_addr = cfg.public_addr + self.qos_type = cfg.qos_type + self.qos_params_flags = cfg.qos_params_flags + self.qos_params_dscp_val = cfg.qos_params_dscp_val + self.qos_params_so_prio = cfg.qos_params_so_prio + self.qos_params_wmm_prio = cfg.qos_params_wmm_prio + def _cvt_to_pjsua(self): cfg = _pjsua.transport_config_default() cfg.port = self.port cfg.bound_addr = self.bound_addr cfg.public_addr = self.public_addr + cfg.qos_type = self.qos_type + cfg.qos_params_flags = self.qos_params_flags + cfg.qos_params_dscp_val = self.qos_params_dscp_val + cfg.qos_params_so_prio = self.qos_params_so_prio + cfg.qos_params_wmm_prio = self.qos_params_wmm_prio + return cfg @@ -704,6 +753,8 @@ class AccountConfig: transport is required, 1=hop-by-hop secure transport such as TLS is required, 2=end-to- end secure transport is required (i.e. "sips"). + rtp_transport_cfg -- the rtp-transport-configuration that is usede, when + a rtp-connection is being established. """ priority = 0 id = "" @@ -723,6 +774,7 @@ class AccountConfig: ka_data = "\r\n" use_srtp = 0 srtp_secure_signaling = 1 + rtp_transport_cfg = None def __init__(self, domain="", username="", password="", display="", registrar="", proxy=""): @@ -748,9 +800,10 @@ class AccountConfig: if domain!="": self.build_config(domain, username, password, display, registrar, proxy) + self.rtp_transport_cfg = TransportConfig() def build_config(self, domain, username, password, display="", - registrar="", proxy=""): + registrar="", proxy="", rtp_transport_cfg = None): """ Construct account config. If domain argument is specified, a typical configuration will be built. @@ -784,6 +837,11 @@ class AccountConfig: self.proxy.append(proxy) if username != "": self.auth_cred.append(AuthCred("*", username, password)) + + if (rtp_transport_cfg is not None): + self.rtp_transport_cfg = rtp_transport_cfg + else: + self.rtp_transport_cfg = TransportConfig() def _cvt_from_pjsua(self, cfg): self.priority = cfg.priority @@ -807,6 +865,8 @@ class AccountConfig: self.ka_data = cfg.ka_data self.use_srtp = cfg.use_srtp self.srtp_secure_signaling = cfg.srtp_secure_signaling + if (self.rtp_transport_cfg is not None): + self.rtp_transport_cfg._cvt_from_pjsua(cfg.rtp_transport_cfg) def _cvt_to_pjsua(self): cfg = _pjsua.acc_config_default() @@ -827,6 +887,7 @@ class AccountConfig: c.data_type = cred.passwd_type c.data = cred.passwd cfg.cred_info.append(c) + cfg.auth_initial_send = self.auth_initial_send cfg.auth_initial_algorithm = self.auth_initial_algorithm cfg.transport_id = self.transport_id @@ -835,6 +896,10 @@ class AccountConfig: cfg.ka_data = self.ka_data cfg.use_srtp = self.use_srtp cfg.srtp_secure_signaling = self.srtp_secure_signaling + + if (self.rtp_transport_cfg is not None): + cfg.rtp_transport_cfg = self.rtp_transport_cfg._cvt_to_pjsua() + return cfg @@ -914,14 +979,30 @@ class AccountCallback: def on_incoming_call(self, call): """Notification about incoming call. - Unless this callback is implemented, the default behavior is to - reject the call with default status code. + Application should implement one of on_incoming_call() or + on_incoming_call2(), otherwise, the default behavior is to + reject the call with default status code. Note that if both are + implemented, only on_incoming_call2() will be called. Keyword arguments: call -- the new incoming call """ call.hangup() + def on_incoming_call2(self, call, rdata): + """Notification about incoming call, with received SIP message info. + + Application should implement one of on_incoming_call() or + on_incoming_call2(), otherwise, the default behavior is to + reject the call with default status code. Note that if both are + implemented, only on_incoming_call2() will be called. + + Keyword arguments: + call -- the new incoming call + rdata -- the received message + """ + call.hangup() + def on_incoming_subscribe(self, buddy, from_uri, contact_uri, pres_obj): """Notification when incoming SUBSCRIBE request is received. @@ -1305,7 +1386,7 @@ class CallCallback: pass def on_transfer_request(self, dst, code): - """Notification that call is being transfered by remote party. + """Notification that call is being transferred by remote party. Application can decide to accept/reject transfer request by returning code greater than or equal to 500. The default behavior is to accept @@ -2677,7 +2758,10 @@ class Lib: def _cb_on_incoming_call(self, acc_id, call_id, rdata): acc = self._lookup_account(acc_id) if acc: - acc._cb.on_incoming_call( Call(self, call_id) ) + if 'on_incoming_call2' in acc._cb.__class__.__dict__: + acc._cb.on_incoming_call2( Call(self, call_id), rdata ) + else: + acc._cb.on_incoming_call( Call(self, call_id) ) else: _pjsua.call_hangup(call_id, 603, None, None) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/samples/call.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/samples/call.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/samples/call.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/samples/call.py diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/samples/presence.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/samples/presence.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/samples/presence.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/samples/presence.py diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/samples/registration.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/samples/registration.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/samples/registration.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/samples/registration.py diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/samples/simplecall.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/samples/simplecall.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/samples/simplecall.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/samples/simplecall.py diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/setup-vc.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/setup-vc.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/setup-vc.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/setup-vc.py diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/setup.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/setup.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/python/setup.py rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/python/setup.py diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/aectest.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/aectest.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/aectest.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/aectest.c index ff95db4ea31fa177a0450184747cddbbe08711b9..8991fec5ad0cf8c5d47c05b111480db2096f3dfe 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/aectest.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/aectest.c @@ -1,4 +1,4 @@ -/* $Id: aectest.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: aectest.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -263,7 +263,7 @@ int main(int argc, char *argv[]) } pj_get_timestamp(&t1); - i = pjmedia_wav_writer_port_get_pos(wav_out) / sizeof(pj_int16_t) * 1000 / + i = (int)pjmedia_wav_writer_port_get_pos(wav_out) / sizeof(pj_int16_t) * 1000 / (PJMEDIA_PIA_SRATE(&wav_out->info) * PJMEDIA_PIA_CCNT(&wav_out->info)); PJ_LOG(3,(THIS_FILE, "Processed %3d.%03ds audio", i / 1000, i % 1000)); diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/auddemo.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/auddemo.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/auddemo.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/auddemo.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/aviplay.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/aviplay.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/aviplay.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/aviplay.c index 2ac904e82123db6e4190a456e13cc71bededa09b..018a308478732ecfe6e8ad99e52d2ce6779dc705 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/aviplay.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/aviplay.c @@ -1,4 +1,4 @@ -/* $Id: aviplay.c 4051 2012-04-13 08:16:30Z ming $ */ +/* $Id: aviplay.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) * @@ -155,7 +155,7 @@ static pj_status_t codec_get_frame(pjmedia_port *port, if (status != PJ_SUCCESS) goto on_error; status = pjmedia_vid_codec_decode(codec, 1, frame, - frame->size, &enc_frame); + (unsigned)frame->size, &enc_frame); if (status != PJ_SUCCESS) goto on_error; frame->size = frame_size; @@ -169,7 +169,7 @@ static pj_status_t codec_get_frame(pjmedia_port *port, if (status != PJ_SUCCESS) goto on_error; status = pjmedia_vid_codec_decode(codec, 1, &enc_frame, - frame->size, frame); + (unsigned)frame->size, frame); if (status != PJ_SUCCESS) goto on_error; return PJ_SUCCESS; diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/clidemo.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/clidemo.c new file mode 100644 index 0000000000000000000000000000000000000000..7de31c907d206bf976546a25df95f5e9ab51843c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/clidemo.c @@ -0,0 +1,262 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * Sample CLI application + */ +#include <pjlib-util/cli.h> +#include <pjlib-util/cli_imp.h> +#include <pjlib-util/cli_console.h> +#include <pjlib-util/cli_telnet.h> +#include <pjlib-util/errno.h> +#include <pjlib.h> + +#define THIS_FILE "clidemo.c" + +/* Set this to 1 if you want to let the system assign a port + * for the CLI telnet daemon. + * Default: 1 + */ +#define USE_RANDOM_PORT 1 + +struct cmd_xml_t { + char * xml; + pj_cli_cmd_handler handler; +}; + +/* + * Declaration of system specific main loop, which will be defined in + * a separate file. + */ +pj_status_t app_main(pj_cli_t *cli); + +#define print_msg(arg) \ + do { \ + unsigned d = pj_log_get_decor(); \ + pj_log_set_decor(0); \ + PJ_LOG(1, arg); \ + pj_log_set_decor(d); \ + } while (0) + +static pj_cli_t *cli = NULL; + +/* Handler for sayhello command */ +static pj_status_t sayhello(pj_cli_cmd_val *cval) +{ + print_msg(("", "Hello %.*s!\r\n", + (int)cval->argv[1].slen, cval->argv[1].ptr)); + return PJ_SUCCESS; +} + +/* Handler for saybye command */ +static pj_status_t saybye(pj_cli_cmd_val *cval) +{ + print_msg(("", "Bye %.*s!\r\n", + (int)cval->argv[1].slen, cval->argv[1].ptr)); + return PJ_SUCCESS; +} + +/* Handler for say command */ +static pj_status_t say(pj_cli_cmd_val *cval) +{ + print_msg(("", "%.*s %.*s\r\n", + (int)cval->argv[1].slen, cval->argv[1].ptr, + (int)cval->argv[2].slen, cval->argv[2].ptr)); + return PJ_SUCCESS; +} + +static pj_status_t quit_app(pj_cli_cmd_val *cval) +{ + PJ_UNUSED_ARG(cval); + pj_cli_quit(cval->sess->fe->cli, cval->sess, PJ_FALSE); + + return PJ_CLI_EEXIT; +} + +static void get_codec_list(pj_cli_dyn_choice_param *param) +{ + if (param->arg_id == 3) { + param->cnt = 2; + pj_strdup2(param->pool, ¶m->choice[0].value, "iLbc"); + pj_strdup2(param->pool, ¶m->choice[0].desc, "iLbc Codec"); + pj_strdup2(param->pool, ¶m->choice[1].value, "g729"); + pj_strdup2(param->pool, ¶m->choice[1].desc, "g729 Codec"); + } +} + +static struct cmd_xml_t cmd_xmls[] = { + {"<CMD name='sayhello' id='1' sc=' ,h , ,, sh ,' desc='Will say hello'>" + " <ARG name='whom' type='text' desc='Whom to say hello to'/>" + "</CMD>", + &sayhello}, + {"<CMD name='saybye' id='2' sc='b,sb' desc='Will say bye'>" + " <ARG name='whom' type='text' desc='Whom to say bye to'/>" + "</CMD>", + &saybye}, + {"<CMD name='saymsg' id='3' sc='s' desc='Will say something'>" + " <ARG name='msg' type='text' desc='Message to say'/>" + " <ARG name='whom' type='text' desc='Whom to say to'/>" + "</CMD>", + &say}, + {"<CMD name='vid' id='1' desc='Video Command'>" + " <CMD name='help' id='2' desc='Show Help' />" + " <CMD name='enable' id='3' desc='Enable Video' />" + " <CMD name='disable' id='4' desc='Disable Video' />" + " <CMD name='call' id='5' desc='Video call' >" + " <CMD name='add' id='6' desc='Add Call' />" + " <CMD name='cap' id='7' desc='Capture Call' >" + " <ARG name='streamno' type='int' desc='Stream No' id='1'/>" + " <ARG name='devid' type='int' desc='Device Id' id='2'/>" + " </CMD>" + " </CMD>" + "</CMD>", + NULL}, + {"<CMD name='disable_codec' id='8' desc='Disable codec'>" + " <ARG name='codec_list' type='choice' id='3' desc='Codec list'>" + " <CHOICE value='g711' desc='G711 Codec'/>" + " <CHOICE value='g722' desc='G722 Codec'/>" + " </ARG>" + "</CMD>", + NULL}, + {"<CMD name='quit_app' id='999' sc='qa' desc='Quit the application'>" + "</CMD>", + &quit_app}, +}; + +static void log_writer(int level, const char *buffer, int len) +{ + if (cli) + pj_cli_write_log(cli, level, buffer, len); +} + +int main() +{ + pj_caching_pool cp; + pj_cli_cfg cli_cfg; + pj_cli_telnet_cfg tcfg; + pj_str_t xml; + pj_status_t status; + int i; + + pj_init(); + pj_caching_pool_init(&cp, NULL, 0); + pjlib_util_init(); + + /* + * Create CLI app. + */ + pj_cli_cfg_default(&cli_cfg); + cli_cfg.pf = &cp.factory; + cli_cfg.name = pj_str("mycliapp"); + cli_cfg.title = pj_str("My CLI Application"); + + status = pj_cli_create(&cli_cfg, &cli); + if (status != PJ_SUCCESS) + goto on_return; + + /* + * Register some commands. + */ + for (i = 0; i < sizeof(cmd_xmls)/sizeof(cmd_xmls[0]); i++) { + xml = pj_str(cmd_xmls[i].xml); + status = pj_cli_add_cmd_from_xml(cli, NULL, &xml, + cmd_xmls[i].handler, NULL, get_codec_list); + if (status != PJ_SUCCESS) + goto on_return; + } + + /* + * Start telnet daemon + */ + pj_cli_telnet_cfg_default(&tcfg); +// tcfg.passwd = pj_str("pjsip"); +#if USE_RANDOM_PORT + tcfg.port = 0; +#else + tcfg.port = 2233; +#endif + tcfg.prompt_str = pj_str("CoolWater% "); + status = pj_cli_telnet_create(cli, &tcfg, NULL); + if (status != PJ_SUCCESS) + goto on_return; + + /* + * Run the system specific main loop. + */ + status = app_main(cli); + +on_return: + + /* + * Destroy + */ + pj_cli_destroy(cli); + cli = NULL; + pj_caching_pool_destroy(&cp); + pj_shutdown(); + + return (status != PJ_SUCCESS ? 1 : 0); +} + + +/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxx main_console.c xxxxxxxxxxxxxxxxxxxxxxxxxxxx */ +/* + * Simple implementation of app_main() for console targets + */ +pj_status_t app_main(pj_cli_t *cli) +{ + pj_status_t status; + pj_cli_sess *sess; + pj_cli_console_cfg console_cfg; + + pj_cli_console_cfg_default(&console_cfg); + console_cfg.prompt_str = pj_str("HotWater> "); + + /* + * Create the console front end + */ + status = pj_cli_console_create(cli, &console_cfg, &sess, NULL); + if (status != PJ_SUCCESS) + return status; + + pj_log_set_log_func(&log_writer); + + /* + * Main loop. + */ + for (;;) { + char cmdline[PJ_CLI_MAX_CMDBUF]; + pj_status_t status; + + status = pj_cli_console_process(sess, &cmdline[0], sizeof(cmdline)); + if (status != PJ_SUCCESS) + break; + + //pj_ansi_strcpy(cmdline, "sayhello {Teluu Inc.}"); + if (status == PJ_CLI_EEXIT) { + /* exit is called */ + break; + } else if (status != PJ_SUCCESS) { + /* Something wrong with the cmdline */ + PJ_PERROR(1,(THIS_FILE, status, "Exec error")); + } + } + + return PJ_SUCCESS; +} diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/confbench.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/confbench.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/confbench.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/confbench.c index 4fe155d8f0024b4e9022fa36f77db25074baa016..b91aebba07accab76b18bbe6fe184f21e91e83e9 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/confbench.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/confbench.c @@ -1,4 +1,4 @@ -/* $Id: confbench.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: confbench.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -144,7 +144,8 @@ static pj_status_t sine_get_frame( pjmedia_port *port, { port_data *sine = port->port_data.pdata; pj_int16_t *samples = frame->buf; - unsigned i, count, left, right; + unsigned i, left, right; + pj_size_t count; /* Get number of samples */ count = frame->size / 2 / PJMEDIA_PIA_CCNT(&port->info); diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/confsample.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/confsample.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/confsample.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/confsample.c index b8eb93f388f6118dee6a03fa7d6a93b87fbe0647..79b3a9ad3ea2fef38db1777aedc2b5ffe66850cd 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/confsample.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/confsample.c @@ -1,4 +1,4 @@ -/* $Id: confsample.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: confsample.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -105,7 +105,7 @@ static pj_bool_t input(const char *title, char *buf, pj_size_t len) char *p; printf("%s (empty to cancel): ", title); fflush(stdout); - if (fgets(buf, len, stdin) == NULL) + if (fgets(buf, (int)len, stdin) == NULL) return PJ_FALSE; /* Remove trailing newlines. */ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/debug.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/debug.cpp similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/debug.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/debug.cpp index 1d38f9a17bfdca1edd6ab9f1e879d6345a8987fb..9928c7e604ab334883561c7f60e6adc75985b298 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/debug.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/debug.cpp @@ -1,4 +1,4 @@ -/* $Id: debug.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: debug.cpp 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/encdec.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/encdec.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/encdec.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/encdec.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/footprint.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/footprint.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/footprint.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/footprint.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/httpdemo.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/httpdemo.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/httpdemo.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/httpdemo.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/icedemo.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/icedemo.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/icedemo.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/icedemo.c index 598ab1bb11bfcc48a5c3db8e7eb6d169512ddefe..8dbba21f8fee1f76df61028217c32a20ef2845e9 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/icedemo.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/icedemo.c @@ -1,4 +1,4 @@ -/* $Id: icedemo.c 4217 2012-07-27 17:24:12Z nanang $ */ +/* $Id: icedemo.c 4624 2013-10-21 06:37:30Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -514,10 +514,11 @@ static void icedemo_stop_session(void) reset_rem_info(); } -#define PRINT(fmt, arg0, arg1, arg2, arg3, arg4, arg5) \ +#define PRINT(...) \ printed = pj_ansi_snprintf(p, maxlen - (p-buffer), \ - fmt, arg0, arg1, arg2, arg3, arg4, arg5); \ - if (printed <= 0) return -PJ_ETOOSMALL; \ + __VA_ARGS__); \ + if (printed <= 0 || printed >= (int)(maxlen - (p-buffer))) \ + return -PJ_ETOOSMALL; \ p += printed @@ -539,15 +540,14 @@ static int print_cand(char buffer[], unsigned maxlen, (unsigned)pj_sockaddr_get_port(&cand->addr)); PRINT("%s\n", - pj_ice_get_cand_type_name(cand->type), - 0, 0, 0, 0, 0); + pj_ice_get_cand_type_name(cand->type)); if (p == buffer+maxlen) return -PJ_ETOOSMALL; *p = '\0'; - return p-buffer; + return (int)(p-buffer); } /* @@ -562,8 +562,7 @@ static int encode_session(char buffer[], unsigned maxlen) pj_status_t status; /* Write "dummy" SDP v=, o=, s=, and t= lines */ - PRINT("v=0\no=- 3414953978 3414953978 IN IP4 localhost\ns=ice\nt=0 0\n", - 0, 0, 0, 0, 0, 0); + PRINT("v=0\no=- 3414953978 3414953978 IN IP4 localhost\ns=ice\nt=0 0\n"); /* Get ufrag and pwd from current session */ pj_ice_strans_get_ufrag_pwd(icedemo.icest, &local_ufrag, &local_pwd, @@ -574,8 +573,7 @@ static int encode_session(char buffer[], unsigned maxlen) (int)local_ufrag.slen, local_ufrag.ptr, (int)local_pwd.slen, - local_pwd.ptr, - 0, 0); + local_pwd.ptr); /* Write each component */ for (comp=0; comp<icedemo.opt.comp_cnt; ++comp) { @@ -595,22 +593,19 @@ static int encode_session(char buffer[], unsigned maxlen) "c=IN IP4 %s\n", (int)pj_sockaddr_get_port(&cand[0].addr), pj_sockaddr_print(&cand[0].addr, ipaddr, - sizeof(ipaddr), 0), - 0, 0, 0, 0); + sizeof(ipaddr), 0)); } else if (comp==1) { /* For component 2, default address is in a=rtcp line */ PRINT("a=rtcp:%d IN IP4 %s\n", (int)pj_sockaddr_get_port(&cand[0].addr), pj_sockaddr_print(&cand[0].addr, ipaddr, - sizeof(ipaddr), 0), - 0, 0, 0, 0); + sizeof(ipaddr), 0)); } else { /* For other components, we'll just invent this.. */ PRINT("a=Xice-defcand:%d IN IP4 %s\n", (int)pj_sockaddr_get_port(&cand[0].addr), pj_sockaddr_print(&cand[0].addr, ipaddr, - sizeof(ipaddr), 0), - 0, 0, 0, 0); + sizeof(ipaddr), 0)); } /* Enumerate all candidates for this component */ @@ -622,7 +617,7 @@ static int encode_session(char buffer[], unsigned maxlen) /* And encode the candidates as SDP */ for (j=0; j<cand_cnt; ++j) { - printed = print_cand(p, maxlen - (p-buffer), &cand[j]); + printed = print_cand(p, maxlen - (unsigned)(p-buffer), &cand[j]); if (printed < 0) return -PJ_ETOOSMALL; p += printed; @@ -633,7 +628,7 @@ static int encode_session(char buffer[], unsigned maxlen) return -PJ_ETOOSMALL; *p = '\0'; - return p - buffer; + return (int)(p - buffer); } @@ -727,7 +722,7 @@ static void icedemo_input_remote(void) comp0_addr[0] = '\0'; while (!done) { - int len; + pj_size_t len; char *line; printf(">"); @@ -1077,7 +1072,7 @@ static void icedemo_console(void) while (!app_quit) { char input[80], *cmd; const char *SEP = " \t\r\n"; - int len; + pj_size_t len; icedemo_print_menu(); diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/invtester.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/invtester.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/invtester.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/invtester.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/jbsim.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/jbsim.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/jbsim.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/jbsim.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/latency.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/latency.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/latency.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/latency.c index 6193e61c8b0042b04b3d3c722567b4f07f792907..fdade1f6dbfde06a2bbdd92e8d8986dda6e42fcc 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/latency.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/latency.c @@ -1,4 +1,4 @@ -/* $Id: latency.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: latency.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -51,7 +51,8 @@ static int calculate_latency(pj_pool_t *pool, pjmedia_port *wav) { pjmedia_frame frm; short *buf; - unsigned i, samples_per_frame, read, len; + unsigned i, samples_per_frame; + pj_size_t read, len; unsigned start_pos; pj_status_t status; diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/level.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/level.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/level.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/level.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/main_rtems.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/main_rtems.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/main_rtems.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/main_rtems.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/mix.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/mix.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/mix.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/mix.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/pcaputil.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/pcaputil.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/pcaputil.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/pcaputil.c index 1c26484100ba1650810d519cb00ce0d59440d013..3eb16034577126fc92e3b8a3939a2e64188353b0 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/pcaputil.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/pcaputil.c @@ -1,4 +1,4 @@ -/* $Id: pcaputil.c 3841 2011-10-24 09:28:13Z ming $ */ +/* $Id: pcaputil.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -88,7 +88,7 @@ static void cleanup() pj_ssize_t pos = pjmedia_wav_writer_port_get_pos(app.wav); if (pos >= 0) { unsigned msec; - msec = pos / 2 * 1000 / PJMEDIA_PIA_SRATE(&app.wav->info); + msec = (unsigned)pos / 2 * 1000 / PJMEDIA_PIA_SRATE(&app.wav->info); printf("Written: %dm:%02ds.%03d\n", msec / 1000 / 60, (msec / 1000) % 60, @@ -162,7 +162,7 @@ static void read_rtp(pj_uint8_t *buf, pj_size_t bufsize, * We will decode it again to get the payload after we do * SRTP decoding */ - status = pjmedia_rtp_decode_rtp(&app.rtp_sess, buf, sz, &r, + status = pjmedia_rtp_decode_rtp(&app.rtp_sess, buf, (int)sz, &r, &p, payload_size); if (status != PJ_SUCCESS) { char errmsg[PJ_ERR_MSG_SIZE]; @@ -174,7 +174,7 @@ static void read_rtp(pj_uint8_t *buf, pj_size_t bufsize, /* Decrypt SRTP */ #if PJMEDIA_HAS_SRTP if (app.srtp) { - int len = sz; + int len = (int)sz; status = pjmedia_transport_srtp_decrypt_pkt(app.srtp, PJ_TRUE, buf, &len); if (status != PJ_SUCCESS) { @@ -187,7 +187,7 @@ static void read_rtp(pj_uint8_t *buf, pj_size_t bufsize, sz = len; /* Decode RTP packet again */ - status = pjmedia_rtp_decode_rtp(&app.rtp_sess, buf, sz, &r, + status = pjmedia_rtp_decode_rtp(&app.rtp_sess, buf, (int)sz, &r, &p, payload_size); if (status != PJ_SUCCESS) { char errmsg[PJ_ERR_MSG_SIZE]; @@ -376,8 +376,8 @@ static void pcap2wav(const pj_str_t *codec, pcm_frame.buf = pcm; pcm_frame.size = samples_per_frame * 2; - T( pjmedia_codec_decode(app.codec, &frames[i], pcm_frame.size, - &pcm_frame) ); + T( pjmedia_codec_decode(app.codec, &frames[i], + (unsigned)pcm_frame.size, &pcm_frame) ); if (app.wav) { T( pjmedia_port_put_frame(app.wav, &pcm_frame) ); } @@ -400,7 +400,7 @@ static void pcap2wav(const pj_str_t *codec, pcm_frame.size = samples_per_frame * 2; if (app.codec->op->recover) { - T( pjmedia_codec_recover(app.codec, pcm_frame.size, + T( pjmedia_codec_recover(app.codec, (unsigned)pcm_frame.size, &pcm_frame) ); } else { pj_bzero(pcm_frame.buf, pcm_frame.size); diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/pjsip-perf.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/pjsip-perf.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/pjsip-perf.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/pjsip-perf.c index 8918dd9f1be6f32cd8c7bb36817f7ffb766ec704..51023d6b1060a40d16aa8c46e7ed05cacccb6f09 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/pjsip-perf.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/pjsip-perf.c @@ -1,4 +1,4 @@ -/* $Id: pjsip-perf.c 4370 2013-02-26 05:30:00Z nanang $ */ +/* $Id: pjsip-perf.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -67,7 +67,7 @@ #include <pjlib.h> #include <stdio.h> -#if defined(PJ_WIN32) && PJ_WIN32!=0 +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || (defined(PJ_WIN64) && PJ_WIN64!=0) # include <windows.h> #endif @@ -1006,7 +1006,7 @@ static void call_on_state_changed( pjsip_inv_session *inv, } else if (inv->state == PJSIP_INV_STATE_DISCONNECTED) { report_completion(inv->cause); - inv->mod_data[mod_test.id] = (void*)1; + inv->mod_data[mod_test.id] = (void*)(pj_ssize_t)1; } } @@ -1093,7 +1093,7 @@ static pj_status_t verify_sip_url(const char *c_url) pjsip_uri *p; pj_pool_t *pool; char *url; - int len = (c_url ? pj_ansi_strlen(c_url) : 0); + pj_size_t len = (c_url ? pj_ansi_strlen(c_url) : 0); if (!len) return -1; @@ -1370,18 +1370,18 @@ static void tsx_completion_cb(void *token, pjsip_event *event) if (tsx->state==PJSIP_TSX_STATE_TERMINATED) { report_completion(tsx->status_code); - tsx->mod_data[mod_test.id] = (void*)1; + tsx->mod_data[mod_test.id] = (void*)(pj_ssize_t)1; } else if (tsx->method.id == PJSIP_INVITE_METHOD && tsx->state == PJSIP_TSX_STATE_CONFIRMED) { report_completion(tsx->status_code); - tsx->mod_data[mod_test.id] = (void*)1; + tsx->mod_data[mod_test.id] = (void*)(pj_ssize_t)1; } else if (tsx->state == PJSIP_TSX_STATE_COMPLETED) { report_completion(tsx->status_code); - tsx->mod_data[mod_test.id] = (void*)1; + tsx->mod_data[mod_test.id] = (void*)(pj_ssize_t)1; TERMINATE_TSX(tsx, tsx->status_code); } @@ -1421,7 +1421,7 @@ static pj_status_t submit_job(void) static int client_thread(void *arg) { pj_time_val end_time, last_report, now; - unsigned thread_index = (unsigned)(long)arg; + unsigned thread_index = (unsigned)(long)(pj_ssize_t)arg; unsigned cycle = 0, last_cycle = 0; pj_thread_sleep(100); @@ -1578,7 +1578,7 @@ static const char *good_number(char *buf, pj_int32_t val) static int server_thread(void *arg) { pj_time_val timeout = { 0, 1 }; - unsigned thread_index = (unsigned)(long)arg; + unsigned thread_index = (unsigned)(long)(pj_ssize_t)arg; pj_time_val last_report, next_report; pj_gettimeofday(&last_report); @@ -1639,7 +1639,7 @@ static void write_report(const char *msg) { puts(msg); -#if defined(PJ_WIN32) && PJ_WIN32!=0 +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || (defined(PJ_WIN64) && PJ_WIN64!=0) OutputDebugString(msg); OutputDebugString("\n"); #endif @@ -1715,7 +1715,8 @@ int main(int argc, char *argv[]) for (i=0; i<app.thread_count; ++i) { status = pj_thread_create(app.pool, NULL, &client_thread, - (void*)(long)i, 0, 0, &app.thread[i]); + (void*)(pj_ssize_t)i, 0, 0, + &app.thread[i]); if (status != PJ_SUCCESS) { app_perror(THIS_FILE, "Unable to create thread", status); return 1; @@ -1824,7 +1825,8 @@ int main(int argc, char *argv[]) for (i=0; i<app.thread_count; ++i) { status = pj_thread_create(app.pool, NULL, &server_thread, - (void*)(long)i, 0, 0, &app.thread[i]); + (void*)(pj_ssize_t)i, 0, 0, + &app.thread[i]); if (status != PJ_SUCCESS) { app_perror(THIS_FILE, "Unable to create thread", status); return 1; diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/pjsua2_demo.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/pjsua2_demo.cpp new file mode 100644 index 0000000000000000000000000000000000000000..80f70f540fea622c9a3129cda4924b59c199149f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/pjsua2_demo.cpp @@ -0,0 +1,325 @@ +/* $Id: pjsua2_demo.cpp 4790 2014-03-11 07:03:22Z riza $ */ +/* + * Copyright (C) 2008-2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjsua2.hpp> +#include <iostream> +#include <memory> +#include <pj/file_access.h> + +#define THIS_FILE "pjsua2_demo.cpp" + +using namespace pj; + +class MyAccount; + +class MyCall : public Call +{ +private: + MyAccount *myAcc; + +public: + MyCall(Account &acc, int call_id = PJSUA_INVALID_ID) + : Call(acc, call_id) + { + myAcc = (MyAccount *)&acc; + } + + virtual void onCallState(OnCallStateParam &prm); +}; + +class MyAccount : public Account +{ +public: + std::vector<Call *> calls; + +public: + MyAccount() + {} + + ~MyAccount() + { + std::cout << "*** Account is being deleted: No of calls=" + << calls.size() << std::endl; + } + + void removeCall(Call *call) + { + for (std::vector<Call *>::iterator it = calls.begin(); + it != calls.end(); ++it) + { + if (*it == call) { + calls.erase(it); + break; + } + } + } + + virtual void onRegState(OnRegStateParam &prm) + { + AccountInfo ai = getInfo(); + std::cout << (ai.regIsActive? "*** Register: code=" : "*** Unregister: code=") + << prm.code << std::endl; + } + + virtual void onIncomingCall(OnIncomingCallParam &iprm) + { + Call *call = new MyCall(*this, iprm.callId); + CallInfo ci = call->getInfo(); + CallOpParam prm; + + std::cout << "*** Incoming Call: " << ci.remoteUri << " [" + << ci.stateText << "]" << std::endl; + + calls.push_back(call); + prm.statusCode = (pjsip_status_code)200; + call->answer(prm); + } +}; + +void MyCall::onCallState(OnCallStateParam &prm) +{ + PJ_UNUSED_ARG(prm); + + CallInfo ci = getInfo(); + std::cout << "*** Call: " << ci.remoteUri << " [" << ci.stateText + << "]" << std::endl; + + if (ci.state == PJSIP_INV_STATE_DISCONNECTED) { + myAcc->removeCall(this); + /* Delete the call */ + delete this; + } +} + +static void mainProg1(Endpoint &ep) throw(Error) +{ + // Init library + EpConfig ep_cfg; + ep_cfg.logConfig.level = 4; + ep.libInit( ep_cfg ); + + // Transport + TransportConfig tcfg; + tcfg.port = 5060; + ep.transportCreate(PJSIP_TRANSPORT_UDP, tcfg); + + // Start library + ep.libStart(); + std::cout << "*** PJSUA2 STARTED ***" << std::endl; + + // Add account + AccountConfig acc_cfg; + acc_cfg.idUri = "sip:test1@pjsip.org"; + acc_cfg.regConfig.registrarUri = "sip:pjsip.org"; + acc_cfg.sipConfig.authCreds.push_back( AuthCredInfo("digest", "*", + "test1", 0, "test1") ); + std::auto_ptr<MyAccount> acc(new MyAccount); + acc->create(acc_cfg); + + pj_thread_sleep(2000); + + // Make outgoing call + Call *call = new MyCall(*acc); + acc->calls.push_back(call); + CallOpParam prm(true); + prm.opt.audioCount = 1; + prm.opt.videoCount = 0; + call->makeCall("sip:test1@pjsip.org", prm); + + // Hangup all calls + pj_thread_sleep(8000); + ep.hangupAllCalls(); + pj_thread_sleep(4000); + + // Destroy library + std::cout << "*** PJSUA2 SHUTTING DOWN ***" << std::endl; +} + +static void mainProg2() throw(Error) +{ + string json_str; + { + EpConfig epCfg; + JsonDocument jDoc; + + epCfg.uaConfig.maxCalls = 61; + epCfg.uaConfig.userAgent = "Just JSON Test"; + epCfg.uaConfig.stunServer.push_back("stun1.pjsip.org"); + epCfg.uaConfig.stunServer.push_back("stun2.pjsip.org"); + epCfg.logConfig.filename = "THE.LOG"; + + jDoc.writeObject(epCfg); + json_str = jDoc.saveString(); + std::cout << json_str << std::endl << std::endl; + } + + { + EpConfig epCfg; + JsonDocument rDoc; + string output; + + rDoc.loadString(json_str); + rDoc.readObject(epCfg); + + JsonDocument wDoc; + + wDoc.writeObject(epCfg); + json_str = wDoc.saveString(); + std::cout << json_str << std::endl << std::endl; + + wDoc.saveFile("jsontest.js"); + } + + { + EpConfig epCfg; + JsonDocument rDoc; + + rDoc.loadFile("jsontest.js"); + rDoc.readObject(epCfg); + pj_file_delete("jsontest.js"); + } +} + + +static void mainProg3(Endpoint &ep) throw(Error) +{ + const char *paths[] = { "../../../../tests/pjsua/wavs/input.16.wav", + "../../tests/pjsua/wavs/input.16.wav", + "input.16.wav"}; + unsigned i; + const char *filename = NULL; + + // Init library + EpConfig ep_cfg; + ep.libInit( ep_cfg ); + + for (i=0; i<PJ_ARRAY_SIZE(paths); ++i) { + if (pj_file_exists(paths[i])) { + filename = paths[i]; + break; + } + } + + if (!filename) { + PJSUA2_RAISE_ERROR3(PJ_ENOTFOUND, "mainProg3()", + "Could not locate input.16.wav"); + } + + // Start library + ep.libStart(); + std::cout << "*** PJSUA2 STARTED ***" << std::endl; + + // Create player and recorder + { + AudioMediaPlayer amp; + amp.createPlayer(filename); + + AudioMediaRecorder amr; + amr.createRecorder("recorder_test_output.wav"); + + amp.startTransmit(ep.audDevManager().getPlaybackDevMedia()); + amp.startTransmit(amr); + + pj_thread_sleep(5000); + } +} + + +static void mainProg() throw(Error) +{ + string json_str; + + { + JsonDocument jdoc; + AccountConfig accCfg; + + accCfg.idUri = "\"Just Test\" <sip:test@pjsip.org>"; + accCfg.regConfig.registrarUri = "sip:pjsip.org"; + SipHeader h; + h.hName = "X-Header"; + h.hValue = "User header"; + accCfg.regConfig.headers.push_back(h); + + accCfg.sipConfig.proxies.push_back("<sip:sip.pjsip.org;transport=tcp>"); + accCfg.sipConfig.proxies.push_back("<sip:sip.pjsip.org;transport=tls>"); + + accCfg.mediaConfig.transportConfig.tlsConfig.ciphers.push_back(1); + accCfg.mediaConfig.transportConfig.tlsConfig.ciphers.push_back(2); + accCfg.mediaConfig.transportConfig.tlsConfig.ciphers.push_back(3); + + AuthCredInfo aci; + aci.scheme = "digest"; + aci.username = "test"; + aci.data = "passwd"; + aci.realm = "*"; + accCfg.sipConfig.authCreds.push_back(aci); + + jdoc.writeObject(accCfg); + json_str = jdoc.saveString(); + std::cout << "Original:" << std::endl; + std::cout << json_str << std::endl << std::endl; + } + + { + JsonDocument rdoc; + + rdoc.loadString(json_str); + AccountConfig accCfg; + rdoc.readObject(accCfg); + + JsonDocument wdoc; + wdoc.writeObject(accCfg); + json_str = wdoc.saveString(); + + std::cout << "Parsed:" << std::endl; + std::cout << json_str << std::endl << std::endl; + } +} + +int main() +{ + int ret = 0; + Endpoint ep; + + try { + ep.libCreate(); + + mainProg3(ep); + ret = PJ_SUCCESS; + } catch (Error & err) { + std::cout << "Exception: " << err.info() << std::endl; + ret = 1; + } + + try { + ep.libDestroy(); + } catch(Error &err) { + std::cout << "Exception: " << err.info() << std::endl; + ret = 1; + } + + if (ret == PJ_SUCCESS) { + std::cout << "Success" << std::endl; + } else { + std::cout << "Error Found" << std::endl; + } + + return ret; +} + + diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/playfile.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/playfile.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/playfile.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/playfile.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/playsine.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/playsine.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/playsine.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/playsine.c index bab0c9b4a5502e9c872ef3cf5d5c7e263b9e79a6..03d8946f4f92c09c93a6abf55d8bf9f238c0a13e 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/playsine.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/playsine.c @@ -1,4 +1,4 @@ -/* $Id: playsine.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: playsine.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -83,7 +83,8 @@ static pj_status_t sine_get_frame( pjmedia_port *port, { port_data *sine = port->port_data.pdata; pj_int16_t *samples = frame->buf; - unsigned i, count, left, right; + unsigned i, left, right; + pj_size_t count; /* Get number of samples */ count = frame->size / 2 / PJMEDIA_PIA_CCNT(&port->info); diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/proxy.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/proxy.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/proxy.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/proxy.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/recfile.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/recfile.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/recfile.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/recfile.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/resampleplay.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/resampleplay.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/resampleplay.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/resampleplay.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/simple_pjsua.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/simple_pjsua.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/simple_pjsua.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/simple_pjsua.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/simpleua.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/simpleua.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/simpleua.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/simpleua.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/sipecho.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/sipecho.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/sipecho.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/sipecho.c index 6d1ab2d5f3174dff34ef5f8e0806d84c11d27725..dce4534c166daa1a954e117905aa2f186b0af87a 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/sipecho.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/sipecho.c @@ -1,4 +1,4 @@ -/* $Id: sipecho.c 4148 2012-05-31 12:21:59Z bennylp $ */ +/* $Id: sipecho.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -402,7 +402,8 @@ static void call_on_state_changed( pjsip_inv_session *inv, static void call_on_rx_offer(pjsip_inv_session *inv, const pjmedia_sdp_session *offer) { call_t *call = (call_t*) inv->mod_data[mod_sipecho.id]; - pjsip_inv_set_sdp_answer(inv, create_answer(call - app.call, inv->pool_prov, offer)); + pjsip_inv_set_sdp_answer(inv, create_answer((int)(call - app.call), + inv->pool_prov, offer)); } static void call_on_forked(pjsip_inv_session *inv, pjsip_event *e) @@ -501,7 +502,7 @@ static pj_bool_t on_rx_request( pjsip_rx_data *rdata ) &local_uri, &dlg); if (status == PJ_SUCCESS) - answer = create_answer(call-app.call, dlg->pool, sdp_info->sdp); + answer = create_answer((int)(call-app.call), dlg->pool, sdp_info->sdp); if (status == PJ_SUCCESS) status = pjsip_inv_create_uas( dlg, rdata, answer, 0, &call->inv); if (status == PJ_SUCCESS) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/siprtp.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/siprtp.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/siprtp.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/siprtp.c index 2bd478a2ac56cdfac504c73113a2cede23bc6522..b60473e35bcfb9659e417229da0713860573e90f 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/siprtp.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/siprtp.c @@ -1,4 +1,4 @@ -/* $Id: siprtp.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: siprtp.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -1101,7 +1101,7 @@ static pj_status_t create_sdp( pj_pool_t *pool, } -#if defined(PJ_WIN32) && PJ_WIN32 != 0 +#if (defined(PJ_WIN32) && PJ_WIN32 != 0) || (defined(PJ_WIN64) && PJ_WIN64 != 0) #include <windows.h> static void boost_priority(void) { @@ -1195,13 +1195,13 @@ static void on_rx_rtp(void *user_data, void *pkt, pj_ssize_t size) /* Check for errors */ if (size < 0) { - app_perror(THIS_FILE, "RTP recv() error", -size); + app_perror(THIS_FILE, "RTP recv() error", (pj_status_t)-size); return; } /* Decode RTP packet. */ status = pjmedia_rtp_decode_rtp(&strm->in_sess, - pkt, size, + pkt, (int)size, &hdr, &payload, &payload_len); if (status != PJ_SUCCESS) { app_perror(THIS_FILE, "RTP decode error", status); @@ -1234,7 +1234,7 @@ static void on_rx_rtcp(void *user_data, void *pkt, pj_ssize_t size) /* Check for errors */ if (size < 0) { - app_perror(THIS_FILE, "Error receiving RTCP packet", -size); + app_perror(THIS_FILE, "Error receiving RTCP packet",(pj_status_t)-size); return; } @@ -1862,7 +1862,7 @@ static pj_bool_t simple_input(const char *title, char *buf, pj_size_t len) char *p; printf("%s (empty to cancel): ", title); fflush(stdout); - if (fgets(buf, len, stdin) == NULL) + if (fgets(buf, (int)len, stdin) == NULL) return PJ_FALSE; /* Remove trailing newlines. */ @@ -2024,7 +2024,7 @@ static void app_log_writer(int level, const char *buffer, int len) pj_log_write(level, buffer, len); if (log_file) { - int count = fwrite(buffer, len, 1, log_file); + pj_size_t count = fwrite(buffer, len, 1, log_file); PJ_UNUSED_ARG(count); fflush(log_file); } diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/siprtp_report.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/siprtp_report.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/siprtp_report.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/siprtp_report.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/sipstateless.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/sipstateless.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/sipstateless.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/sipstateless.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/stateful_proxy.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/stateful_proxy.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/stateful_proxy.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/stateful_proxy.c index e8e2c250c2e9b5d09ee58291b1938ff0d37b96a6..0d843533d8ed2d6eaccaa5ea51cf7d7782d9958e 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/stateful_proxy.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/stateful_proxy.c @@ -1,4 +1,4 @@ -/* $Id: stateful_proxy.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: stateful_proxy.c 4420 2013-03-05 11:59:54Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -273,17 +273,17 @@ static pj_bool_t proxy_on_rx_request( pjsip_rx_data *rdata ) if (uas_data->uac_tsx && uas_data->uac_tsx->status_code < 200) { pjsip_tx_data *cancel; - pj_mutex_lock(uas_data->uac_tsx->mutex); + pj_grp_lock_acquire(uas_data->uac_tsx->grp_lock); pjsip_endpt_create_cancel(global.endpt, uas_data->uac_tsx->last_tx, &cancel); pjsip_endpt_send_request(global.endpt, cancel, -1, NULL, NULL); - pj_mutex_unlock(uas_data->uac_tsx->mutex); + pj_grp_lock_release(uas_data->uac_tsx->grp_lock); } /* Unlock UAS tsx because it is locked in find_tsx() */ - pj_mutex_unlock(invite_uas->mutex); + pj_grp_lock_release(invite_uas->grp_lock); } return PJ_TRUE; diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/stateless_proxy.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/stateless_proxy.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/stateless_proxy.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/stateless_proxy.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/stereotest.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/stereotest.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/stereotest.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/stereotest.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/streamutil.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/streamutil.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/streamutil.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/streamutil.c index a59621be155a41b00c81f6f3ea87e5cfaffefb12..c899c2ae83fcd3029cca10647f7e1269803d5cdb 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/streamutil.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/streamutil.c @@ -1,4 +1,4 @@ -/* $Id: streamutil.c 3664 2011-07-19 03:42:28Z nanang $ */ +/* $Id: streamutil.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -360,12 +360,14 @@ int main(int argc, char *argv[]) break; case OPT_SRTP_TX_KEY: - tmp_key_len = hex_string_to_octet_string(tmp_tx_key, pj_optarg, strlen(pj_optarg)); + tmp_key_len = hex_string_to_octet_string(tmp_tx_key, pj_optarg, + (int)strlen(pj_optarg)); pj_strset(&srtp_tx_key, tmp_tx_key, tmp_key_len/2); break; case OPT_SRTP_RX_KEY: - tmp_key_len = hex_string_to_octet_string(tmp_rx_key, pj_optarg, strlen(pj_optarg)); + tmp_key_len = hex_string_to_octet_string(tmp_rx_key, pj_optarg, + (int)strlen(pj_optarg)); pj_strset(&srtp_rx_key, tmp_rx_key, tmp_key_len/2); break; #endif diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/strerror.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/strerror.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/strerror.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/strerror.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/tonegen.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/tonegen.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/tonegen.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/tonegen.c index 51901865d563266d9cc88460c3ec373e3ad0f986..ea9480bc1e183540653aa22d8a51f88bf515cd4d 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/tonegen.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/tonegen.c @@ -1,4 +1,4 @@ -/* $Id: tonegen.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: tonegen.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -127,7 +127,7 @@ int main() f = fopen("tonegen.pcm", "wb"); for (i=0; i<8000/SAMPLES_PER_FRAME; ++i) { - int count; + pj_size_t count; pjmedia_port_get_frame(port, &frm); count = fwrite(buf, SAMPLES_PER_FRAME, 2, f); if (count != 2) diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/util.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/util.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/util.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/util.h index 40a8f6ee03eeb162e523d5c475d20ee91f5171d7..e68056f8ab8e3b84dca712feecd4f7aa0e328fe3 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/util.h +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/util.h @@ -1,4 +1,4 @@ -/* $Id: util.h 3550 2011-05-05 05:33:27Z nanang $ */ +/* $Id: util.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -155,8 +155,8 @@ void dump_pool_usage( const char *app_name, pj_caching_pool *cp ) { #if !defined(PJ_HAS_POOL_ALT_API) || PJ_HAS_POOL_ALT_API==0 pj_pool_t *p; - unsigned total_alloc = 0; - unsigned total_used = 0; + pj_size_t total_alloc = 0; + pj_size_t total_used = 0; /* Accumulate memory usage in active list. */ p = cp->used_list.next; diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/vid_streamutil.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/vid_streamutil.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/vid_streamutil.c rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/vid_streamutil.c index b56c398e48eeffab462f2fd158bd522b40d80de1..6b250b94be899fad9406f828bdb45c9a177f0c43 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/samples/vid_streamutil.c +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/samples/vid_streamutil.c @@ -1,4 +1,4 @@ -/* $Id: vid_streamutil.c 4084 2012-04-25 07:13:05Z ming $ */ +/* $Id: vid_streamutil.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2011 Teluu Inc. (http://www.teluu.com) * @@ -302,7 +302,8 @@ static void clock_cb(const pj_timestamp *ts, void *user_data) write_frame.buf = play_file->dec_buf; write_frame.size = play_file->dec_buf_size; status = pjmedia_vid_codec_decode(decoder, 1, &read_frame, - write_frame.size, &write_frame); + (unsigned)write_frame.size, + &write_frame); if (status != PJ_SUCCESS) return; } else { @@ -494,13 +495,13 @@ int main(int argc, char *argv[]) case OPT_SRTP_TX_KEY: tmp_key_len = hex_string_to_octet_string(tmp_tx_key, pj_optarg, - strlen(pj_optarg)); + (int)strlen(pj_optarg)); pj_strset(&srtp_tx_key, tmp_tx_key, tmp_key_len/2); break; case OPT_SRTP_RX_KEY: tmp_key_len = hex_string_to_octet_string(tmp_rx_key, pj_optarg, - strlen(pj_optarg)); + (int)strlen(pj_optarg)); pj_strset(&srtp_rx_key, tmp_rx_key, tmp_key_len/2); break; #endif diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/Makefile b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..71f97bb9f80328ec80288759e7d68e81f97f08dc --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/Makefile @@ -0,0 +1,36 @@ +include ../../../build.mak + +ifneq ($(findstring android,$(TARGET_NAME)),) + # no python for android + DIRS = java +else + DIRS = python java +endif + +export SWIG_FLAGS=-I../../../../pjlib/include \ + -I../../../../pjlib-util/include \ + -I../../../../pjmedia/include \ + -I../../../../pjsip/include \ + -I../../../../pjnath/include -c++ +export SRC_DIR=../../../../pjsip/include +export SRCS=$(SRC_DIR)/pjsua2/endpoint.hpp $(SRC_DIR)/pjsua2/types.hpp + +.PHONY: all clean dep depend distclean print realclean install uninstall + +all: symbols.i + +all clean dep depend distclean print realclean install uninstall: + for dir in $(DIRS); do \ + if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \ + true; \ + else \ + exit 1; \ + fi; \ + done + +symbols.i: symbols.lst + @echo ** Warning **: file symbols.i is out of date. Run 'make symbol'. + +symbol symbols: + python importsym.py + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/importsym.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/importsym.py new file mode 100644 index 0000000000000000000000000000000000000000..94377d881a827375ada1237d6e4916342b0aed87 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/importsym.py @@ -0,0 +1,193 @@ +# $Id: importsym.py 4704 2014-01-16 05:30:46Z ming $ +# +# importsym.py: Import C symbol decls (structs, enums, etc) and write them +# to another file +# +# Copyright (C)2013 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +import pycparser +from pycparser import c_generator +import sys +import os + +def which(program): + import os + def is_exe(fpath): + return os.path.isfile(fpath) and os.access(fpath, os.X_OK) + + if sys.platform == 'win32' and not program.endswith(".exe"): + program += ".exe" + + fpath, fname = os.path.split(program) + if fpath: + if is_exe(program): + return program + else: + for path in os.environ["PATH"].split(os.pathsep): + path = path.strip('"') + exe_file = os.path.join(path, program) + if is_exe(exe_file): + return exe_file + return None + +# +PJ_ROOT_PATH = "../../../" + +# CPP is needed by pycparser. +CPP_PATH = which("cpp") +if not CPP_PATH: + print 'Error: need to have cpp in PATH' + sys.exit(1) + +# Hardcoded! +if sys.platform == 'win32': + PYCPARSER_DIR="C:/devs/tools/pycparser" +elif sys.platform == "linux2": + PYCPARSER_DIR="/home/bennylp/Desktop/opt/src/pycparser-master" +else: + PYCPARSER_DIR="/Library/Python/2.7/site-packages/pycparser" + +if not os.path.exists(PYCPARSER_DIR + '/utils/fake_libc_include'): + print "Error: couldn't find pycparser utils in '%s'" % PYPARSER_DIR + sys.exit(1) + +# Heading, to be placed before the source files +C_HEADING_SECTION = """ +#define PJ_AUTOCONF 1 +#define jmp_buf int +#define __attribute__(x) +""" + +# CPP (C preprocessor) settings +CPP_CFLAGS = [ + '-I' + PYCPARSER_DIR + '/utils/fake_libc_include', + "-I" + PJ_ROOT_PATH + "pjlib/include", + "-I" + PJ_ROOT_PATH + "pjlib-util/include", + "-I" + PJ_ROOT_PATH + "pjnath/include", + "-I" + PJ_ROOT_PATH + "pjmedia/include", + "-I" + PJ_ROOT_PATH + "pjsip/include" + ] + + +class SymbolVisitor(pycparser.c_ast.NodeVisitor): + def __init__(self, names): + self.nodeDict = {} + for name in names: + self.nodeDict[name] = None + + def _add(self, node): + if self.nodeDict.has_key(node.name): + self.nodeDict[node.name] = node + + def visit_Struct(self, node): + self._add(node) + + def visit_Enum(self, node): + self._add(node) + + def visit_Typename(self, node): + self._add(node) + + def visit_Typedef(self, node): + self._add(node) + + +TEMP_FILE="tmpsrc.h" + +class SymbolImporter: + """ + Import C selected declarations from C source file and move it + to another file. + + Parameters: + - listfile Path of file containing list of C source file + and identifier names to be imported. The format + of the listfile is: + + filename name1 name2 name3 + + for example: + + pj/sock_qos.h pj_qos_type pj_qos_flag + pj/types.h pj_status_t PJ_SUCCESS + """ + def __init__(self): + pass + + def process(self, listfile, outfile): + + # Read listfile + f = open(listfile) + lines = f.readlines() + f.close() + + # Process each line in list file, while generating the + # temporary C file to be processed by pycparser + f = open(TEMP_FILE, "w") + f.write(C_HEADING_SECTION) + names = [] + fcnt = 0 + for line in lines: + spec = line.split() + if len(spec) < 2: + continue + fcnt += 1 + f.write("#include <%s>\n" % spec[0]) + names.extend(spec[1:]) + f.close() + print 'Parsing %d symbols from %d files..' % (len(names), fcnt) + + # Parse the temporary C file + ast = pycparser.parse_file(TEMP_FILE, use_cpp=True, cpp_path=CPP_PATH, cpp_args=CPP_CFLAGS) + os.remove(TEMP_FILE) + + # Filter the declarations that we wanted + print 'Filtering..' + visitor = SymbolVisitor(names) + visitor.visit(ast) + + # Print symbol declarations to outfile + print 'Writing declarations..' + f = open(outfile, 'w') + f.write("// This file is autogenerated by importsym script, do not modify!\n\n") + gen = pycparser.c_generator.CGenerator() + for name in names: + node = visitor.nodeDict[name] + if not node: + print " ** Warning: declaration for '%s' is not found **" % k + else: + print " writing '%s'.." % name + output = gen.visit(node) + ";\n\n" + f.write(output) + f.close() + print "Done." + + +if __name__ == "__main__": + print "Importing symbols: 'symbols.lst' --> 'symbols.i'" + si = SymbolImporter() + si.process("symbols.lst", "symbols.i") + try: + os.remove("lextab.py") + except OSError: + pass + try: + os.remove("yacctab.py") + except OSError: + pass + + \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/Makefile b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..b72f6ee12ea177788576547adf8c13d0950a9d47 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/Makefile @@ -0,0 +1,201 @@ +include ../../../../build.mak +include ../../../../build/common.mak + +ifneq ($(findstring android,$(TARGET_NAME)),) + OS=android + ifeq ("$(JAVA_HOME)","") + # Set dummy JAVA_HOME as JNI is bundled in Android NDK, only need javac here + JAVA_HOME := $(dir $(shell which javac)) + endif +else + ifneq ($(findstring darwin,$(TARGET_NAME)),) + OS=darwin + endif +endif + +OUT_DIR=output +ifeq ($(OS),Windows_NT) + LIBPJSUA2_SO=$(OUT_DIR)/pjsua2.dll +else + ifeq ($(OS),darwin) + LIBPJSUA2_SO=$(OUT_DIR)/libpjsua2.jnilib + else + ifeq ($(OS),android) + LIBPJSUA2_SO=android/libs/armeabi/libpjsua2.so + else + LIBPJSUA2_SO=$(OUT_DIR)/libpjsua2.so + endif + endif +endif + +# Get JDK location +ifeq ("$(JAVA_HOME)","") + + verify_jdk = $(shell test -d $(1)/include && test -d $(1)/lib && \ + echo inclib1) \ + $(shell test -d $(1)/Headers && test -d $(1)/Libraries && \ + echo inclib2) \ + $(shell test -x $(1)/bin/javac && echo bin1) \ + $(shell test -x $(1)/Commands/javac && echo bin2) \ + $(shell test -x $(1)/javac && echo bin3) + + get_java_inc = $(if $(findstring inclib1,$(1)),$(2)/include,\ + $(if $(findstring inclib2,$(1)),$(2)/Headers,)) + get_java_lib = $(if $(findstring inclib1,$(1)),$(2)/lib,\ + $(if $(findstring inclib2,$(1)),$(2)/Libraries,)) + get_java_bin = $(if $(findstring bin1,$(1)),$(2)/bin,\ + $(if $(findstring bin2,$(1)),$(2)/Commands,\ + $(if $(findstring bin3,$(1)),$(2),))) + + + # Check with 'which javac' + WHICH_JAVAC := $(shell which javac) + ifneq ($(WHICH_JAVAC),) + WHICH_JAVAC := $(dir $(realpath $(WHICH_JAVAC))) + WHICH_JAVAC := $(patsubst %/bin/,%,$(WHICH_JAVAC)) + TMP_RES := $(call verify_jdk,$(WHICH_JAVAC)) + ifneq ($(findstring inclib,$(TMP_RES)),) + JAVA_HOME := $(WHICH_JAVAC) + JAVA_INC := $(call get_java_inc,$(TMP_RES),$(JAVA_HOME)) + JAVA_LIB := $(call get_java_lib,$(TMP_RES),$(JAVA_HOME)) + endif + endif + + # MacOS specifics + ifeq ($(OS)$(JAVA_HOME),darwin) + + # Check with '/usr/libexec/java_home' + # (see https://developer.apple.com/library/mac/qa/qa1170/_index.html) + TMP_PATH := $(shell /usr/libexec/java_home) + ifneq ("$(TMP_PATH)","") + TMP_RES := $(call verify_jdk,$(TMP_PATH)) + ifneq ($(findstring inclib,$(TMP_RES)),) + JAVA_HOME := $(TMP_PATH) + JAVA_INC := $(call get_java_inc,$(TMP_RES),$(JAVA_HOME)) + JAVA_LIB := $(call get_java_lib,$(TMP_RES),$(JAVA_HOME)) + endif + endif + + ifeq ($(JAVA_HOME),) + # Check '/System/Library/Frameworks/JavaVM.framework' + FIXED_PATH := /System/Library/Frameworks/JavaVM.framework + TMP_RES := $(call verify_jdk,$(FIXED_PATH)) + ifneq ($(findstring inclib,$(TMP_RES)),) + JAVA_HOME := $(FIXED_PATH) + JAVA_INC := $(call get_java_inc,$(TMP_RES),$(JAVA_HOME)) + JAVA_LIB := $(call get_java_lib,$(TMP_RES),$(JAVA_HOME)) + endif + endif + + endif + + ifneq ($(findstring bin,$(TMP_RES)),) + JAVA_BIN := $(call get_java_bin,$(TMP_RES),$(JAVA_HOME)) + endif + +# $(info TMP_RES = $(TMP_RES)) +# $(info JAVA_HOME = $(JAVA_HOME)) +# $(info JAVA_INC = $(JAVA_INC)) +# $(info JAVA_LIB = $(JAVA_LIB)) +# $(info JAVA_BIN = $(JAVA_BIN)) +# $(error done) + + ifeq ("$(JAVA_HOME)","") + $(error Cannot determine JDK include/library path. \ + Please define JAVA_HOME envvar) + endif + + ifeq ("$(JAVA_BIN)","") + JAVA_BIN := $(JAVA_HOME)/bin + $(warning Cannot determine JDK binary path. Set to $(JAVA_BIN)) + endif + +else + + JAVA_INC := $(JAVA_HOME)/include + JAVA_LIB := $(JAVA_HOME)/lib + ifeq (exists,$(shell test -d "$(JAVA_HOME)/bin" && echo exists)) + JAVA_BIN := $(JAVA_HOME)/bin + else + JAVA_BIN := $(JAVA_HOME) + endif + +endif + +# Env settings, e.g: path to SWIG, JDK, java(.exe), javac(.exe) +MY_SWIG := swig +MY_JAVA := "$(JAVA_BIN)/java" +MY_JAVAC := "$(JAVA_BIN)/javac" +MY_JNI_CFLAGS := -I"$(JAVA_INC)" -I"$(JAVA_INC)/win32" \ + -I"$(JAVA_INC)/linux" -I"$(JAVA_INC)/darwin" -I. +MY_JNI_LDFLAGS := -L"$(JAVA_LIB)" + +# OS specific +ifeq ($(OS),Windows_NT) + MY_JNI_LDFLAGS += -Wl,--kill-at +else + MY_JNI_CFLAGS += -fPIC + ifeq ($(OS),android) + MY_JNI_CFLAGS+= -D__ANDROID__ + endif +endif + +# Build settings +MY_CFLAGS := $(PJ_CXXFLAGS) $(MY_JNI_CFLAGS) $(CFLAGS) +MY_LDFLAGS := $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(MY_JNI_LDFLAGS) $(LDFLAGS) +MY_PACKAGE_NAME := org.pjsip.pjsua2 +ifeq ($(OS),android) + MY_PACKAGE_PATH := android/src/$(subst .,/,$(MY_PACKAGE_NAME)) +else + MY_PACKAGE_PATH := $(OUT_DIR)/$(subst .,/,$(MY_PACKAGE_NAME)) +endif + +MY_APP_JAVA := android/src/$(subst .,/,$(MY_PACKAGE_NAME))/app/MyApp.java + +.PHONY: all java install uninstall + +all: $(LIBPJSUA2_SO) java + +$(LIBPJSUA2_SO): $(OUT_DIR)/pjsua2_wrap.o + $(PJ_CXX) -shared -o $(LIBPJSUA2_SO) $(OUT_DIR)/pjsua2_wrap.o \ + $(MY_CFLAGS) $(MY_LDFLAGS) + +$(OUT_DIR)/pjsua2_wrap.o: $(OUT_DIR)/pjsua2_wrap.cpp Makefile + $(PJ_CXX) -c $(OUT_DIR)/pjsua2_wrap.cpp -o $(OUT_DIR)/pjsua2_wrap.o \ + $(MY_CFLAGS) + +$(OUT_DIR)/pjsua2_wrap.cpp: ../pjsua2.i ../symbols.i $(SRCS) + mkdir -p $(MY_PACKAGE_PATH) + swig $(SWIG_FLAGS) -java -package $(MY_PACKAGE_NAME) \ + -outdir $(MY_PACKAGE_PATH) \ + -o $(OUT_DIR)/pjsua2_wrap.cpp ../pjsua2.i + +clean distclean realclean: + rm -rf $(LIBPJSUA2_SO) $(OUT_DIR)/* \ + $(MY_PACKAGE_PATH)/*.java $(MY_PACKAGE_PATH)/*.class + +java: $(MY_PACKAGE_PATH)/Error.class $(MY_PACKAGE_PATH)/test.class $(MY_PACKAGE_PATH)/sample.class + +$(MY_PACKAGE_PATH)/Error.class: $(MY_PACKAGE_PATH)/Error.java + $(MY_JAVAC) -d $(OUT_DIR) $(MY_PACKAGE_PATH)/*.java $(MY_APP_JAVA) + +$(MY_PACKAGE_PATH)/test.class: test.java + $(MY_JAVAC) -d $(OUT_DIR) -classpath "$(OUT_DIR)" test.java + +$(MY_PACKAGE_PATH)/sample.class: sample.java + $(MY_JAVAC) -d $(OUT_DIR) -classpath "$(OUT_DIR)" sample.java + +test: + @# Need to specify classpath and library path, alternatively, + @# they can be set via CLASSPATH and java.library.path env settings + $(MY_JAVA) -cp "$(OUT_DIR)" -Djava.library.path="$(OUT_DIR)" test + +sample: + @# Need to specify classpath and library path, alternatively, + @# they can be set via CLASSPATH and java.library.path env settings + $(MY_JAVA) -cp "$(OUT_DIR)" -Djava.library.path="$(OUT_DIR)" \ + org.pjsip.pjsua2.app.sample + +install: +uninstall: + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/.classpath b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..b76ec6cd4860e11b2e59b2fd84ce2ec6c4548d7e --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/.project b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/.project new file mode 100644 index 0000000000000000000000000000000000000000..434a3408a45bd24ad18f52788d29daa7e3bad5d5 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>Pjsua2</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/.settings/org.eclipse.jdt.core.prefs b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000000000000000000000000000000000..48ab4c6b113d7366b04c0d04686dbdadfabb830d --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/AndroidManifest.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/AndroidManifest.xml new file mode 100644 index 0000000000000000000000000000000000000000..5a9b0aeff1c5cff6cb8e7fe0ed8844170ccbc98e --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/AndroidManifest.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.pjsip.pjsua2.app" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk + android:minSdkVersion="11" + android:targetSdkVersion="15" /> + + <uses-permission android:name="android.permission.INTERNET" /> + <uses-permission android:name="android.permission.RECORD_AUDIO" /> + <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> + <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> + <uses-permission android:name="android.permission.WRITE_SETTINGS" /> + <uses-permission android:name="android.permission.READ_PHONE_STATE" /> + <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> + <uses-permission android:name="android.permission.WAKE_LOCK" /> + <uses-permission android:name="android.permission.VIBRATE" /> + <uses-permission android:name="android.permission.READ_LOGS" /> + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> + + <application + android:allowBackup="true" + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" + android:theme="@style/AppTheme" > + <activity + android:name="org.pjsip.pjsua2.app.MainActivity" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + <activity + android:name="org.pjsip.pjsua2.app.CallActivity" + android:label="@string/title_activity_call" > + </activity> + </application> + +</manifest> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/ic_launcher-web.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/ic_launcher-web.png new file mode 100644 index 0000000000000000000000000000000000000000..a18cbb48c431dfcc163fce2b6e27e981f8c09f6a Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/ic_launcher-web.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/jni/Android.mk b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/jni/Android.mk new file mode 100644 index 0000000000000000000000000000000000000000..94912bafaaa3118950579e0448e23f411ee666b6 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/jni/Android.mk @@ -0,0 +1,12 @@ +include ../../../../../build.mak + +LOCAL_PATH := $(PJDIR)/pjsip-apps/src/swig/java/android +include $(CLEAR_VARS) + +LOCAL_MODULE := libpjsua2 +LOCAL_CFLAGS := $(APP_CFLAGS) -frtti -fexceptions +LOCAL_LDFLAGS := $(APP_LDFLAGS) +LOCAL_LDLIBS := $(APP_LDLIBS) +LOCAL_SRC_FILES := ../output/pjsua2_wrap.cpp + +include $(BUILD_SHARED_LIBRARY) diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/jni/Application.mk b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/jni/Application.mk new file mode 100644 index 0000000000000000000000000000000000000000..87124dd882cb6566c1b72271e8776af040261a1c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/jni/Application.mk @@ -0,0 +1 @@ +APP_STL := gnustl_static diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/proguard-project.txt b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/proguard-project.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2fe1559a217865a5454add526dcc446f892385b --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/project.properties b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/project.properties new file mode 100644 index 0000000000000000000000000000000000000000..0840b4a05983ca8ad72e34b77ca397d168125224 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-hdpi/ic_launcher.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..288b66551d1efd1f13dd06f20a67534d2df57946 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-hdpi/ic_launcher.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-mdpi/ic_launcher.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..6ae570b4db4da165fada0650079061cb56aa8793 Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-mdpi/ic_launcher.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-xhdpi/ic_launcher.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d4fb7cd9d868f1d7d9964f1686dcbc018ef9495a Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-xhdpi/ic_launcher.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-xxhdpi/ic_launcher.png b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..85a6081587e2c2b9793d796ee7b07e12fdf860db Binary files /dev/null and b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable-xxhdpi/ic_launcher.png differ diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable/bkg.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable/bkg.xml new file mode 100644 index 0000000000000000000000000000000000000000..f50523325723f12195c0f05b3a708f78be91df38 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/drawable/bkg.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8" ?> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_pressed="true" android:drawable="@color/pressed_color" /> + <item android:drawable="@color/default_color" /> +</selector> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/activity_call.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/activity_call.xml new file mode 100644 index 0000000000000000000000000000000000000000..3745eb3991f07a9145121c40c6021aa65d598845 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/activity_call.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" + android:paddingBottom="@dimen/activity_vertical_margin" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + android:orientation="vertical" > + + <TextView + android:id="@+id/textViewPeer" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center_horizontal" + android:text="Peer URI" + android:textAppearance="?android:attr/textAppearanceLarge" /> + + <TextView + android:id="@+id/textViewCallState" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center" + android:text="Call state" /> + + <Button + android:id="@+id/buttonAccept" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:onClick="acceptCall" + android:text="Accept" /> + + <Button + android:id="@+id/buttonHangup" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:onClick="hangupCall" + android:text="Reject" /> + +</LinearLayout> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/activity_main.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/activity_main.xml new file mode 100644 index 0000000000000000000000000000000000000000..c63c0210d390398c200278d20b0fa85669d40be2 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/activity_main.xml @@ -0,0 +1,65 @@ +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical" + android:paddingBottom="@dimen/activity_vertical_margin" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + tools:context=".MainActivity" > + + <ListView + android:id="@+id/listViewBuddy" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_weight="1" + android:listSelector="@drawable/bkg" > + </ListView> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" > + + <ImageButton + android:id="@+id/buttonCall" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:onClick="makeCall" + android:src="@android:drawable/ic_menu_call" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:layout_weight="1" + android:text=" "/> + + <ImageButton + android:id="@+id/buttonAddBuddy" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:onClick="addBuddy" + android:src="@android:drawable/ic_menu_add" /> + + <ImageButton + android:id="@+id/buttonEditBuddy" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:onClick="editBuddy" + android:src="@android:drawable/ic_menu_edit" /> + + <ImageButton + android:id="@+id/buttonDelBuddy" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:onClick="delBuddy" + android:src="@android:drawable/ic_menu_delete" /> + + </LinearLayout> + +</LinearLayout> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/dlg_account_config.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/dlg_account_config.xml new file mode 100644 index 0000000000000000000000000000000000000000..6e64ea9e3957b773f2b1a1c547c75fff24a33bd1 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/dlg_account_config.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="utf-8"?> +<TableLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:padding = "20dp" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <TextView + android:id="@+id/textViewInfo" + android:textAppearance="?android:attr/textAppearanceSmall" + android:paddingBottom="20dp" + android:textColor="#b0b0b0" > + </TextView> + + <TableRow> + <TextView android:text="ID"> + </TextView> + + <EditText + android:id="@+id/editTextId" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:inputType="textUri|textEmailAddress" > + + <requestFocus /> + </EditText> + </TableRow> + <TableRow> + <TextView android:text="Registrar"> + </TextView> + <EditText + android:id="@+id/editTextRegistrar" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:inputType="textUri" > + </EditText> + </TableRow> + <TableRow> + <TextView android:text="Proxy"> + </TextView> + <EditText + android:id="@+id/editTextProxy" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:inputType="textUri" > + </EditText> + </TableRow> + <TableRow> + <TextView android:text="Username"> + </TextView> + + <EditText + android:id="@+id/editTextUsername" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:inputType="text" > + + </EditText> + </TableRow> + <TableRow> + <TextView android:text="Password"> + </TextView> + + <EditText + android:id="@+id/editTextPassword" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_weight="1" + android:inputType="textPassword" > + + </EditText> + </TableRow> +</TableLayout> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/dlg_add_buddy.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/dlg_add_buddy.xml new file mode 100644 index 0000000000000000000000000000000000000000..86617fcc1e4dd4921b582c9ba3f113fa18aad4cc --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/layout/dlg_add_buddy.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<TableLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:padding = "20dp" + android:layout_width="match_parent" + android:layout_height="match_parent"> + <TableRow> + <TextView android:text="Buddy URI"> + </TextView> + + <EditText + android:id="@+id/editTextUri" + android:layout_weight="1" + android:inputType="textUri|textEmailAddress" > + + <requestFocus /> + </EditText> + </TableRow> + <TableRow> + <CheckBox + android:id="@+id/checkBoxSubscribe" + android:layout_column="1" + android:text="Subscribe presence" /> + </TableRow> +</TableLayout> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/menu/call.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/menu/call.xml new file mode 100644 index 0000000000000000000000000000000000000000..d122a4b754300b1147365dd247e24f907c40c6ef --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/menu/call.xml @@ -0,0 +1,9 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android" > + + <item + android:id="@+id/action_settings" + android:orderInCategory="100" + android:showAsAction="never" + android:title="@string/action_settings"/> + +</menu> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/menu/main.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/menu/main.xml new file mode 100644 index 0000000000000000000000000000000000000000..be94829a2b3a137bf05ed0f722280e2158a760f9 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/menu/main.xml @@ -0,0 +1,14 @@ +<menu xmlns:android="http://schemas.android.com/apk/res/android" > + + <item + android:id="@+id/action_acc_config" + android:icon="@android:drawable/ic_menu_manage" + android:showAsAction="ifRoom" + android:title="Account Config"/> + <item + android:id="@+id/action_quit" + android:icon="@android:drawable/ic_menu_close_clear_cancel" + android:showAsAction="ifRoom" + android:title="Quit"/> + +</menu> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-sw600dp/dimens.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-sw600dp/dimens.xml new file mode 100644 index 0000000000000000000000000000000000000000..c876987e27c490cfc98bfefac6a95c0a5b0e5ba3 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-sw600dp/dimens.xml @@ -0,0 +1,8 @@ +<resources> + + <!-- + Customize dimensions originally defined in res/values/dimens.xml (such as + screen margins) for sw600dp devices (e.g. 7" tablets) here. + --> + +</resources> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-sw720dp-land/dimens.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-sw720dp-land/dimens.xml new file mode 100644 index 0000000000000000000000000000000000000000..0df30679a5d10c921fea571764f4f2c42e52f958 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-sw720dp-land/dimens.xml @@ -0,0 +1,9 @@ +<resources> + + <!-- + Customize dimensions originally defined in res/values/dimens.xml (such as + screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here. + --> + <dimen name="activity_horizontal_margin">128dp</dimen> + +</resources> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-v11/styles.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-v11/styles.xml new file mode 100644 index 0000000000000000000000000000000000000000..e3ef53d96bbf6fe8ba3c065917589e84202f81d1 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-v11/styles.xml @@ -0,0 +1,11 @@ +<resources> + + <!-- + Base application theme for API 11+. This theme completely replaces + AppBaseTheme from res/values/styles.xml on API 11+ devices. + --> + <style name="AppBaseTheme" parent="android:Theme.Holo.Light"> + <!-- API 11 theme customizations can go here. --> + </style> + +</resources> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-v14/styles.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-v14/styles.xml new file mode 100644 index 0000000000000000000000000000000000000000..94dd245c99e43b80328cff938fd7aecef187dc37 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values-v14/styles.xml @@ -0,0 +1,12 @@ +<resources> + + <!-- + Base application theme for API 14+. This theme completely replaces + AppBaseTheme from BOTH res/values/styles.xml and + res/values-v11/styles.xml on API 14+ devices. + --> + <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar"> + <!-- API 14 theme customizations can go here. --> + </style> + +</resources> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/colors.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/colors.xml new file mode 100644 index 0000000000000000000000000000000000000000..9ce61cf20455d0512c417effce0f5ca2c9a73375 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/colors.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <color name="pressed_color">#B8F2F5</color> + <color name="default_color">#E8FEFF</color> +</resources> \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/dimens.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/dimens.xml new file mode 100644 index 0000000000000000000000000000000000000000..2e0e2ae4bd560942d309d970eeaccc1baa06c3f3 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/dimens.xml @@ -0,0 +1,7 @@ +<resources> + + <!-- Default screen margins, per the Android Design guidelines. --> + <dimen name="activity_horizontal_margin">16dp</dimen> + <dimen name="activity_vertical_margin">16dp</dimen> + +</resources> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/strings.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/strings.xml new file mode 100644 index 0000000000000000000000000000000000000000..2ee52b69def3a12b43588ebd68f51f7a5d641909 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/strings.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">Pjsua2</string> + <string name="action_settings">Settings</string> + <string name="title_activity_call">Call</string> + <string name="hello_world">Hello world!</string> + +</resources> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/styles.xml b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/styles.xml new file mode 100644 index 0000000000000000000000000000000000000000..4ea93266474ae0ee3e01be61603943ca456e21cd --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/res/values/styles.xml @@ -0,0 +1,20 @@ +<resources> + + <!-- + Base application theme, dependent on API level. This theme is replaced + by AppBaseTheme from res/values-vXX/styles.xml on newer devices. + --> + <style name="AppBaseTheme" parent="android:Theme.Light"> + <!-- + Theme customizations available in newer API levels can go in + res/values-vXX/styles.xml, while customizations related to + backward-compatibility can go here. + --> + </style> + + <!-- Application theme. --> + <style name="AppTheme" parent="AppBaseTheme"> + <!-- All customizations that are NOT specific to a particular API-level can go here. --> + </style> + +</resources> diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..ea2d89ebf27970f2d58dc4adbbce59208b704676 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/CallActivity.java @@ -0,0 +1,146 @@ +/* $Id: CallActivity.java 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +package org.pjsip.pjsua2.app; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; +import android.app.Activity; + +import org.pjsip.pjsua2.*; + +public class CallActivity extends Activity implements Handler.Callback { + + public static Handler handler_; + + private final Handler handler = new Handler(this); + private static CallInfo lastCallInfo; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_call); + + handler_ = handler; + if (MainActivity.currentCall != null) { + try { + lastCallInfo = MainActivity.currentCall.getInfo(); + updateCallState(lastCallInfo); + } catch (Exception e) { + System.out.println(e); + } + } else { + updateCallState(lastCallInfo); + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + handler_ = null; + } + + public void acceptCall(View view) { + CallOpParam prm = new CallOpParam(); + prm.setStatusCode(pjsip_status_code.PJSIP_SC_OK); + try { + MainActivity.currentCall.answer(prm); + } catch (Exception e) { + System.out.println(e); + } + + view.setVisibility(View.GONE); + } + + public void hangupCall(View view) { + handler_ = null; + finish(); + + if (MainActivity.currentCall != null) { + CallOpParam prm = new CallOpParam(); + prm.setStatusCode(pjsip_status_code.PJSIP_SC_DECLINE); + try { + MainActivity.currentCall.hangup(prm); + } catch (Exception e) { + System.out.println(e); + } + + MainActivity.currentCall = null; + } + } + + @Override + public boolean handleMessage(Message m) { + + if (m.what == MainActivity.MSG_TYPE.CALL_STATE) { + + lastCallInfo = (CallInfo) m.obj; + updateCallState(lastCallInfo); + + } else { + + /* Message not handled */ + return false; + + } + + return true; + } + + private void updateCallState(CallInfo ci) { + TextView tvPeer = (TextView) findViewById(R.id.textViewPeer); + TextView tvState = (TextView) findViewById(R.id.textViewCallState); + Button buttonHangup = (Button) findViewById(R.id.buttonHangup); + Button buttonAccept = (Button) findViewById(R.id.buttonAccept); + String call_state = ""; + + if (ci.getRole() == pjsip_role_e.PJSIP_ROLE_UAC) { + buttonAccept.setVisibility(View.GONE); + } + + if (ci.getState().swigValue() < pjsip_inv_state.PJSIP_INV_STATE_CONFIRMED.swigValue()) + { + if (ci.getRole() == pjsip_role_e.PJSIP_ROLE_UAS) { + call_state = "Incoming call.."; + /* Default button texts are already 'Accept' & 'Reject' */ + } else { + buttonHangup.setText("Cancel"); + call_state = ci.getStateText(); + } + } + else if (ci.getState().swigValue() >= pjsip_inv_state.PJSIP_INV_STATE_CONFIRMED.swigValue()) + { + buttonAccept.setVisibility(View.GONE); + call_state = ci.getStateText(); + if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_CONFIRMED) { + buttonHangup.setText("Hangup"); + } else if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) { + buttonHangup.setText("OK"); + call_state = "Call disconnected: " + ci.getLastReason(); + MainActivity.currentCall = null; + } + } + + tvPeer.setText(ci.getRemoteUri()); + tvState.setText(call_state); + } +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..c2c0c2f3bce919e320b7cdcf77cf85fbae00addd --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MainActivity.java @@ -0,0 +1,505 @@ +/* $Id: MainActivity.java 4734 2014-02-05 09:32:57Z nanang $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +package org.pjsip.pjsua2.app; + +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.AdapterView; +import android.widget.CheckBox; +import android.widget.EditText; +import android.widget.ListView; +import android.widget.SimpleAdapter; +import android.widget.TextView; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +import org.pjsip.pjsua2.*; + +public class MainActivity extends Activity implements Handler.Callback, MyAppObserver { + public static MyApp app = null; + public static MyCall currentCall = null; + public static MyAccount account = null; + public static AccountConfig accCfg = null; + + private ListView buddyListView; + private SimpleAdapter buddyListAdapter; + private int buddyListSelectedIdx = -1; + ArrayList<Map<String, String>> buddyList; + private String lastRegStatus = ""; + + private final Handler handler = new Handler(this); + public class MSG_TYPE { + public final static int INCOMING_CALL = 1; + public final static int CALL_STATE = 2; + public final static int REG_STATE = 3; + public final static int BUDDY_STATE = 4; + } + + private HashMap<String, String> putData(String uri, String status) { + HashMap<String, String> item = new HashMap<String, String>(); + item.put("uri", uri); + item.put("status", status); + return item; + } + + private void showCallActivity() { + Intent intent = new Intent(this, CallActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + startActivity(intent); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + if (app == null) { + app = new MyApp(); + /* Wait for GDB to init */ + if ((getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) { + try { + Thread.sleep(5000); + } catch (InterruptedException e) {} + } + + app.init(this, getFilesDir().getAbsolutePath()); + } + + if (app.accList.size() == 0) { + accCfg = new AccountConfig(); + accCfg.setIdUri("sip:localhost"); + accCfg.getNatConfig().setIceEnabled(true); + account = app.addAcc(accCfg); + } else { + account = app.accList.get(0); + accCfg = account.cfg; + } + + buddyList = new ArrayList<Map<String, String>>(); + for (int i = 0; i < account.buddyList.size(); i++) { + buddyList.add(putData(account.buddyList.get(i).cfg.getUri(), + account.buddyList.get(i).getStatusText())); + } + + String[] from = { "uri", "status" }; + int[] to = { android.R.id.text1, android.R.id.text2 }; + buddyListAdapter = new SimpleAdapter(this, buddyList, android.R.layout.simple_list_item_2, from, to); + + buddyListView = (ListView) findViewById(R.id.listViewBuddy);; + buddyListView.setAdapter(buddyListAdapter); + buddyListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView<?> parent, final View view, + int position, long id) + { + view.setSelected(true); + buddyListSelectedIdx = position; + } + }); + + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.action_acc_config: + dlgAccountSetting(); + break; + + case R.id.action_quit: + Message m = Message.obtain(handler, 0); + m.sendToTarget(); + break; + + default: + break; + } + + return true; + } + + @Override + public boolean handleMessage(Message m) { + + if (m.what == 0) { + + app.deinit(); + finish(); + Runtime.getRuntime().gc(); + android.os.Process.killProcess(android.os.Process.myPid()); + + } else if (m.what == MSG_TYPE.CALL_STATE) { + + CallInfo ci = (CallInfo) m.obj; + + /* Forward the message to CallActivity */ + if (CallActivity.handler_ != null) { + Message m2 = Message.obtain(CallActivity.handler_, MSG_TYPE.CALL_STATE, ci); + m2.sendToTarget(); + } + + if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) + currentCall = null; + + } else if (m.what == MSG_TYPE.BUDDY_STATE) { + + MyBuddy buddy = (MyBuddy) m.obj; + int idx = account.buddyList.indexOf(buddy); + + /* Update buddy status text, if buddy is valid and + * the buddy lists in account and UI are sync-ed. + */ + if (idx >= 0 && account.buddyList.size() == buddyList.size()) { + buddyList.get(idx).put("status", buddy.getStatusText()); + buddyListAdapter.notifyDataSetChanged(); + // TODO: selection color/mark is gone after this, + // dont know how to return it back. + //buddyListView.setSelection(buddyListSelectedIdx); + //buddyListView.performItemClick(buddyListView, buddyListSelectedIdx, + // buddyListView.getItemIdAtPosition(buddyListSelectedIdx)); + + /* Return back Call activity */ + notifyCallState(currentCall); + } + + } else if (m.what == MSG_TYPE.REG_STATE) { + + String msg_str = (String) m.obj; + lastRegStatus = msg_str; + + } else if (m.what == MSG_TYPE.INCOMING_CALL) { + + /* Incoming call */ + final MyCall call = (MyCall) m.obj; + CallOpParam prm = new CallOpParam(); + + /* Only one call at anytime */ + if (currentCall != null) { + prm.setStatusCode(pjsip_status_code.PJSIP_SC_BUSY_HERE); + try { + call.hangup(prm); + } catch (Exception e) {} + return true; + } + + /* Answer with ringing */ + prm.setStatusCode(pjsip_status_code.PJSIP_SC_RINGING); + try { + call.answer(prm); + } catch (Exception e) {} + + currentCall = call; + showCallActivity(); + + } else { + + /* Message not handled */ + return false; + + } + + return true; + } + + + private void dlgAccountSetting() { + + LayoutInflater li = LayoutInflater.from(this); + View view = li.inflate(R.layout.dlg_account_config, null); + + if (!lastRegStatus.isEmpty()) { + TextView tvInfo = (TextView)view.findViewById(R.id.textViewInfo); + tvInfo.setText("Last status: " + lastRegStatus); + } + + AlertDialog.Builder adb = new AlertDialog.Builder(this); + adb.setView(view); + adb.setTitle("Account Settings"); + + final EditText etId = (EditText)view.findViewById(R.id.editTextId); + final EditText etReg = (EditText)view.findViewById(R.id.editTextRegistrar); + final EditText etProxy = (EditText)view.findViewById(R.id.editTextProxy); + final EditText etUser = (EditText)view.findViewById(R.id.editTextUsername); + final EditText etPass = (EditText)view.findViewById(R.id.editTextPassword); + + etId. setText(accCfg.getIdUri()); + etReg. setText(accCfg.getRegConfig().getRegistrarUri()); + StringVector proxies = accCfg.getSipConfig().getProxies(); + if (proxies.size() > 0) + etProxy.setText(proxies.get(0)); + else + etProxy.setText(""); + AuthCredInfoVector creds = accCfg.getSipConfig().getAuthCreds(); + if (creds.size() > 0) { + etUser. setText(creds.get(0).getUsername()); + etPass. setText(creds.get(0).getData()); + } else { + etUser. setText(""); + etPass. setText(""); + } + + adb.setCancelable(false); + adb.setPositiveButton("OK", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog,int id) { + String acc_id = etId.getText().toString(); + String registrar = etReg.getText().toString(); + String proxy = etProxy.getText().toString(); + String username = etUser.getText().toString(); + String password = etPass.getText().toString(); + + accCfg.setIdUri(acc_id); + accCfg.getRegConfig().setRegistrarUri(registrar); + AuthCredInfoVector creds = accCfg.getSipConfig().getAuthCreds(); + creds.clear(); + if (!username.isEmpty()) { + creds.add(new AuthCredInfo("Digest", "*", username, 0, password)); + } + StringVector proxies = accCfg.getSipConfig().getProxies(); + proxies.clear(); + if (!proxy.isEmpty()) { + proxies.add(proxy); + } + + /* Enable ICE */ + accCfg.getNatConfig().setIceEnabled(true); + + /* Finally */ + lastRegStatus = ""; + try { + account.modify(accCfg); + } catch (Exception e) {} + } + }); + adb.setNegativeButton("Cancel", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog,int id) { + dialog.cancel(); + } + }); + + AlertDialog ad = adb.create(); + ad.show(); + } + + + public void makeCall(View view) { + if (buddyListSelectedIdx == -1) + return; + + /* Only one call at anytime */ + if (currentCall != null) { + return; + } + + HashMap<String, String> item = (HashMap<String, String>) buddyListView.getItemAtPosition(buddyListSelectedIdx); + String buddy_uri = item.get("uri"); + + MyCall call = new MyCall(account, -1); + CallOpParam prm = new CallOpParam(); + CallSetting opt = prm.getOpt(); + opt.setAudioCount(1); + opt.setVideoCount(0); + + try { + call.makeCall(buddy_uri, prm); + } catch (Exception e) { + currentCall = null; + return; + } + + currentCall = call; + showCallActivity(); + } + + private void dlgAddEditBuddy(BuddyConfig initial) { + final BuddyConfig cfg = new BuddyConfig(); + final BuddyConfig old_cfg = initial; + final boolean is_add = initial == null; + + LayoutInflater li = LayoutInflater.from(this); + View view = li.inflate(R.layout.dlg_add_buddy, null); + + AlertDialog.Builder adb = new AlertDialog.Builder(this); + adb.setView(view); + + final EditText etUri = (EditText)view.findViewById(R.id.editTextUri); + final CheckBox cbSubs = (CheckBox)view.findViewById(R.id.checkBoxSubscribe); + + if (is_add) { + adb.setTitle("Add Buddy"); + } else { + adb.setTitle("Edit Buddy"); + etUri. setText(initial.getUri()); + cbSubs.setChecked(initial.getSubscribe()); + } + + adb.setCancelable(false); + adb.setPositiveButton("OK", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog,int id) { + cfg.setUri(etUri.getText().toString()); + cfg.setSubscribe(cbSubs.isChecked()); + + if (is_add) { + account.addBuddy(cfg); + buddyList.add(putData(cfg.getUri(), "")); + buddyListAdapter.notifyDataSetChanged(); + buddyListSelectedIdx = -1; + } else { + if (!old_cfg.getUri().equals(cfg.getUri())) { + account.delBuddy(buddyListSelectedIdx); + account.addBuddy(cfg); + buddyList.remove(buddyListSelectedIdx); + buddyList.add(putData(cfg.getUri(), "")); + buddyListAdapter.notifyDataSetChanged(); + buddyListSelectedIdx = -1; + } else if (old_cfg.getSubscribe() != cfg.getSubscribe()) { + MyBuddy bud = account.buddyList.get(buddyListSelectedIdx); + try { + bud.subscribePresence(cfg.getSubscribe()); + } catch (Exception e) {} + } + } + } + }); + adb.setNegativeButton("Cancel", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog,int id) { + dialog.cancel(); + } + }); + + AlertDialog ad = adb.create(); + ad.show(); + } + + public void addBuddy(View view) { + dlgAddEditBuddy(null); + } + + public void editBuddy(View view) { + if (buddyListSelectedIdx == -1) + return; + + BuddyConfig old_cfg = account.buddyList.get(buddyListSelectedIdx).cfg; + dlgAddEditBuddy(old_cfg); + } + + public void delBuddy(View view) { + if (buddyListSelectedIdx == -1) + return; + + final HashMap<String, String> item = (HashMap<String, String>) buddyListView.getItemAtPosition(buddyListSelectedIdx); + String buddy_uri = item.get("uri"); + + DialogInterface.OnClickListener ocl = new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_POSITIVE: + account.delBuddy(buddyListSelectedIdx); + buddyList.remove(item); + buddyListAdapter.notifyDataSetChanged(); + buddyListSelectedIdx = -1; + break; + case DialogInterface.BUTTON_NEGATIVE: + break; + } + } + }; + + AlertDialog.Builder adb = new AlertDialog.Builder(this); + adb.setTitle(buddy_uri); + adb.setMessage("\nDelete this buddy?\n"); + adb.setPositiveButton("Yes", ocl); + adb.setNegativeButton("No", ocl); + adb.show(); + } + + + /* + * === MyAppObserver === + * + * As we cannot do UI from worker thread, the callbacks mostly just send + * a message to UI/main thread. + */ + + public void notifyIncomingCall(MyCall call) { + Message m = Message.obtain(handler, MSG_TYPE.INCOMING_CALL, call); + m.sendToTarget(); + } + + public void notifyRegState(pjsip_status_code code, String reason, int expiration) { + String msg_str = ""; + if (expiration == 0) + msg_str += "Unregistration"; + else + msg_str += "Registration"; + + if (code.swigValue()/100 == 2) + msg_str += " successful"; + else + msg_str += " failed: " + reason; + + Message m = Message.obtain(handler, MSG_TYPE.REG_STATE, msg_str); + m.sendToTarget(); + } + + public void notifyCallState(MyCall call) { + if (currentCall == null || call.getId() != currentCall.getId()) + return; + + CallInfo ci; + try { + ci = call.getInfo(); + } catch (Exception e) { + ci = null; + } + Message m = Message.obtain(handler, MSG_TYPE.CALL_STATE, ci); + m.sendToTarget(); + } + + public void notifyBuddyState(MyBuddy buddy) { + Message m = Message.obtain(handler, MSG_TYPE.BUDDY_STATE, buddy); + m.sendToTarget(); + } + + /* === end of MyAppObserver ==== */ + +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java new file mode 100644 index 0000000000000000000000000000000000000000..045826e08db1ff4c7ff6e9d07a51d30ed612eaca --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/android/src/org/pjsip/pjsua2/app/MyApp.java @@ -0,0 +1,452 @@ +/* $Id: MyApp.java 4734 2014-02-05 09:32:57Z nanang $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +package org.pjsip.pjsua2.app; + +import java.io.File; +import java.util.ArrayList; +import org.pjsip.pjsua2.*; + + +/* Interface to separate UI & engine a bit better */ +interface MyAppObserver { + abstract void notifyRegState(pjsip_status_code code, String reason, int expiration); + abstract void notifyIncomingCall(MyCall call); + abstract void notifyCallState(MyCall call); + abstract void notifyBuddyState(MyBuddy buddy); +} + + +class MyLogWriter extends LogWriter { + @Override + public void write(LogEntry entry) { + System.out.println(entry.getMsg()); + } +} + + +class MyCall extends Call { + MyCall(MyAccount acc, int call_id) { + super(acc, call_id); + } + + @Override + public void onCallState(OnCallStateParam prm) { + MyApp.observer.notifyCallState(this); + } + + @Override + public void onCallMediaState(OnCallMediaStateParam prm) { + CallInfo ci; + try { + ci = getInfo(); + } catch (Exception e) { + return; + } + + CallMediaInfoVector cmiv = ci.getMedia(); + + for (int i = 0; i < cmiv.size(); i++) { + CallMediaInfo cmi = cmiv.get(i); + if (cmi.getType() == pjmedia_type.PJMEDIA_TYPE_AUDIO && + (cmi.getStatus() == pjsua_call_media_status.PJSUA_CALL_MEDIA_ACTIVE || + cmi.getStatus() == pjsua_call_media_status.PJSUA_CALL_MEDIA_REMOTE_HOLD)) + { + // unfortunately, on Java too, the returned Media cannot be downcasted to AudioMedia + Media m = getMedia(i); + AudioMedia am = AudioMedia.typecastFromMedia(m); + + // connect ports + try { + MyApp.ep.audDevManager().getCaptureDevMedia().startTransmit(am); + am.startTransmit(MyApp.ep.audDevManager().getPlaybackDevMedia()); + } catch (Exception e) { + continue; + } + } + } + } +} + + +class MyAccount extends Account { + public ArrayList<MyBuddy> buddyList = new ArrayList<MyBuddy>(); + public AccountConfig cfg; + + MyAccount(AccountConfig config) { + super(); + cfg = config; + } + + public MyBuddy addBuddy(BuddyConfig bud_cfg) + { + /* Create Buddy */ + MyBuddy bud = new MyBuddy(bud_cfg); + try { + bud.create(this, bud_cfg); + } catch (Exception e) { + bud = null; + } + + if (bud != null) { + buddyList.add(bud); + if (bud_cfg.getSubscribe()) + try { + bud.subscribePresence(true); + } catch (Exception e) {} + } + + return bud; + } + + public void delBuddy(MyBuddy buddy) { + buddyList.remove(buddy); + } + + public void delBuddy(int index) { + buddyList.remove(index); + } + + @Override + public void onRegState(OnRegStateParam prm) { + MyApp.observer.notifyRegState(prm.getCode(), prm.getReason(), prm.getExpiration()); + } + + @Override + public void onIncomingCall(OnIncomingCallParam prm) { + System.out.println("======== Incoming call ======== "); + MyCall call = new MyCall(this, prm.getCallId()); + MyApp.observer.notifyIncomingCall(call); + } + + @Override + public void onInstantMessage(OnInstantMessageParam prm) { + System.out.println("======== Incoming pager ======== "); + System.out.println("From : " + prm.getFromUri()); + System.out.println("To : " + prm.getToUri()); + System.out.println("Contact : " + prm.getContactUri()); + System.out.println("Mimetype : " + prm.getContentType()); + System.out.println("Body : " + prm.getMsgBody()); + } +} + + +class MyBuddy extends Buddy { + public BuddyConfig cfg; + + MyBuddy(BuddyConfig config) { + super(); + cfg = config; + } + + String getStatusText() { + BuddyInfo bi; + + try { + bi = getInfo(); + } catch (Exception e) { + return "?"; + } + + String status = ""; + if (bi.getSubState() == pjsip_evsub_state.PJSIP_EVSUB_STATE_ACTIVE) { + if (bi.getPresStatus().getStatus() == pjsua_buddy_status.PJSUA_BUDDY_STATUS_ONLINE) { + status = bi.getPresStatus().getStatusText(); + if (status == null || status.isEmpty()) { + status = "Online"; + } + } else if (bi.getPresStatus().getStatus() == pjsua_buddy_status.PJSUA_BUDDY_STATUS_OFFLINE) { + status = "Offline"; + } else { + status = "Unknown"; + } + } + return status; + } + + @Override + public void onBuddyState() { + MyApp.observer.notifyBuddyState(this); + } + +} + + +class MyAccountConfig { + public AccountConfig accCfg = new AccountConfig(); + public ArrayList<BuddyConfig> buddyCfgs = new ArrayList<BuddyConfig>(); + + public void readObject(ContainerNode node) { + try { + ContainerNode acc_node = node.readContainer("Account"); + accCfg.readObject(acc_node); + ContainerNode buddies_node = acc_node.readArray("buddies"); + buddyCfgs.clear(); + while (buddies_node.hasUnread()) { + BuddyConfig bud_cfg = new BuddyConfig(); + bud_cfg.readObject(buddies_node); + buddyCfgs.add(bud_cfg); + } + } catch (Exception e) {} + } + + public void writeObject(ContainerNode node) { + try { + ContainerNode acc_node = node.writeNewContainer("Account"); + accCfg.writeObject(acc_node); + ContainerNode buddies_node = acc_node.writeNewArray("buddies"); + for (int j = 0; j < buddyCfgs.size(); j++) { + buddyCfgs.get(j).writeObject(buddies_node); + } + } catch (Exception e) {} + } +} + + +class MyApp { + static { + System.loadLibrary("pjsua2"); + System.out.println("Library loaded"); + } + + public static Endpoint ep = new Endpoint(); + public static MyAppObserver observer; + public ArrayList<MyAccount> accList = new ArrayList<MyAccount>(); + + private ArrayList<MyAccountConfig> accCfgs = new ArrayList<MyAccountConfig>(); + private EpConfig epConfig = new EpConfig(); + private TransportConfig sipTpConfig = new TransportConfig(); + private String appDir; + + /* Maintain reference to log writer to avoid premature cleanup by GC */ + private MyLogWriter logWriter; + + private final String configName = "pjsua2.json"; + private final int SIP_PORT = 6000; + private final int LOG_LEVEL = 4; + + public void init(MyAppObserver obs, String app_dir) { + init(obs, app_dir, false); + } + + public void init(MyAppObserver obs, String app_dir, boolean own_worker_thread) { + observer = obs; + appDir = app_dir; + + /* Create endpoint */ + try { + ep.libCreate(); + } catch (Exception e) { + return; + } + + + /* Load config */ + String configPath = appDir + "/" + configName; + File f = new File(configPath); + if (f.exists()) { + loadConfig(configPath); + } else { + /* Set 'default' values */ + sipTpConfig.setPort(SIP_PORT); + } + + /* Override log level setting */ + epConfig.getLogConfig().setLevel(LOG_LEVEL); + epConfig.getLogConfig().setConsoleLevel(LOG_LEVEL); + + /* Set log config. */ + LogConfig log_cfg = epConfig.getLogConfig(); + logWriter = new MyLogWriter(); + log_cfg.setWriter(logWriter); + log_cfg.setDecor(log_cfg.getDecor() & + ~(pj_log_decoration.PJ_LOG_HAS_CR.swigValue() | + pj_log_decoration.PJ_LOG_HAS_NEWLINE.swigValue())); + + /* Set ua config. */ + UaConfig ua_cfg = epConfig.getUaConfig(); + ua_cfg.setUserAgent("Pjsua2 Android " + ep.libVersion().getFull()); + StringVector stun_servers = new StringVector(); + stun_servers.add("stun.pjsip.org"); + ua_cfg.setStunServer(stun_servers); + if (own_worker_thread) { + ua_cfg.setThreadCnt(0); + ua_cfg.setMainThreadOnly(true); + } + + /* Init endpoint */ + try { + ep.libInit(epConfig); + } catch (Exception e) { + return; + } + + /* Create transports. */ + try { + ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_UDP, sipTpConfig); + } catch (Exception e) { + System.out.println(e); + } + + try { + ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_TCP, sipTpConfig); + } catch (Exception e) { + System.out.println(e); + } + + /* Create accounts. */ + for (int i = 0; i < accCfgs.size(); i++) { + MyAccountConfig my_cfg = accCfgs.get(i); + MyAccount acc = addAcc(my_cfg.accCfg); + if (acc == null) + continue; + + /* Add Buddies */ + for (int j = 0; j < my_cfg.buddyCfgs.size(); j++) { + BuddyConfig bud_cfg = my_cfg.buddyCfgs.get(j); + acc.addBuddy(bud_cfg); + } + } + + /* Start. */ + try { + ep.libStart(); + } catch (Exception e) { + return; + } + } + + public MyAccount addAcc(AccountConfig cfg) { + MyAccount acc = new MyAccount(cfg); + try { + acc.create(cfg); + } catch (Exception e) { + acc = null; + return null; + } + + accList.add(acc); + return acc; + } + + public void delAcc(MyAccount acc) { + accList.remove(acc); + } + + private void loadConfig(String filename) { + JsonDocument json = new JsonDocument(); + + try { + /* Load file */ + json.loadFile(filename); + ContainerNode root = json.getRootContainer(); + + /* Read endpoint config */ + epConfig.readObject(root); + + /* Read transport config */ + ContainerNode tp_node = root.readContainer("SipTransport"); + sipTpConfig.readObject(tp_node); + + /* Read account configs */ + accCfgs.clear(); + ContainerNode accs_node = root.readArray("accounts"); + while (accs_node.hasUnread()) { + MyAccountConfig acc_cfg = new MyAccountConfig(); + acc_cfg.readObject(accs_node); + accCfgs.add(acc_cfg); + } + } catch (Exception e) { + System.out.println(e); + } + + /* Force delete json now, as I found that Java somehow destroys it + * after lib has been destroyed and from non-registered thread. + */ + json.delete(); + } + + private void buildAccConfigs() { + /* Sync accCfgs from accList */ + accCfgs.clear(); + for (int i = 0; i < accList.size(); i++) { + MyAccount acc = accList.get(i); + MyAccountConfig my_acc_cfg = new MyAccountConfig(); + my_acc_cfg.accCfg = acc.cfg; + + my_acc_cfg.buddyCfgs.clear(); + for (int j = 0; j < acc.buddyList.size(); j++) { + MyBuddy bud = acc.buddyList.get(j); + my_acc_cfg.buddyCfgs.add(bud.cfg); + } + + accCfgs.add(my_acc_cfg); + } + } + + private void saveConfig(String filename) { + JsonDocument json = new JsonDocument(); + + try { + /* Write endpoint config */ + json.writeObject(epConfig); + + /* Write transport config */ + ContainerNode tp_node = json.writeNewContainer("SipTransport"); + sipTpConfig.writeObject(tp_node); + + /* Write account configs */ + buildAccConfigs(); + ContainerNode accs_node = json.writeNewArray("accounts"); + for (int i = 0; i < accCfgs.size(); i++) { + accCfgs.get(i).writeObject(accs_node); + } + + /* Save file */ + json.saveFile(filename); + } catch (Exception e) {} + + /* Force delete json now, as I found that Java somehow destroys it + * after lib has been destroyed and from non-registered thread. + */ + json.delete(); + } + + public void deinit() { + String configPath = appDir + "/" + configName; + saveConfig(configPath); + + /* Try force GC to avoid late destroy of PJ objects as they should be + * deleted before lib is destroyed. + */ + Runtime.getRuntime().gc(); + + /* Shutdown pjsua. Note that Endpoint destructor will also invoke + * libDestroy(), so this will be a test of double libDestroy(). + */ + try { + ep.libDestroy(); + } catch (Exception e) {} + + /* Force delete Endpoint here, to avoid deletion from a non- + * registered thread (by GC?). + */ + ep.delete(); + ep = null; + } +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/sample.java b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/sample.java new file mode 100644 index 0000000000000000000000000000000000000000..7dbd37392fbcf40dfe5b0dac74706decd18f2748 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/sample.java @@ -0,0 +1,140 @@ +/* $Id: sample.java 4767 2014-02-27 02:26:53Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +package org.pjsip.pjsua2.app; + +import java.io.IOException; +import org.pjsip.pjsua2.*; +import org.pjsip.pjsua2.app.*; + +class MyObserver implements MyAppObserver { + private static MyCall currentCall = null; + + @Override + public void notifyRegState(pjsip_status_code code, String reason, int expiration) {} + + @Override + public void notifyIncomingCall(MyCall call) { + /* Auto answer. */ + CallOpParam call_param = new CallOpParam(); + call_param.setStatusCode(pjsip_status_code.PJSIP_SC_OK); + try { + currentCall = call; + currentCall.answer(call_param); + } catch (Exception e) { + System.out.println(e); + return; + } + } + + @Override + public void notifyCallState(MyCall call) { + if (currentCall == null || call.getId() != currentCall.getId()) + return; + + CallInfo ci; + try { + ci = call.getInfo(); + } catch (Exception e) { + ci = null; + } + if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_DISCONNECTED) + currentCall = null; + } + + @Override + public void notifyBuddyState(MyBuddy buddy) {} +} + +class MyShutdownHook extends Thread { + Thread thread; + MyShutdownHook(Thread thr) { + thread = thr; + } + public void run() { + thread.interrupt(); + try { + thread.join(); + } catch (Exception e) { + ; + } + } +} + +public class sample { + private static MyApp app = new MyApp(); + private static MyAppObserver observer = new MyObserver(); + private static MyAccount account = null; + private static AccountConfig accCfg = null; + + private static void runWorker() { + try { + app.init(observer, ".", true); + } catch (Exception e) { + System.out.println(e); + app.deinit(); + System.exit(-1); + } + + if (app.accList.size() == 0) { + accCfg = new AccountConfig(); + accCfg.setIdUri("sip:localhost"); + account = app.addAcc(accCfg); + + accCfg.setIdUri("sip:test@pjsip.org"); + AccountSipConfig sipCfg = accCfg.getSipConfig(); + AuthCredInfoVector ciVec = sipCfg.getAuthCreds(); + ciVec.add(new AuthCredInfo("Digest", + "*", + "test", + 0, + "passwd")); + + StringVector proxy = sipCfg.getProxies(); + proxy.add("sip:pjsip.org;transport=tcp"); + + AccountRegConfig regCfg = accCfg.getRegConfig(); + regCfg.setRegistrarUri("sip:pjsip.org"); + account = app.addAcc(accCfg); + } else { + account = app.accList.get(0); + accCfg = account.cfg; + } + + try { + account.modify(accCfg); + } catch (Exception e) {} + + while (!Thread.currentThread().isInterrupted()) { + MyApp.ep.libHandleEvents(10); + try { + Thread.currentThread().sleep(50); + } catch (InterruptedException ie) { + break; + } + } + app.deinit(); + } + + public static void main(String argv[]) { + Runtime.getRuntime().addShutdownHook(new MyShutdownHook(Thread.currentThread())); + + runWorker(); + } +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/test.java b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/test.java new file mode 100644 index 0000000000000000000000000000000000000000..f616460d2de2ffa604830e365b39c551c539037c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/java/test.java @@ -0,0 +1,17 @@ +import org.pjsip.pjsua2.*; + +public class test { + static { + System.loadLibrary("pjsua2"); + System.out.println("Library loaded"); + } + + public static void main(String argv[]) { + + AuthCredInfo cred = new AuthCredInfo(); + + cred.setRealm("Hello world"); + + System.out.println(cred.getRealm()); + } +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/pjsua2.i b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/pjsua2.i new file mode 100644 index 0000000000000000000000000000000000000000..2cc41d4a6aff0b5ceafc243a1c8a71467af86b6e --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/pjsua2.i @@ -0,0 +1,111 @@ +%module(directors="1") pjsua2 + +// +// Suppress few warnings +// +#pragma SWIG nowarn=312 // 312: nested struct (in types.h, sip_auth.h) + +// +// Header section +// +%{ +#include "pjsua2.hpp" +using namespace std; +using namespace pj; +%} + +#ifdef SWIGPYTHON + %feature("director:except") { + if( $error != NULL ) { + PyObject *ptype, *pvalue, *ptraceback; + PyErr_Fetch( &ptype, &pvalue, &ptraceback ); + PyErr_Restore( ptype, pvalue, ptraceback ); + PyErr_Print(); + //Py_Exit(1); + } + } +#endif + +// Allow C++ exceptions to be handled in Java +#ifdef SWIGJAVA + %typemap(throws, throws="java.lang.Exception") pj::Error { + jclass excep = jenv->FindClass("java/lang/Exception"); + if (excep) + jenv->ThrowNew(excep, $1.info(true).c_str()); + return $null; +} + + // Force the Error Java class to extend java.lang.Exception + %typemap(javabase) pj::Error "java.lang.Exception"; + + // Override getMessage() + %typemap(javacode) pj::Error %{ + public String getMessage() { + return getTitle(); + } +%} +#endif + + +// Constants from PJSIP libraries +%include "symbols.i" + + +// +// Classes that can be extended in the target language +// +%feature("director") LogWriter; +%feature("director") Endpoint; +%feature("director") Account; +%feature("director") Call; +%feature("director") Buddy; +%feature("director") FindBuddyMatch; + +// +// STL stuff. +// +%include "std_string.i" +%include "std_vector.i" + +%template(StringVector) std::vector<std::string>; +%template(IntVector) std::vector<int>; + +// +// Ignore stuffs in pjsua2 +// +%ignore fromPj; +%ignore toPj; + +// +// Now include the API itself. +// +%include "pjsua2/types.hpp" + +%ignore pj::ContainerNode::op; +%ignore pj::ContainerNode::data; +%ignore container_node_op; +%ignore container_node_internal_data; +%include "pjsua2/persistent.hpp" + +%include "pjsua2/siptypes.hpp" + +%template(SipHeaderVector) std::vector<pj::SipHeader>; +%template(AuthCredInfoVector) std::vector<pj::AuthCredInfo>; +%template(SipMultipartPartVector) std::vector<pj::SipMultipartPart>; +%template(BuddyVector) std::vector<pj::Buddy*>; +%template(AudioMediaVector) std::vector<pj::AudioMedia*>; +%template(MediaFormatVector) std::vector<pj::MediaFormat*>; +%template(AudioDevInfoVector) std::vector<pj::AudioDevInfo*>; +%template(CodecInfoVector) std::vector<pj::CodecInfo*>; + +%include "pjsua2/media.hpp" +%include "pjsua2/endpoint.hpp" +%include "pjsua2/presence.hpp" +%include "pjsua2/account.hpp" +%include "pjsua2/call.hpp" + +%template(CallMediaInfoVector) std::vector<pj::CallMediaInfo>; + +%ignore pj::JsonDocument::allocElement; +%ignore pj::JsonDocument::getPool; +%include "pjsua2/json.hpp" diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/Makefile b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..651ea3f7f7a01666688fd4baccb479939e2ddfc6 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/Makefile @@ -0,0 +1,37 @@ +PYTHON_SO=_pjsua2.so + +#PYTHON_SETUP_FLAGS = --inplace +ifeq ($(OS),Windows_NT) + PYTHON_SETUP_FLAGS += --compiler=mingw32 + GCC_EXE=gcc.exe +else + GCC_EXE= +endif + +SWIG_FLAGS += -w312 + +.PHONY: all install uninstall + +all: $(PYTHON_SO) + +$(PYTHON_SO): pjsua2_wrap.cpp setup.py $(GCC_EXE) + python setup.py build $(PYTHON_SETUP_FLAGS) + +gcc.exe: cc_mingw.c + gcc -o gcc.exe cc_mingw.c + cp gcc.exe g++.exe + +pjsua2_wrap.cpp: ../pjsua2.i ../symbols.i Makefile $(SRCS) + swig $(SWIG_FLAGS) -python -o pjsua2_wrap.cpp ../pjsua2.i + +clean distclean realclean: + rm -rf $(PYTHON_SO) pjsua2_wrap.cpp pjsua2_wrap.h pjsua2.py build *.pyc + rm -f gcc.exe g++.exe + +install: + python setup.py install --user + +uninstall: + rm -f $(HOME)/.local/lib/python2.7/site-packages/pjsua2* + rm -f $(HOME)/.local/lib/python2.7/site-packages/_pjsua2* + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/cc_mingw.c b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/cc_mingw.c new file mode 100644 index 0000000000000000000000000000000000000000..a2cb628aceff19525ecdb65b6b93e899400ec46e --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/cc_mingw.c @@ -0,0 +1,154 @@ +/* $Id: cc_mingw.c 4745 2014-02-14 09:39:08Z nanang $ */ +/* + * Copyright (C) 2014 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* A simple proxy application for gcc/g++ to remove '-mno-cygwin' option + * when the gcc/g++ doesn't support it. Note that the option seems to be + * deprecated and causing compile error since gcc 4.7, while the option is + * auto-generated by Python distutils module (up to Python 2.7) in building + * Python extension. + */ +#include <errno.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +/* Find gcc executable from env var PATH but omitting current dir */ +const char* find_gcc(const char *gcc_exe) +{ + static char fname[256]; + char spath[1024 * 10]; + char *p; + + p = getenv("PATH"); + if (strlen(p) >= sizeof(spath)) { + printf("Error: find_gcc() not enough buffer 1\n"); + return NULL; + } + + strncpy(spath, p, sizeof(spath)); + p = strtok(spath, ";"); + while (p) { + int len; + + /* Skip current dir */ + if (strcmp(p, ".") == 0) { + p = strtok(NULL, ";"); + continue; + } + + len = snprintf(fname, sizeof(fname), "%s\\%s", p, gcc_exe); + if (len < 0 || len >= sizeof(fname)) { + printf("Error: find_gcc() not enough buffer 2\n"); + return NULL; + } + + if (access(fname, F_OK | X_OK) != -1) { + return fname; + } + + p = strtok(NULL, ";"); + } + + return NULL; +} + +int check_gcc_reject_mno_cygwin(const char *gcc_path) +{ + FILE *fp; + char tmp[1024]; + const char *p; + int ver; + + snprintf(tmp, sizeof(tmp), "%s -mno-cygwin 2>&1", gcc_path); + fp = popen(tmp, "r"); + if (fp == NULL) { + printf("Error: failed to run gcc\n" ); + return -1; + } + + while (fgets(tmp, sizeof(tmp), fp) != NULL) { + if (strstr(tmp, "unrecognized") && strstr(tmp, "-mno-cygwin")) + return 1; + } + + pclose(fp); + return 0; +} + +int main(int argc, const char const **argv) +{ + const char *app = "python cc_mingw.py"; + char cmd[1024 * 8], *p; + int i, len, sz; + int ret = 0; + const char *spath, *gcc_exe; + int remove_mno_cygwin; + + if (strstr(argv[0], "gcc") || strstr(argv[0], "GCC")) { + gcc_exe = "gcc.exe"; + } else if (strstr(argv[0], "g++") || strstr(argv[0], "G++")) { + gcc_exe = "g++.exe"; + } else { + printf("Error: app name not gcc/g++\n"); + return -10; + } + + /* Resolve GCC path from PATH env var */ + gcc_exe = find_gcc(gcc_exe); + if (!gcc_exe) { + printf("Error: real gcc/g++ not found\n"); + return -20; + } + + /* Check if GCC rejects '-mno-cygwin' option */ + remove_mno_cygwin = check_gcc_reject_mno_cygwin(gcc_exe); + if (remove_mno_cygwin < 0) + return -30; + + len = snprintf(cmd, sizeof(cmd), "%s", gcc_exe); + p = cmd + len; + sz = sizeof(cmd) - len; + for (i = 1; i < argc && sz > 0; ++i) { + + if (remove_mno_cygwin && strcmp(argv[i], "-mno-cygwin") == 0) { + printf("Removed option '-mno-cygwin'.\n"); + continue; + } + + len = snprintf(p, sz, " %s", argv[i]); + if (len < 0 || len >= sz) { + ret = E2BIG; + break; + } + p += len; + sz -= len; + } + + if (!ret) { + //printf("cmd = %s\n", cmd); + ret = system(cmd); + } + + if (ret) { + printf("Error: %s\n", strerror(ret)); + } + + return ret; +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/helper.mak b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/helper.mak new file mode 100644 index 0000000000000000000000000000000000000000..9d4f256e4f753e116a1c2ca8186747504e268583 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/helper.mak @@ -0,0 +1,24 @@ +include ../../../../build.mak +include $(PJDIR)/build/common.mak + +ldflags: + @for token in `echo $(PJ_LDXXFLAGS) $(LDFLAGS)`; do \ + echo $$token; \ + done + @for token in `echo $(PJ_LDXXLIBS) $(LIBS)`; do \ + echo $$token | grep -v \\-l; true; \ + done + +libs: + @for token in `echo $(PJ_LDXXLIBS) $(LIBS)`; do \ + echo $$token | grep \\-l | sed 's/-l//'; \ + done + +cflags: + @for token in `echo $(PJ_CXXFLAGS) $(CFLAGS)`; do \ + echo $$token; \ + done + +target_name: + @echo $(TARGET_NAME) + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/setup.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..48ad12ec0081d3f78785bab16a8bc07a49e390ea --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/setup.py @@ -0,0 +1,109 @@ +# $Id: setup.py 4756 2014-02-21 07:49:37Z nanang $ +# +# pjsua2 Setup script. +# +# Copyright (C)2012 Teluu Inc. (http://www.teluu.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +from distutils.core import setup, Extension +import os +import sys +import platform + +# find pjsip version +pj_version="" +pj_version_major="" +pj_version_minor="" +pj_version_rev="" +pj_version_suffix="" +f = open('../../../../version.mak', 'r') +for line in f: + if line.find("export PJ_VERSION_MAJOR") != -1: + tokens=line.split("=") + if len(tokens)>1: + pj_version_major= tokens[1].strip() + elif line.find("export PJ_VERSION_MINOR") != -1: + tokens=line.split("=") + if len(tokens)>1: + pj_version_minor= line.split("=")[1].strip() + elif line.find("export PJ_VERSION_REV") != -1: + tokens=line.split("=") + if len(tokens)>1: + pj_version_rev= line.split("=")[1].strip() + elif line.find("export PJ_VERSION_SUFFIX") != -1: + tokens=line.split("=") + if len(tokens)>1: + pj_version_suffix= line.split("=")[1].strip() + +f.close() +if not pj_version_major: + print 'Unable to get PJ_VERSION_MAJOR' + sys.exit(1) + +pj_version = pj_version_major + "." + pj_version_minor +if pj_version_rev: + pj_version += "." + pj_version_rev +if pj_version_suffix: + pj_version += "-" + pj_version_suffix + +#print 'PJ_VERSION = "'+ pj_version + '"' + +# Get targetname +f = os.popen("make --no-print-directory -f helper.mak target_name") +pj_target_name = f.read().rstrip("\r\n") +f.close() + +# Fill in extra_compile_args +extra_compile_args = [] +f = os.popen("make --no-print-directory -f helper.mak cflags") +for line in f: + extra_compile_args.append(line.rstrip("\r\n")) +f.close() + +# Fill in libraries +libraries = [] +f = os.popen("make --no-print-directory -f helper.mak libs") +for line in f: + libraries.append(line.rstrip("\r\n")) +f.close() + +# Fill in extra_link_args +extra_link_args = [] +f = os.popen("make --no-print-directory -f helper.mak ldflags") +for line in f: + extra_link_args.append(line.rstrip("\r\n")) +f.close() + +# MinGW specific action: put current working dir to PATH, so Python distutils +# will invoke our dummy gcc/g++ instead, which is in the current working dir. +if platform.system()=='Windows' and os.environ["MSYSTEM"].find('MINGW')!=-1: + os.environ["PATH"] = "." + os.pathsep + os.environ["PATH"] + +setup(name="pjsua2", + version=pj_version, + description='SIP User Agent Library based on PJSIP', + url='http://www.pjsip.org', + ext_modules = [Extension("_pjsua2", + ["pjsua2_wrap.cpp"], + libraries=libraries, + extra_compile_args=extra_compile_args, + extra_link_args=extra_link_args + ) + ], + py_modules=["pjsua2"] + ) + + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/test.py b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/test.py new file mode 100644 index 0000000000000000000000000000000000000000..dc805c77d2165dabf1ca42affd315bed9a0d8b44 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/python/test.py @@ -0,0 +1,112 @@ +import pjsua2 as pj +import sys + +# +# Basic data structure test, to make sure basic struct +# and array operations work +# +def ua_data_test(): + # + # AuthCredInfo + # + print "UA data types test.." + the_realm = "pjsip.org" + ci = pj.AuthCredInfo() + ci.realm = the_realm + ci.dataType = 20 + + ci2 = ci + assert ci.dataType == 20 + assert ci2.realm == the_realm + + # + # UaConfig + # See here how we manipulate std::vector + # + uc = pj.UaConfig() + uc.maxCalls = 10 + uc.userAgent = "Python" + uc.nameserver = pj.StringVector(["10.0.0.1", "10.0.0.2"]) + uc.nameserver.append("NS1") + + uc2 = uc + assert uc2.maxCalls == 10 + assert uc2.userAgent == "Python" + assert len(uc2.nameserver) == 3 + assert uc2.nameserver[0] == "10.0.0.1" + assert uc2.nameserver[1] == "10.0.0.2" + assert uc2.nameserver[2] == "NS1" + + print " Dumping nameservers: ", + for s in uc2.nameserver: + print s, + print "" + +# +# Exception test +# +def ua_run_test_exception(): + print "Exception test.." + ep = pj.Endpoint() + ep.libCreate() + got_exception = False + try: + ep.natDetectType() + except pj.Error, e: + got_exception = True + print " Got exception: status=%u, reason=%s,\n title=%s,\n srcFile=%s, srcLine=%d" % \ + (e.status, e.reason, e.title, e.srcFile, e.srcLine) + assert e.status == 370050 + assert e.reason.find("PJNATH_ESTUNINSERVER") >= 0 + assert e.title == "pjsua_detect_nat_type()" + assert got_exception + +# +# Custom log writer +# +class MyLogWriter(pj.LogWriter): + def write(self, entry): + print "This is Python:", entry.msg + +# +# Testing log writer callback +# +def ua_run_log_test(): + print "Logging test.." + ep_cfg = pj.EpConfig() + + lw = MyLogWriter() + ep_cfg.logConfig.writer = lw + ep_cfg.logConfig.decor = ep_cfg.logConfig.decor & ~(pj.PJ_LOG_HAS_CR | pj.PJ_LOG_HAS_NEWLINE) + + ep = pj.Endpoint() + ep.libCreate() + ep.libInit(ep_cfg) + ep.libDestroy() + +# +# Simple create, init, start, and destroy sequence +# +def ua_run_ua_test(): + print "UA test run.." + ep_cfg = pj.EpConfig() + + ep = pj.Endpoint() + ep.libCreate() + ep.libInit(ep_cfg) + ep.libStart() + + print "************* Endpoint started ok, now shutting down... *************" + ep.libDestroy() + +# +# main() +# +if __name__ == "__main__": + ua_data_test() + ua_run_test_exception() + ua_run_log_test() + ua_run_ua_test() + sys.exit(0) + + \ No newline at end of file diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/symbols.i b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/symbols.i new file mode 100644 index 0000000000000000000000000000000000000000..79146006b8226187c65e995327e419c819983965 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/symbols.i @@ -0,0 +1,129 @@ +// This file is autogenerated by importsym script, do not modify! +typedef int pj_status_t; + +enum pj_constants_ {PJ_SUCCESS = 0, PJ_TRUE = 1, PJ_FALSE = 0}; + +typedef unsigned char pj_uint8_t; + +typedef int pj_int32_t; + +typedef unsigned int pj_uint32_t; + +typedef unsigned short pj_uint16_t; + +enum pj_file_access {PJ_O_RDONLY = 0x1101, PJ_O_WRONLY = 0x1102, PJ_O_RDWR = 0x1103, PJ_O_APPEND = 0x1108}; + +enum pj_log_decoration {PJ_LOG_HAS_DAY_NAME = 1, PJ_LOG_HAS_YEAR = 2, PJ_LOG_HAS_MONTH = 4, PJ_LOG_HAS_DAY_OF_MON = 8, PJ_LOG_HAS_TIME = 16, PJ_LOG_HAS_MICRO_SEC = 32, PJ_LOG_HAS_SENDER = 64, PJ_LOG_HAS_NEWLINE = 128, PJ_LOG_HAS_CR = 256, PJ_LOG_HAS_SPACE = 512, PJ_LOG_HAS_COLOR = 1024, PJ_LOG_HAS_LEVEL_TEXT = 2048, PJ_LOG_HAS_THREAD_ID = 4096, PJ_LOG_HAS_THREAD_SWC = 8192, PJ_LOG_HAS_INDENT = 16384}; + +typedef enum pj_qos_type {PJ_QOS_TYPE_BEST_EFFORT, PJ_QOS_TYPE_BACKGROUND, PJ_QOS_TYPE_VIDEO, PJ_QOS_TYPE_VOICE, PJ_QOS_TYPE_CONTROL} pj_qos_type; + +typedef enum pj_qos_flag {PJ_QOS_PARAM_HAS_DSCP = 1, PJ_QOS_PARAM_HAS_SO_PRIO = 2, PJ_QOS_PARAM_HAS_WMM = 4} pj_qos_flag; + +typedef enum pj_qos_wmm_prio {PJ_QOS_WMM_PRIO_BULK_EFFORT, PJ_QOS_WMM_PRIO_BULK, PJ_QOS_WMM_PRIO_VIDEO, PJ_QOS_WMM_PRIO_VOICE} pj_qos_wmm_prio; + +typedef struct pj_qos_params +{ + pj_uint8_t flags; + pj_uint8_t dscp_val; + pj_uint8_t so_prio; + pj_qos_wmm_prio wmm_prio; +} pj_qos_params; + +typedef enum pj_ssl_cipher {PJ_TLS_NULL_WITH_NULL_NULL = 0x00000000, PJ_TLS_RSA_WITH_NULL_MD5 = 0x00000001, PJ_TLS_RSA_WITH_NULL_SHA = 0x00000002, PJ_TLS_RSA_WITH_NULL_SHA256 = 0x0000003B, PJ_TLS_RSA_WITH_RC4_128_MD5 = 0x00000004, PJ_TLS_RSA_WITH_RC4_128_SHA = 0x00000005, PJ_TLS_RSA_WITH_3DES_EDE_CBC_SHA = 0x0000000A, PJ_TLS_RSA_WITH_AES_128_CBC_SHA = 0x0000002F, PJ_TLS_RSA_WITH_AES_256_CBC_SHA = 0x00000035, PJ_TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x0000003C, PJ_TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x0000003D, PJ_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 0x0000000D, PJ_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 0x00000010, PJ_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 0x00000013, PJ_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x00000016, PJ_TLS_DH_DSS_WITH_AES_128_CBC_SHA = 0x00000030, PJ_TLS_DH_RSA_WITH_AES_128_CBC_SHA = 0x00000031, PJ_TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x00000032, PJ_TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x00000033, PJ_TLS_DH_DSS_WITH_AES_256_CBC_SHA = 0x00000036, PJ_TLS_DH_RSA_WITH_AES_256_CBC_SHA = 0x00000037, PJ_TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x00000038, PJ_TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x00000039, PJ_TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 0x0000003E, PJ_TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 0x0000003F, PJ_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x00000040, PJ_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x00000067, PJ_TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 0x00000068, PJ_TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 0x00000069, PJ_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x0000006A, PJ_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x0000006B, PJ_TLS_DH_anon_WITH_RC4_128_MD5 = 0x00000018, PJ_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 0x0000001B, PJ_TLS_DH_anon_WITH_AES_128_CBC_SHA = 0x00000034, PJ_TLS_DH_anon_WITH_AES_256_CBC_SHA = 0x0000003A, PJ_TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 0x0000006C, PJ_TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 0x0000006D, PJ_TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 0x00000003, PJ_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 0x00000006, PJ_TLS_RSA_WITH_IDEA_CBC_SHA = 0x00000007, PJ_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x00000008, PJ_TLS_RSA_WITH_DES_CBC_SHA = 0x00000009, PJ_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x0000000B, PJ_TLS_DH_DSS_WITH_DES_CBC_SHA = 0x0000000C, PJ_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x0000000E, PJ_TLS_DH_RSA_WITH_DES_CBC_SHA = 0x0000000F, PJ_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x00000011, PJ_TLS_DHE_DSS_WITH_DES_CBC_SHA = 0x00000012, PJ_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x00000014, PJ_TLS_DHE_RSA_WITH_DES_CBC_SHA = 0x00000015, PJ_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = 0x00000017, PJ_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 0x00000019, PJ_TLS_DH_anon_WITH_DES_CBC_SHA = 0x0000001A, PJ_SSL_FORTEZZA_KEA_WITH_NULL_SHA = 0x0000001C, PJ_SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA = 0x0000001D, PJ_SSL_FORTEZZA_KEA_WITH_RC4_128_SHA = 0x0000001E, PJ_SSL_CK_RC4_128_WITH_MD5 = 0x00010080, PJ_SSL_CK_RC4_128_EXPORT40_WITH_MD5 = 0x00020080, PJ_SSL_CK_RC2_128_CBC_WITH_MD5 = 0x00030080, PJ_SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 = 0x00040080, PJ_SSL_CK_IDEA_128_CBC_WITH_MD5 = 0x00050080, PJ_SSL_CK_DES_64_CBC_WITH_MD5 = 0x00060040, PJ_SSL_CK_DES_192_EDE3_CBC_WITH_MD5 = 0x000700C0} pj_ssl_cipher; + +typedef enum pj_stun_nat_type {PJ_STUN_NAT_TYPE_UNKNOWN, PJ_STUN_NAT_TYPE_ERR_UNKNOWN, PJ_STUN_NAT_TYPE_OPEN, PJ_STUN_NAT_TYPE_BLOCKED, PJ_STUN_NAT_TYPE_SYMMETRIC_UDP, PJ_STUN_NAT_TYPE_FULL_CONE, PJ_STUN_NAT_TYPE_SYMMETRIC, PJ_STUN_NAT_TYPE_RESTRICTED, PJ_STUN_NAT_TYPE_PORT_RESTRICTED} pj_stun_nat_type; + +typedef enum pj_turn_tp_type {PJ_TURN_TP_UDP = 17, PJ_TURN_TP_TCP = 6, PJ_TURN_TP_TLS = 255} pj_turn_tp_type; + +typedef enum pjmedia_event_type {PJMEDIA_EVENT_NONE, PJMEDIA_EVENT_FMT_CHANGED = ((('H' << 24) | ('C' << 16)) | ('M' << 8)) | 'F', PJMEDIA_EVENT_WND_CLOSING = ((('L' << 24) | ('C' << 16)) | ('N' << 8)) | 'W', PJMEDIA_EVENT_WND_CLOSED = ((('O' << 24) | ('C' << 16)) | ('N' << 8)) | 'W', PJMEDIA_EVENT_WND_RESIZED = ((('Z' << 24) | ('R' << 16)) | ('N' << 8)) | 'W', PJMEDIA_EVENT_MOUSE_BTN_DOWN = ((('N' << 24) | ('D' << 16)) | ('S' << 8)) | 'M', PJMEDIA_EVENT_KEYFRAME_FOUND = ((('F' << 24) | ('R' << 16)) | ('F' << 8)) | 'I', PJMEDIA_EVENT_KEYFRAME_MISSING = ((('M' << 24) | ('R' << 16)) | ('F' << 8)) | 'I', PJMEDIA_EVENT_ORIENT_CHANGED = ((('T' << 24) | ('N' << 16)) | ('R' << 8)) | 'O'} pjmedia_event_type; + +typedef enum pjmedia_srtp_use {PJMEDIA_SRTP_DISABLED, PJMEDIA_SRTP_OPTIONAL, PJMEDIA_SRTP_MANDATORY} pjmedia_srtp_use; + +typedef enum pjmedia_vid_stream_rc_method {PJMEDIA_VID_STREAM_RC_NONE = 0, PJMEDIA_VID_STREAM_RC_SIMPLE_BLOCKING = 1} pjmedia_vid_stream_rc_method; + +typedef pj_int32_t pjmedia_vid_dev_index; + +enum pjmedia_vid_dev_std_index {PJMEDIA_VID_DEFAULT_CAPTURE_DEV = -1, PJMEDIA_VID_DEFAULT_RENDER_DEV = -2, PJMEDIA_VID_INVALID_DEV = -3}; + +typedef enum pjmedia_aud_dev_route {PJMEDIA_AUD_DEV_ROUTE_DEFAULT = 0, PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER = 1, PJMEDIA_AUD_DEV_ROUTE_EARPIECE = 2, PJMEDIA_AUD_DEV_ROUTE_BLUETOOTH = 4} pjmedia_aud_dev_route; + +typedef enum pjmedia_aud_dev_cap {PJMEDIA_AUD_DEV_CAP_EXT_FORMAT = 1, PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY = 2, PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY = 4, PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING = 8, PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING = 16, PJMEDIA_AUD_DEV_CAP_INPUT_SIGNAL_METER = 32, PJMEDIA_AUD_DEV_CAP_OUTPUT_SIGNAL_METER = 64, PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE = 128, PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE = 256, PJMEDIA_AUD_DEV_CAP_EC = 512, PJMEDIA_AUD_DEV_CAP_EC_TAIL = 1024, PJMEDIA_AUD_DEV_CAP_VAD = 2048, PJMEDIA_AUD_DEV_CAP_CNG = 4096, PJMEDIA_AUD_DEV_CAP_PLC = 8192, PJMEDIA_AUD_DEV_CAP_MAX = 16384} pjmedia_aud_dev_cap; + +enum pjmedia_file_writer_option {PJMEDIA_FILE_WRITE_PCM = 0, PJMEDIA_FILE_WRITE_ALAW = 1, PJMEDIA_FILE_WRITE_ULAW = 2}; + +enum pjmedia_file_player_option {PJMEDIA_FILE_NO_LOOP = 1}; + +typedef enum pjmedia_type {PJMEDIA_TYPE_NONE, PJMEDIA_TYPE_AUDIO, PJMEDIA_TYPE_VIDEO, PJMEDIA_TYPE_APPLICATION, PJMEDIA_TYPE_UNKNOWN} pjmedia_type; + +typedef enum pjmedia_dir {PJMEDIA_DIR_NONE = 0, PJMEDIA_DIR_ENCODING = 1, PJMEDIA_DIR_CAPTURE = PJMEDIA_DIR_ENCODING, PJMEDIA_DIR_DECODING = 2, PJMEDIA_DIR_PLAYBACK = PJMEDIA_DIR_DECODING, PJMEDIA_DIR_RENDER = PJMEDIA_DIR_DECODING, PJMEDIA_DIR_ENCODING_DECODING = 3, PJMEDIA_DIR_CAPTURE_PLAYBACK = PJMEDIA_DIR_ENCODING_DECODING, PJMEDIA_DIR_CAPTURE_RENDER = PJMEDIA_DIR_ENCODING_DECODING} pjmedia_dir; + +typedef enum pjmedia_tp_proto {PJMEDIA_TP_PROTO_NONE = 0, PJMEDIA_TP_PROTO_RTP_AVP, PJMEDIA_TP_PROTO_RTP_SAVP, PJMEDIA_TP_PROTO_UNKNOWN} pjmedia_tp_proto; + +typedef enum pjmedia_format_id {PJMEDIA_FORMAT_L16 = 0, PJMEDIA_FORMAT_PCM = PJMEDIA_FORMAT_L16, PJMEDIA_FORMAT_PCMA = ((('W' << 24) | ('A' << 16)) | ('L' << 8)) | 'A', PJMEDIA_FORMAT_ALAW = PJMEDIA_FORMAT_PCMA, PJMEDIA_FORMAT_PCMU = ((('W' << 24) | ('A' << 16)) | ('L' << 8)) | 'u', PJMEDIA_FORMAT_ULAW = PJMEDIA_FORMAT_PCMU, PJMEDIA_FORMAT_AMR = ((('R' << 24) | ('M' << 16)) | ('A' << 8)) | ' ', PJMEDIA_FORMAT_G729 = ((('9' << 24) | ('2' << 16)) | ('7' << 8)) | 'G', PJMEDIA_FORMAT_ILBC = ((('C' << 24) | ('B' << 16)) | ('L' << 8)) | 'I', PJMEDIA_FORMAT_RGB24 = ((('3' << 24) | ('B' << 16)) | ('G' << 8)) | 'R', PJMEDIA_FORMAT_RGBA = ((('A' << 24) | ('B' << 16)) | ('G' << 8)) | 'R', PJMEDIA_FORMAT_BGRA = ((('A' << 24) | ('R' << 16)) | ('G' << 8)) | 'B', PJMEDIA_FORMAT_RGB32 = PJMEDIA_FORMAT_RGBA, PJMEDIA_FORMAT_DIB = (((' ' << 24) | ('B' << 16)) | ('I' << 8)) | 'D', PJMEDIA_FORMAT_GBRP = ((('P' << 24) | ('R' << 16)) | ('B' << 8)) | 'G', PJMEDIA_FORMAT_AYUV = ((('V' << 24) | ('U' << 16)) | ('Y' << 8)) | 'A', PJMEDIA_FORMAT_YUY2 = ((('2' << 24) | ('Y' << 16)) | ('U' << 8)) | 'Y', PJMEDIA_FORMAT_UYVY = ((('Y' << 24) | ('V' << 16)) | ('Y' << 8)) | 'U', PJMEDIA_FORMAT_YVYU = ((('U' << 24) | ('Y' << 16)) | ('V' << 8)) | 'Y', PJMEDIA_FORMAT_I420 = ((('0' << 24) | ('2' << 16)) | ('4' << 8)) | 'I', PJMEDIA_FORMAT_IYUV = PJMEDIA_FORMAT_I420, PJMEDIA_FORMAT_YV12 = ((('2' << 24) | ('1' << 16)) | ('V' << 8)) | 'Y', PJMEDIA_FORMAT_I422 = ((('2' << 24) | ('2' << 16)) | ('4' << 8)) | 'I', PJMEDIA_FORMAT_I420JPEG = ((('0' << 24) | ('2' << 16)) | ('4' << 8)) | 'J', PJMEDIA_FORMAT_I422JPEG = ((('2' << 24) | ('2' << 16)) | ('4' << 8)) | 'J', PJMEDIA_FORMAT_H261 = ((('1' << 24) | ('6' << 16)) | ('2' << 8)) | 'H', PJMEDIA_FORMAT_H263 = ((('3' << 24) | ('6' << 16)) | ('2' << 8)) | 'H', PJMEDIA_FORMAT_H263P = ((('3' << 24) | ('6' << 16)) | ('2' << 8)) | 'P', PJMEDIA_FORMAT_H264 = ((('4' << 24) | ('6' << 16)) | ('2' << 8)) | 'H', PJMEDIA_FORMAT_MJPEG = ((('G' << 24) | ('P' << 16)) | ('J' << 8)) | 'M', PJMEDIA_FORMAT_MPEG1VIDEO = ((('V' << 24) | ('1' << 16)) | ('P' << 8)) | 'M', PJMEDIA_FORMAT_MPEG2VIDEO = ((('V' << 24) | ('2' << 16)) | ('P' << 8)) | 'M', PJMEDIA_FORMAT_MPEG4 = ((('4' << 24) | ('G' << 16)) | ('P' << 8)) | 'M'} pjmedia_format_id; + +typedef enum pjsip_cred_data_type {PJSIP_CRED_DATA_PLAIN_PASSWD = 0, PJSIP_CRED_DATA_DIGEST = 1, PJSIP_CRED_DATA_EXT_AKA = 16} pjsip_cred_data_type; + +typedef enum pjsip_dialog_cap_status {PJSIP_DIALOG_CAP_UNSUPPORTED = 0, PJSIP_DIALOG_CAP_SUPPORTED = 1, PJSIP_DIALOG_CAP_UNKNOWN = 2} pjsip_dialog_cap_status; + +typedef enum pjsip_event_id_e {PJSIP_EVENT_UNKNOWN, PJSIP_EVENT_TIMER, PJSIP_EVENT_TX_MSG, PJSIP_EVENT_RX_MSG, PJSIP_EVENT_TRANSPORT_ERROR, PJSIP_EVENT_TSX_STATE, PJSIP_EVENT_USER} pjsip_event_id_e; + +typedef enum pjsip_status_code {PJSIP_SC_TRYING = 100, PJSIP_SC_RINGING = 180, PJSIP_SC_CALL_BEING_FORWARDED = 181, PJSIP_SC_QUEUED = 182, PJSIP_SC_PROGRESS = 183, PJSIP_SC_OK = 200, PJSIP_SC_ACCEPTED = 202, PJSIP_SC_MULTIPLE_CHOICES = 300, PJSIP_SC_MOVED_PERMANENTLY = 301, PJSIP_SC_MOVED_TEMPORARILY = 302, PJSIP_SC_USE_PROXY = 305, PJSIP_SC_ALTERNATIVE_SERVICE = 380, PJSIP_SC_BAD_REQUEST = 400, PJSIP_SC_UNAUTHORIZED = 401, PJSIP_SC_PAYMENT_REQUIRED = 402, PJSIP_SC_FORBIDDEN = 403, PJSIP_SC_NOT_FOUND = 404, PJSIP_SC_METHOD_NOT_ALLOWED = 405, PJSIP_SC_NOT_ACCEPTABLE = 406, PJSIP_SC_PROXY_AUTHENTICATION_REQUIRED = 407, PJSIP_SC_REQUEST_TIMEOUT = 408, PJSIP_SC_GONE = 410, PJSIP_SC_REQUEST_ENTITY_TOO_LARGE = 413, PJSIP_SC_REQUEST_URI_TOO_LONG = 414, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE = 415, PJSIP_SC_UNSUPPORTED_URI_SCHEME = 416, PJSIP_SC_BAD_EXTENSION = 420, PJSIP_SC_EXTENSION_REQUIRED = 421, PJSIP_SC_SESSION_TIMER_TOO_SMALL = 422, PJSIP_SC_INTERVAL_TOO_BRIEF = 423, PJSIP_SC_TEMPORARILY_UNAVAILABLE = 480, PJSIP_SC_CALL_TSX_DOES_NOT_EXIST = 481, PJSIP_SC_LOOP_DETECTED = 482, PJSIP_SC_TOO_MANY_HOPS = 483, PJSIP_SC_ADDRESS_INCOMPLETE = 484, PJSIP_AC_AMBIGUOUS = 485, PJSIP_SC_BUSY_HERE = 486, PJSIP_SC_REQUEST_TERMINATED = 487, PJSIP_SC_NOT_ACCEPTABLE_HERE = 488, PJSIP_SC_BAD_EVENT = 489, PJSIP_SC_REQUEST_UPDATED = 490, PJSIP_SC_REQUEST_PENDING = 491, PJSIP_SC_UNDECIPHERABLE = 493, PJSIP_SC_INTERNAL_SERVER_ERROR = 500, PJSIP_SC_NOT_IMPLEMENTED = 501, PJSIP_SC_BAD_GATEWAY = 502, PJSIP_SC_SERVICE_UNAVAILABLE = 503, PJSIP_SC_SERVER_TIMEOUT = 504, PJSIP_SC_VERSION_NOT_SUPPORTED = 505, PJSIP_SC_MESSAGE_TOO_LARGE = 513, PJSIP_SC_PRECONDITION_FAILURE = 580, PJSIP_SC_BUSY_EVERYWHERE = 600, PJSIP_SC_DECLINE = 603, PJSIP_SC_DOES_NOT_EXIST_ANYWHERE = 604, PJSIP_SC_NOT_ACCEPTABLE_ANYWHERE = 606, PJSIP_SC_TSX_TIMEOUT = PJSIP_SC_REQUEST_TIMEOUT, PJSIP_SC_TSX_TRANSPORT_ERROR = PJSIP_SC_SERVICE_UNAVAILABLE, PJSIP_SC__force_32bit = 0x7FFFFFFF} pjsip_status_code; + +typedef enum pjsip_hdr_e {PJSIP_H_ACCEPT, PJSIP_H_ACCEPT_ENCODING_UNIMP, PJSIP_H_ACCEPT_LANGUAGE_UNIMP, PJSIP_H_ALERT_INFO_UNIMP, PJSIP_H_ALLOW, PJSIP_H_AUTHENTICATION_INFO_UNIMP, PJSIP_H_AUTHORIZATION, PJSIP_H_CALL_ID, PJSIP_H_CALL_INFO_UNIMP, PJSIP_H_CONTACT, PJSIP_H_CONTENT_DISPOSITION_UNIMP, PJSIP_H_CONTENT_ENCODING_UNIMP, PJSIP_H_CONTENT_LANGUAGE_UNIMP, PJSIP_H_CONTENT_LENGTH, PJSIP_H_CONTENT_TYPE, PJSIP_H_CSEQ, PJSIP_H_DATE_UNIMP, PJSIP_H_ERROR_INFO_UNIMP, PJSIP_H_EXPIRES, PJSIP_H_FROM, PJSIP_H_IN_REPLY_TO_UNIMP, PJSIP_H_MAX_FORWARDS, PJSIP_H_MIME_VERSION_UNIMP, PJSIP_H_MIN_EXPIRES, PJSIP_H_ORGANIZATION_UNIMP, PJSIP_H_PRIORITY_UNIMP, PJSIP_H_PROXY_AUTHENTICATE, PJSIP_H_PROXY_AUTHORIZATION, PJSIP_H_PROXY_REQUIRE_UNIMP, PJSIP_H_RECORD_ROUTE, PJSIP_H_REPLY_TO_UNIMP, PJSIP_H_REQUIRE, PJSIP_H_RETRY_AFTER, PJSIP_H_ROUTE, PJSIP_H_SERVER_UNIMP, PJSIP_H_SUBJECT_UNIMP, PJSIP_H_SUPPORTED, PJSIP_H_TIMESTAMP_UNIMP, PJSIP_H_TO, PJSIP_H_UNSUPPORTED, PJSIP_H_USER_AGENT_UNIMP, PJSIP_H_VIA, PJSIP_H_WARNING_UNIMP, PJSIP_H_WWW_AUTHENTICATE, PJSIP_H_OTHER} pjsip_hdr_e; + +typedef enum pjsip_transport_type_e {PJSIP_TRANSPORT_UNSPECIFIED, PJSIP_TRANSPORT_UDP, PJSIP_TRANSPORT_TCP, PJSIP_TRANSPORT_TLS, PJSIP_TRANSPORT_SCTP, PJSIP_TRANSPORT_LOOP, PJSIP_TRANSPORT_LOOP_DGRAM, PJSIP_TRANSPORT_START_OTHER, PJSIP_TRANSPORT_IPV6 = 128, PJSIP_TRANSPORT_UDP6 = PJSIP_TRANSPORT_UDP + PJSIP_TRANSPORT_IPV6, PJSIP_TRANSPORT_TCP6 = PJSIP_TRANSPORT_TCP + PJSIP_TRANSPORT_IPV6, PJSIP_TRANSPORT_TLS6 = PJSIP_TRANSPORT_TLS + PJSIP_TRANSPORT_IPV6} pjsip_transport_type_e; + +enum pjsip_transport_flags_e {PJSIP_TRANSPORT_RELIABLE = 1, PJSIP_TRANSPORT_SECURE = 2, PJSIP_TRANSPORT_DATAGRAM = 4}; + +typedef enum pjsip_transport_state {PJSIP_TP_STATE_CONNECTED, PJSIP_TP_STATE_DISCONNECTED} pjsip_transport_state; + +typedef enum pjsip_ssl_method {PJSIP_SSL_UNSPECIFIED_METHOD = 0, PJSIP_TLSV1_METHOD = 31, PJSIP_SSLV2_METHOD = 20, PJSIP_SSLV3_METHOD = 30, PJSIP_SSLV23_METHOD = 23} pjsip_ssl_method; + +typedef enum pjsip_tsx_state_e {PJSIP_TSX_STATE_NULL, PJSIP_TSX_STATE_CALLING, PJSIP_TSX_STATE_TRYING, PJSIP_TSX_STATE_PROCEEDING, PJSIP_TSX_STATE_COMPLETED, PJSIP_TSX_STATE_CONFIRMED, PJSIP_TSX_STATE_TERMINATED, PJSIP_TSX_STATE_DESTROYED, PJSIP_TSX_STATE_MAX} pjsip_tsx_state_e; + +typedef enum pjsip_role_e {PJSIP_ROLE_UAC, PJSIP_ROLE_UAS, PJSIP_UAC_ROLE = PJSIP_ROLE_UAC, PJSIP_UAS_ROLE = PJSIP_ROLE_UAS} pjsip_role_e; + +typedef enum pjsip_redirect_op {PJSIP_REDIRECT_REJECT, PJSIP_REDIRECT_ACCEPT, PJSIP_REDIRECT_ACCEPT_REPLACE, PJSIP_REDIRECT_PENDING, PJSIP_REDIRECT_STOP} pjsip_redirect_op; + +typedef enum pjrpid_activity {PJRPID_ACTIVITY_UNKNOWN, PJRPID_ACTIVITY_AWAY, PJRPID_ACTIVITY_BUSY} pjrpid_activity; + +typedef enum pjsip_evsub_state {PJSIP_EVSUB_STATE_NULL, PJSIP_EVSUB_STATE_SENT, PJSIP_EVSUB_STATE_ACCEPTED, PJSIP_EVSUB_STATE_PENDING, PJSIP_EVSUB_STATE_ACTIVE, PJSIP_EVSUB_STATE_TERMINATED, PJSIP_EVSUB_STATE_UNKNOWN} pjsip_evsub_state; + +typedef enum pjsip_inv_state {PJSIP_INV_STATE_NULL, PJSIP_INV_STATE_CALLING, PJSIP_INV_STATE_INCOMING, PJSIP_INV_STATE_EARLY, PJSIP_INV_STATE_CONNECTING, PJSIP_INV_STATE_CONFIRMED, PJSIP_INV_STATE_DISCONNECTED} pjsip_inv_state; + +enum pjsua_invalid_id_const_ {PJSUA_INVALID_ID = -1}; + +typedef enum pjsua_state {PJSUA_STATE_NULL, PJSUA_STATE_CREATED, PJSUA_STATE_INIT, PJSUA_STATE_STARTING, PJSUA_STATE_RUNNING, PJSUA_STATE_CLOSING} pjsua_state; + +typedef enum pjsua_stun_use {PJSUA_STUN_USE_DEFAULT, PJSUA_STUN_USE_DISABLED} pjsua_stun_use; + +typedef enum pjsua_call_hold_type {PJSUA_CALL_HOLD_TYPE_RFC3264, PJSUA_CALL_HOLD_TYPE_RFC2543} pjsua_call_hold_type; + +typedef int pjsua_acc_id; + +typedef enum pjsua_destroy_flag {PJSUA_DESTROY_NO_RX_MSG = 1, PJSUA_DESTROY_NO_TX_MSG = 2, PJSUA_DESTROY_NO_NETWORK = PJSUA_DESTROY_NO_RX_MSG | PJSUA_DESTROY_NO_TX_MSG} pjsua_destroy_flag; + +typedef enum pjsua_100rel_use {PJSUA_100REL_NOT_USED, PJSUA_100REL_MANDATORY, PJSUA_100REL_OPTIONAL} pjsua_100rel_use; + +typedef enum pjsua_sip_timer_use {PJSUA_SIP_TIMER_INACTIVE, PJSUA_SIP_TIMER_OPTIONAL, PJSUA_SIP_TIMER_REQUIRED, PJSUA_SIP_TIMER_ALWAYS} pjsua_sip_timer_use; + +typedef enum pjsua_ipv6_use {PJSUA_IPV6_DISABLED, PJSUA_IPV6_ENABLED} pjsua_ipv6_use; + +typedef enum pjsua_buddy_status {PJSUA_BUDDY_STATUS_UNKNOWN, PJSUA_BUDDY_STATUS_ONLINE, PJSUA_BUDDY_STATUS_OFFLINE} pjsua_buddy_status; + +typedef enum pjsua_call_media_status {PJSUA_CALL_MEDIA_NONE, PJSUA_CALL_MEDIA_ACTIVE, PJSUA_CALL_MEDIA_LOCAL_HOLD, PJSUA_CALL_MEDIA_REMOTE_HOLD, PJSUA_CALL_MEDIA_ERROR} pjsua_call_media_status; + +typedef int pjsua_vid_win_id; + +typedef int pjsua_call_id; + +typedef enum pjsua_med_tp_st {PJSUA_MED_TP_NULL, PJSUA_MED_TP_CREATING, PJSUA_MED_TP_IDLE, PJSUA_MED_TP_INIT, PJSUA_MED_TP_RUNNING, PJSUA_MED_TP_DISABLED} pjsua_med_tp_st; + +typedef enum pjsua_call_vid_strm_op {PJSUA_CALL_VID_STRM_NO_OP, PJSUA_CALL_VID_STRM_ADD, PJSUA_CALL_VID_STRM_REMOVE, PJSUA_CALL_VID_STRM_CHANGE_DIR, PJSUA_CALL_VID_STRM_CHANGE_CAP_DEV, PJSUA_CALL_VID_STRM_START_TRANSMIT, PJSUA_CALL_VID_STRM_STOP_TRANSMIT, PJSUA_CALL_VID_STRM_SEND_KEYFRAME} pjsua_call_vid_strm_op; + +typedef enum pjsua_vid_req_keyframe_method {PJSUA_VID_REQ_KEYFRAME_SIP_INFO = 1, PJSUA_VID_REQ_KEYFRAME_RTCP_PLI = 2} pjsua_vid_req_keyframe_method; + +typedef enum pjsua_call_flag {PJSUA_CALL_UNHOLD = 1, PJSUA_CALL_UPDATE_CONTACT = 2, PJSUA_CALL_INCLUDE_DISABLED_MEDIA = 4} pjsua_call_flag; + +typedef enum pjsua_create_media_transport_flag {PJSUA_MED_TP_CLOSE_MEMBER = 1} pjsua_create_media_transport_flag; + diff --git a/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/symbols.lst b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/symbols.lst new file mode 100644 index 0000000000000000000000000000000000000000..685c37132ae98afc3829d516127914542e158d91 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/swig/symbols.lst @@ -0,0 +1,34 @@ +pj/types.h pj_status_t pj_constants_ pj_uint8_t pj_int32_t pj_uint32_t pj_uint16_t +pj/file_io.h pj_file_access +pj/log.h pj_log_decoration +pj/sock_qos.h pj_qos_type pj_qos_flag pj_qos_wmm_prio pj_qos_params +pj/ssl_sock.h pj_ssl_cipher + +pjnath/nat_detect.h pj_stun_nat_type +pjnath/turn_session.h pj_turn_tp_type + +pjmedia/event.h pjmedia_event_type +pjmedia/transport_srtp.h pjmedia_srtp_use +pjmedia/vid_stream.h pjmedia_vid_stream_rc_method +pjmedia-videodev/videodev.h pjmedia_vid_dev_index pjmedia_vid_dev_std_index +pjmedia-audiodev/audiodev.h pjmedia_aud_dev_route pjmedia_aud_dev_cap +pjmedia/wav_port.h pjmedia_file_writer_option pjmedia_file_player_option +pjmedia/types.h pjmedia_type pjmedia_dir pjmedia_tp_proto +pjmedia/format.h pjmedia_format_id + +pjsip/sip_auth.h pjsip_cred_data_type +pjsip/sip_dialog.h pjsip_dialog_cap_status +pjsip/sip_event.h pjsip_event_id_e +pjsip/sip_msg.h pjsip_status_code pjsip_hdr_e +pjsip/sip_transport.h pjsip_transport_type_e pjsip_transport_flags_e pjsip_transport_state +pjsip/sip_transport_tls.h pjsip_ssl_method +pjsip/sip_transaction.h pjsip_tsx_state_e +pjsip/sip_types.h pjsip_role_e +pjsip/sip_util.h pjsip_redirect_op + +pjsip-simple/rpid.h pjrpid_activity +pjsip-simple/evsub.h pjsip_evsub_state + +pjsip-ua/sip_inv.h pjsip_inv_state + +pjsua-lib/pjsua.h pjsua_invalid_id_const_ pjsua_state pjsua_stun_use pjsua_call_hold_type pjsua_acc_id pjsua_destroy_flag pjsua_100rel_use pjsua_sip_timer_use pjsua_ipv6_use pjsua_buddy_status pjsua_call_media_status pjsua_vid_win_id pjsua_call_id pjsua_med_tp_st pjsua_call_vid_strm_op pjsua_vid_req_keyframe_method pjsua_call_flag pjsua_create_media_transport_flag diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symsndtest/app_main.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/symsndtest/app_main.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symsndtest/app_main.cpp rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/symsndtest/app_main.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symsndtest/main_symbian.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/symsndtest/main_symbian.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symsndtest/main_symbian.cpp rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/symsndtest/main_symbian.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symsndtest/symsndtest_reg.rss b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/symsndtest/symsndtest_reg.rss similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symsndtest/symsndtest_reg.rss rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/symsndtest/symsndtest_reg.rss diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/INSTALL.TXT b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/INSTALL.TXT similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/INSTALL.TXT rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/INSTALL.TXT diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/pj-pkgconfig.mak b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/pj-pkgconfig.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/pj-pkgconfig.mak rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/pj-pkgconfig.mak diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidgui.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidgui.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidgui.cpp rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidgui.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidgui.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidgui.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidgui.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidgui.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidgui.pro b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidgui.pro similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidgui.pro rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidgui.pro diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidwin.cpp b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidwin.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidwin.cpp rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidwin.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidwin.h b/daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidwin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/vidgui/vidwin.h rename to daemon/libs/pjproject-2.2.1/pjsip-apps/src/vidgui/vidwin.h diff --git a/daemon/libs/pjproject-2.2.1/pjsip/build/Makefile b/daemon/libs/pjproject-2.2.1/pjsip/build/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..d2a5c2a4e397cc6d241752f855ea8a38ae07098c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/build/Makefile @@ -0,0 +1,343 @@ +# For common OSes, test's main() is defined in main.c. +# OS specific configuration may want to put it in different file. +# For example, see os-rtems.mak in current directory. +export TEST_OBJS = main.o + +include ../../build.mak +include ../../version.mak +include $(PJDIR)/build/common.mak + +export LIBDIR := ../lib +export BINDIR := ../bin + +RULES_MAK := $(PJDIR)/build/rules.mak + +PJLIB_LIB:=../../pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT) +PJLIB_UTIL_LIB:=../../pjlib-util/lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT) +PJNATH_LIB:=../../pjnath/lib/libpjnath-$(TARGET_NAME)$(LIBEXT) +PJMEDIA_LIB:=../../pjmedia/lib/libpjmedia-$(TARGET_NAME)$(LIBEXT) + +export PJSIP_LIB:=libpjsip-$(TARGET_NAME)$(LIBEXT) +export PJSIP_UA_LIB:=libpjsip-ua-$(TARGET_NAME)$(LIBEXT) +export PJSIP_SIMPLE_LIB:=libpjsip-simple-$(TARGET_NAME)$(LIBEXT) +export PJSUA_LIB_LIB:=libpjsua-$(TARGET_NAME)$(LIBEXT) +export PJSUA2_LIB_LIB=libpjsua2-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export PJSIP_SONAME := libpjsip.$(SHLIB_SUFFIX) +export PJSIP_SHLIB := $(PJSIP_SONAME).$(PJ_VERSION_MAJOR) +export PJSIP_UA_SONAME := libpjsip-ua.$(SHLIB_SUFFIX) +export PJSIP_UA_SHLIB := $(PJSIP_UA_SONAME).$(PJ_VERSION_MAJOR) +export PJSIP_SIMPLE_SONAME := libpjsip-simple.$(SHLIB_SUFFIX) +export PJSIP_SIMPLE_SHLIB := $(PJSIP_SIMPLE_SONAME).$(PJ_VERSION_MAJOR) +export PJSUA_LIB_SONAME := libpjsua.$(SHLIB_SUFFIX) +export PJSUA_LIB_SHLIB := $(PJSUA_LIB_SONAME).$(PJ_VERSION_MAJOR) +export PJSUA2_LIB_SONAME := libpjsua2.$(SHLIB_SUFFIX) +export PJSUA2_LIB_SHLIB := $(PJSUA2_LIB_SONAME).$(PJ_VERSION_MAJOR) +endif + +############################################################################### +# Gather all flags. +# +export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ + $(CFLAGS) $(CC_INC)../include \ + $(CC_INC)../../pjlib/include \ + $(CC_INC)../../pjlib-util/include \ + $(CC_INC)../../pjnath/include \ + $(CC_INC)../../pjmedia/include +export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ + $(HOST_CXXFLAGS) $(CXXFLAGS) +export _LDFLAGS := $(APP_THIRD_PARTY_LIBS) \ + $(APP_THIRD_PARTY_EXT) \ + $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(APP_LDFLAGS) $(LDFLAGS) + +############################################################################### +# Defines for building PJSIP core library +# +export PJSIP_SRCDIR = ../src/pjsip +export PJSIP_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + sip_config.o sip_multipart.o \ + sip_errno.o sip_msg.o sip_parser.o sip_tel_uri.o sip_uri.o \ + sip_endpoint.o sip_util.o sip_util_proxy.o \ + sip_resolve.o sip_transport.o sip_transport_loop.o \ + sip_transport_udp.o sip_transport_tcp.o \ + sip_transport_tls.o sip_auth_aka.o sip_auth_client.o \ + sip_auth_msg.o sip_auth_parser.o \ + sip_auth_server.o \ + sip_transaction.o sip_util_statefull.o \ + sip_dialog.o sip_ua_layer.o +export PJSIP_CFLAGS += $(_CFLAGS) +export PJSIP_CXXFLAGS += $(_CXXFLAGS) +export PJSIP_LDFLAGS += $(PJLIB_UTIL_LDLIB) \ + $(PJLIB_LDLIB) \ + $(_LDFLAGS) + +############################################################################### +# Defines for building PJSIP UA library +# +export PJSIP_UA_SRCDIR = ../src/pjsip-ua +export PJSIP_UA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + sip_inv.o sip_reg.o sip_replaces.o sip_xfer.o \ + sip_100rel.o sip_timer.o +export PJSIP_UA_CFLAGS += $(_CFLAGS) +export PJSIP_UA_CXXFLAGS += $(_CXXFLAGS) +export PJSIP_UA_LDFLAGS += $(PJSIP_SIMPLE_LDLIB) \ + $(PJSIP_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJLIB_LDLIB) \ + $(_LDFLAGS) + + +############################################################################### +# Defines for building PJSIP SIMPLE library +# +export PJSIP_SIMPLE_SRCDIR = ../src/pjsip-simple +export PJSIP_SIMPLE_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + errno.o evsub.o evsub_msg.o iscomposing.o \ + mwi.o pidf.o presence.o presence_body.o publishc.o \ + rpid.o xpidf.o +export PJSIP_SIMPLE_CFLAGS += $(_CFLAGS) +export PJSIP_SIMPLE_CXXFLAGS += $(_CXXFLAGS) +export PJSIP_SIMPLE_LDFLAGS += $(PJSIP_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJLIB_LDLIB) \ + $(_LDFLAGS) + + +############################################################################### +# Defines for building PJSUA-LIB library +# +export PJSUA_LIB_SRCDIR = ../src/pjsua-lib +export PJSUA_LIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + pjsua_acc.o pjsua_call.o pjsua_core.o \ + pjsua_im.o pjsua_media.o pjsua_pres.o \ + pjsua_dump.o pjsua_aud.o pjsua_vid.o +export PJSUA_LIB_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) +export PJSUA_LIB_CXXFLAGS += $(_CXXFLAGS) $(PJ_VIDEO_CFLAGS) +export PJSUA_LIB_LDFLAGS += $(PJSIP_UA_LDLIB) \ + $(PJSIP_SIMPLE_LDLIB) \ + $(PJSIP_LDLIB) \ + $(PJMEDIA_AUDIODEV_LDLIB) \ + $(PJMEDIA_VIDEODEV_LDLIB) \ + $(PJMEDIA_CODEC_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJNATH_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJLIB_LDLIB) \ + $(_LDFLAGS) + + +export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT + +############################################################################### +# Defines for building pjsua2 library +# +export PJSUA2_LIB_SRCDIR = ../src/pjsua2 +export PJSUA2_LIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + account.o endpoint.o json.o persistent.o types.o \ + siptypes.o call.o presence.o media.o +export PJSUA2_LIB_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) +export PJSUA2_LIB_CXXFLAGS = $(PJSUA2_LIB_CFLAGS) +export PJSUA2_LIB_LDFLAGS += $(PJSUA_LIB_LDLIB) \ + $(PJSIP_UA_LDLIB) \ + $(PJSIP_SIMPLE_LDLIB) \ + $(PJSIP_LDLIB) \ + $(PJMEDIA_AUDIODEV_LDLIB) \ + $(PJMEDIA_VIDEODEV_LDLIB) \ + $(PJMEDIA_CODEC_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJNATH_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJLIB_LDLIB) \ + $(_LDFLAGS) \ + -lstdc++ + + +############################################################################### +# Defines for building pjsua2-test application +# +export PJSUA2_TEST_SRCDIR = ../src/pjsua2-test +export PJSUA2_TEST_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + main.o +export PJSUA2_TEST_CFLAGS += $(_CFLAGS) $(PJ_VIDEO_CFLAGS) +export PJSUA2_TEST_CXXFLAGS = $(PJSUA2_LIB_CFLAGS) +export PJSUA2_TEST_LDFLAGS += $(PJ_LDXXFLAGS) $(PJ_LDXXLIBS) $(LDFLAGS) +export PJSUA2_TEST_EXE := pjsua2-test-$(TARGET_NAME)$(HOST_EXE) + +export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT + + +############################################################################### +# Defines for building test application +# +export TEST_SRCDIR = ../src/test +export TEST_OBJS += dlg_core_test.o dns_test.o msg_err_test.o \ + msg_logger.o msg_test.o multipart_test.o regc_test.o \ + test.o transport_loop_test.o transport_tcp_test.o \ + transport_test.o transport_udp_test.o \ + tsx_basic_test.o tsx_bench.o tsx_uac_test.o \ + tsx_uas_test.o txdata_test.o uri_test.o \ + inv_offer_answer_test.o +export TEST_CFLAGS += $(_CFLAGS) +export TEST_CXXFLAGS += $(_CXXFLAGS) +export TEST_LDFLAGS += $(PJSIP_LDLIB) \ + $(PJSIP_UA_LDLIB) \ + $(PJSIP_SIMPLE_LDLIB) \ + $(PJSUA_LDLIB) \ + $(PJMEDIA_CODEC_LDLIB) \ + $(PJMEDIA_VIDEODEV_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJMEDIA_AUDIODEV_LDLIB) \ + $(PJLIB_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJNATH_LDLIB) \ + $(_LDFLAGS) +export TEST_EXE := pjsip-test-$(TARGET_NAME)$(HOST_EXE) + + +export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT +############################################################################### +# Main entry +# +# +TARGETS := $(PJSIP_LIB) $(PJSIP_SONAME) \ + $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) \ + $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) \ + $(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME) \ + $(PJSUA2_LIB_LIB) $(PJSUA2_LIB_SONAME) +TARGETS_EXE := $(TEST_EXE) $(PJSUA2_TEST_EXE) + +all: $(TARGETS) $(TARGETS_EXE) + +lib: $(TARGETS) + +doc: + cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg + @if [ -n "$(WWWDIR)" ] && ! [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html" ] ; then \ + echo "Creating docs/$(PJ_VERSION)/pjsip/docs/html" ; \ + mkdir -p $(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html ; \ + fi + @if [ -n "$(WWWDIR)" ] && [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html" ] ; then \ + echo "Copying docs/$(PJ_VERSION) to $(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html.." ; \ + cp -v -a ../docs/$(PJ_VERSION)/html/* $(WWWDIR)/docs/$(PJ_VERSION)/pjsip/docs/html/ ; \ + fi + +dep: depend +distclean: realclean + +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PJSIP_LIB) $(PJSIP_SONAME) +.PHONY: $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) +.PHONY: $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) +.PHONY: $(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME) +.PHONY: $(PJSUA2_LIB_LIB) $(PJSUA2_LIB_SONAME) +.PHONY: $(TEST_EXE) +.PHONY: $(PJSUA2_TEST_EXE) + +pjsip: $(PJSIP_LIB) +$(PJSIP_SONAME): $(PJSIP_LIB) +$(PJSIP_LIB) $(PJSIP_SONAME): + $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjsip-ua: $(PJSIP_UA_LIB) +$(PJSIP_UA_SONAME): $(PJSIP_UA_LIB) +$(PJSIP_UA_LIB) $(PJSIP_UA_SONAME): $(PJSIP_LIB) $(PJSIP_SONAME) $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjsip-simple: $(PJSIP_SIMPLE_LIB) +$(PJSIP_SIMPLE_SONAME): $(PJSIP_SIMPLE_LIB) +$(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME): $(PJSIP_LIB) $(PJSIP_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjsua-lib: $(PJSUA_LIB_LIB) +$(PJSUA_LIB_SONAME): $(PJSUA_LIB_LIB) +$(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME): $(PJSIP_LIB) $(PJSIP_SONAME) $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjsua2-lib: $(PJSUA2_LIB_LIB) +$(PJSUA2_LIB_SONAME): $(PJSUA2_LIB_LIB) +$(PJSUA2_LIB_LIB) $(PJSUA2_LIB_SONAME): $(PJSUA_LIB) $(PSJUA_LIB_SONAME) $(PJSIP_LIB) $(PJSIP_SONAME) $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjsip-test: $(TEST_EXE) +$(TEST_EXE): $(PJSIP_LIB) $(PJSIP_SONAME) +$(TEST_EXE): $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) +$(TEST_EXE): $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) +$(TEST_EXE): $(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME) +$(TEST_EXE): + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) + +pjsua2-test: $(PJSUA2_TEST_EXE) +$(PJSUA2_TEST_EXE): $(PJSIP_LIB) $(PJSIP_SONAME) +$(PJSUA2_TEST_EXE): $(PJSIP_UA_LIB) $(PJSIP_UA_SONAME) +$(PJSUA2_TEST_EXE): $(PJSIP_SIMPLE_LIB) $(PJSIP_SIMPLE_SONAME) +$(PJSUA2_TEST_EXE): $(PJSUA_LIB_LIB) $(PJSUA_LIB_SONAME) +$(PJSUA2_TEST_EXE): $(PJSUA2_LIB_LIB) $(PJSUA2_LIB_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJSUA2_TEST app=pjsua2-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) + +.PHONY: pjsip.ko +pjsip.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +.PHONY: pjsip-ua.ko +pjsip-ua.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +.PHONY: pjsip-simple.ko +pjsip-simple.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +.PHONY: pjsua-lib.ko +pjsua-lib.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +.PHONY: pjsua2-lib.ko +pjsua2-lib.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +clean: + $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $@ + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA2_TEST app=pjsua2-test $@ + +depend: + $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $@ + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA2_TEST app=pjsua2-test $@ + echo '$(BINDIR)/$(TEST_EXE): $(PJMEDIA_LIB) $(LIBDIR)/$(PJSUA_LIB_LIB) $(LIBDIR)/$(PJSIP_SIMPLE_LIB) $(LIBDIR)/$(PJSIP_UA_LIB) $(LIBDIR)/$(PJSIP_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjsip-test-$(TARGET_NAME).depend + echo '$(BINDIR)/$(PJSUA2_TEST_EXE): $(LIBDIR)/$(PJSUA2_LIB_LIB) $(PJMEDIA_LIB) $(LIBDIR)/$(PJSUA_LIB_LIB) $(LIBDIR)/$(PJSIP_SIMPLE_LIB) $(LIBDIR)/$(PJSIP_UA_LIB) $(LIBDIR)/$(PJSIP_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjsua2-test-$(TARGET_NAME).depend + +realclean: + $(subst @@,$(subst /,$(HOST_PSEP),.pjsip-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjsip-ua-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjsip-simple-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjsua-lib-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjsua2-lib-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjsua2-test-$(TARGET_NAME).depend),$(HOST_RMR)) + $(MAKE) -f $(RULES_MAK) APP=PJSIP app=pjsip $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_UA app=pjsip-ua $@ + $(MAKE) -f $(RULES_MAK) APP=PJSIP_SIMPLE app=pjsip-simple $@ + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjsip-test $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA_LIB app=pjsua-lib $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA2_LIB app=pjsua2-lib $@ + $(MAKE) -f $(RULES_MAK) APP=PJSUA2_TEST app=pjsua2-test $@ + + + diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/os-auto.mak.in b/daemon/libs/pjproject-2.2.1/pjsip/build/os-auto.mak.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/build/os-auto.mak.in rename to daemon/libs/pjproject-2.2.1/pjsip/build/os-auto.mak.in diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/os-rtems.mak b/daemon/libs/pjproject-2.2.1/pjsip/build/os-rtems.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/build/os-rtems.mak rename to daemon/libs/pjproject-2.2.1/pjsip/build/os-rtems.mak diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_core.vcproj b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_core.vcproj similarity index 69% rename from daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_core.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_core.vcproj index 7239c8883e0718da5d05087d6892c411d32e9db0..758c298ef3864a80d1486fcf0232d0d6b8e114a8 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_core.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_core.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -223,11 +226,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -243,10 +247,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -262,7 +266,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -274,24 +278,74 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + </Configuration> + <Configuration + Name="Debug|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" /> - <DebuggerTool + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -328,7 +382,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -355,9 +409,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -394,7 +448,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -421,11 +475,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -441,13 +496,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -460,7 +516,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -472,22 +528,14 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Win32" + Name="Debug-Static|Win32" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" @@ -545,7 +593,7 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -611,7 +659,7 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -677,11 +725,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -697,13 +746,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -716,7 +766,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -728,26 +778,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -766,7 +809,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -782,7 +824,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -794,24 +836,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -848,7 +882,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -875,9 +909,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -914,7 +948,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -941,9 +975,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -962,6 +996,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -999,11 +1034,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1022,7 +1058,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1038,7 +1073,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1050,24 +1085,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1104,7 +1131,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1131,9 +1158,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1170,7 +1197,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1197,11 +1224,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1217,13 +1245,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1236,7 +1265,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1248,26 +1277,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1286,7 +1308,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1302,7 +1323,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1314,24 +1335,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1368,7 +1381,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1395,12 +1408,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1419,6 +1431,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1434,7 +1447,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1446,17 +1459,84 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> - </Configuration> - <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > <Tool @@ -1492,7 +1572,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1519,9 +1599,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1558,7 +1638,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1585,9 +1665,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1624,7 +1704,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1651,9 +1731,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1690,7 +1770,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1717,9 +1797,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1756,7 +1836,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1783,9 +1863,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1822,7 +1902,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1849,12 +1929,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1873,6 +1952,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1888,7 +1968,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1900,16 +1980,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1946,7 +2034,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1973,9 +2061,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2012,7 +2100,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2039,9 +2127,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2078,7 +2166,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2105,9 +2193,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2144,7 +2232,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2171,9 +2259,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2210,7 +2298,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2237,9 +2325,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2276,7 +2364,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2303,12 +2391,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2327,6 +2414,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2342,7 +2430,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2354,16 +2442,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2400,7 +2496,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2427,9 +2523,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2466,7 +2562,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2493,9 +2589,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2559,9 +2655,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2625,9 +2721,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2691,9 +2787,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2756,51 +2852,1491 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > - <Filter - Name="Base (.c)" - > - <File - RelativePath="..\src\pjsip\sip_errno.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-core-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <Filter + Name="Base (.c)" + > + <File + RelativePath="..\src\pjsip\sip_errno.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Messaging and Parsing (.c)" + > + <File + RelativePath="..\src\pjsip\sip_msg.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjsip\sip_multipart.c" + > + </File> + <File + RelativePath="..\src\pjsip\sip_parser.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjsip\sip_tel_uri.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjsip\sip_uri.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Core (.c)" + > + <File + RelativePath="..\src\pjsip\sip_config.c" + > + </File> + <File + RelativePath="..\src\pjsip\sip_endpoint.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjsip\sip_util.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjsip\sip_util_proxy.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Transport Layer (.c)" + > + <File + RelativePath="..\src\pjsip\sip_resolve.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjsip\sip_transport.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjsip\sip_transport_loop.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" @@ -2815,6 +4351,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2824,13 +4369,18 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> - </Filter> - <Filter - Name="Messaging and Parsing (.c)" - > <File - RelativePath="..\src\pjsip\sip_msg.c" + RelativePath="..\src\pjsip\sip_transport_tcp.c" > <FileConfiguration Name="Release|Win32" @@ -2842,7 +4392,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2851,7 +4401,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -2860,7 +4410,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2869,7 +4419,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2878,7 +4428,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2886,16 +4436,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip\sip_multipart.c" - > - </File> - <File - RelativePath="..\src\pjsip\sip_parser.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2904,7 +4446,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2913,7 +4455,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2922,7 +4464,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2931,7 +4473,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2940,7 +4482,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2950,7 +4492,11 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjsip\sip_tel_uri.c" + RelativePath="..\src\pjsip\sip_transport_tls.c" + > + </File> + <File + RelativePath="..\src\pjsip\sip_transport_udp.c" > <FileConfiguration Name="Release|Win32" @@ -2962,7 +4508,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2971,7 +4517,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -2980,7 +4526,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2989,7 +4535,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2998,7 +4544,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3006,12 +4552,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip\sip_uri.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3020,7 +4562,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3029,7 +4571,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3038,7 +4580,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3047,7 +4589,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3056,7 +4598,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3067,14 +4609,14 @@ </File> </Filter> <Filter - Name="Core (.c)" + Name="Authentication (.c)" > <File - RelativePath="..\src\pjsip\sip_config.c" + RelativePath="..\src\pjsip\sip_auth_aka.c" > </File> <File - RelativePath="..\src\pjsip\sip_endpoint.c" + RelativePath="..\src\pjsip\sip_auth_client.c" > <FileConfiguration Name="Release|Win32" @@ -3086,7 +4628,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3095,7 +4637,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3104,7 +4646,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3113,7 +4655,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3122,7 +4664,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3130,12 +4672,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip\sip_util.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3144,7 +4682,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3153,7 +4691,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3162,7 +4700,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3171,7 +4709,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3180,7 +4718,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3190,7 +4728,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjsip\sip_util_proxy.c" + RelativePath="..\src\pjsip\sip_auth_msg.c" > <FileConfiguration Name="Release|Win32" @@ -3202,7 +4740,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3211,7 +4749,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3220,7 +4758,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3229,7 +4767,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3238,7 +4776,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3246,16 +4784,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - </Filter> - <Filter - Name="Transport Layer (.c)" - > - <File - RelativePath="..\src\pjsip\sip_resolve.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3264,7 +4794,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3273,7 +4803,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3282,7 +4812,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3291,7 +4821,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3300,7 +4830,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3310,7 +4840,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjsip\sip_transport.c" + RelativePath="..\src\pjsip\sip_auth_parser.c" > <FileConfiguration Name="Release|Win32" @@ -3322,7 +4852,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3331,7 +4861,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3340,7 +4870,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3349,7 +4879,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3358,7 +4888,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3366,12 +4896,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip\sip_transport_loop.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3380,7 +4906,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3389,7 +4915,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3398,7 +4924,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3407,7 +4933,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3416,7 +4942,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3426,7 +4952,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjsip\sip_transport_tcp.c" + RelativePath="..\src\pjsip\sip_auth_server.c" > <FileConfiguration Name="Release|Win32" @@ -3438,7 +4964,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3447,7 +4973,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3456,7 +4982,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3465,7 +4991,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3474,7 +5000,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3482,16 +5008,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip\sip_transport_tls.c" - > - </File> - <File - RelativePath="..\src\pjsip\sip_transport_udp.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3500,7 +5018,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3509,7 +5027,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3518,7 +5036,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3527,7 +5045,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3536,7 +5054,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3547,14 +5065,10 @@ </File> </Filter> <Filter - Name="Authentication (.c)" + Name="Transaction Layer (.c)" > <File - RelativePath="..\src\pjsip\sip_auth_aka.c" - > - </File> - <File - RelativePath="..\src\pjsip\sip_auth_client.c" + RelativePath="..\src\pjsip\sip_transaction.c" > <FileConfiguration Name="Release|Win32" @@ -3566,7 +5080,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3575,7 +5089,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3584,7 +5098,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3593,7 +5107,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3602,7 +5116,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3610,12 +5124,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip\sip_auth_msg.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3624,7 +5134,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3633,7 +5143,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3642,7 +5152,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3651,7 +5161,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3660,7 +5170,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3670,7 +5180,7 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjsip\sip_auth_parser.c" + RelativePath="..\src\pjsip\sip_util_statefull.c" > <FileConfiguration Name="Release|Win32" @@ -3682,7 +5192,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3691,7 +5201,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3700,7 +5210,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3709,7 +5219,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3718,7 +5228,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3726,12 +5236,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip\sip_auth_server.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3740,7 +5246,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3749,7 +5255,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3758,7 +5264,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3767,7 +5273,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3776,7 +5282,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3787,10 +5293,10 @@ </File> </Filter> <Filter - Name="Transaction Layer (.c)" + Name="UA Layer (.c)" > <File - RelativePath="..\src\pjsip\sip_transaction.c" + RelativePath="..\src\pjsip\sip_dialog.c" > <FileConfiguration Name="Release|Win32" @@ -3802,7 +5308,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3811,7 +5317,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3820,7 +5326,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3829,7 +5335,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3838,7 +5344,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3846,12 +5352,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip\sip_util_statefull.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3860,7 +5362,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3869,7 +5371,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3878,7 +5380,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3887,7 +5389,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3896,7 +5398,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3905,12 +5407,8 @@ /> </FileConfiguration> </File> - </Filter> - <Filter - Name="UA Layer (.c)" - > <File - RelativePath="..\src\pjsip\sip_dialog.c" + RelativePath="..\src\pjsip\sip_ua_layer.c" > <FileConfiguration Name="Release|Win32" @@ -3922,7 +5420,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3931,7 +5429,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3940,7 +5438,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3949,7 +5447,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3958,7 +5456,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3966,12 +5464,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip\sip_ua_layer.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3980,7 +5474,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3989,7 +5483,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3998,7 +5492,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4007,7 +5501,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4016,7 +5510,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_simple.vcproj b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_simple.vcproj similarity index 75% rename from daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_simple.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_simple.vcproj index f2504c824ebd52babeaad0d9f5df21f6785d1cd6..a4782149d60b6b17fc1d101ce3eb2cfbd7c2f664 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_simple.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_simple.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -91,9 +94,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -130,7 +133,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -157,9 +160,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -196,7 +199,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -223,11 +226,12 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -243,13 +247,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -262,7 +267,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -274,26 +279,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -312,7 +310,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -328,7 +325,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -340,24 +337,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -394,7 +383,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -421,9 +410,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -460,7 +449,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -487,9 +476,9 @@ /> </Configuration> <Configuration - Name="Release|Win32" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -508,6 +497,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -545,11 +535,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -568,7 +559,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -584,7 +574,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -596,24 +586,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -650,7 +632,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -677,9 +659,9 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -716,7 +698,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -743,11 +725,12 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -763,13 +746,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -782,7 +766,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -794,26 +778,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -832,7 +809,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -848,7 +824,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -860,24 +836,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -914,7 +882,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -941,12 +909,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -965,6 +932,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -980,7 +948,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -992,18 +960,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1019,10 +996,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1038,7 +1015,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1050,26 +1027,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1088,7 +1058,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1104,7 +1073,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1116,24 +1085,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1197,9 +1158,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1263,11 +1224,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1283,13 +1245,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1302,7 +1265,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1314,26 +1277,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1352,7 +1308,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1368,7 +1323,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1380,27 +1335,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1419,6 +1365,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1434,7 +1381,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1446,16 +1393,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1492,7 +1447,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1519,9 +1474,68 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1558,7 +1572,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1585,9 +1599,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1624,7 +1638,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1651,9 +1665,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1690,7 +1704,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1717,9 +1731,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1756,7 +1770,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1783,9 +1797,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1822,7 +1836,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1849,12 +1863,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1873,6 +1886,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1888,7 +1902,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1900,16 +1914,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1946,7 +1968,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1973,9 +1995,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2012,7 +2034,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2039,9 +2061,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2078,7 +2100,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2105,9 +2127,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2144,7 +2166,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2171,9 +2193,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2237,9 +2259,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2303,12 +2325,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2327,6 +2348,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2342,7 +2364,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2354,16 +2376,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2400,7 +2430,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2427,9 +2457,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2466,7 +2496,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2493,9 +2523,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2532,7 +2562,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2559,9 +2589,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2598,7 +2628,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2625,9 +2655,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2664,7 +2694,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2691,9 +2721,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2730,7 +2760,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2756,46 +2786,645 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > - <File - RelativePath="..\src\pjsip-simple\errno.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib-util/include,../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-simple-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\pjsip-simple\errno.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjsip-simple\evsub.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\src\pjsip-simple\evsub_msg.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2804,7 +3433,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2821,9 +3450,18 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File - RelativePath="..\src\pjsip-simple\evsub.c" + RelativePath="..\src\pjsip-simple\iscomposing.c" > <FileConfiguration Name="Debug|Win32" @@ -2835,7 +3473,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2844,7 +3482,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -2853,7 +3491,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2862,7 +3500,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2871,7 +3509,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2879,12 +3517,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip-simple\evsub_msg.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2893,7 +3527,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2902,7 +3536,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2911,7 +3545,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2920,7 +3554,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2929,7 +3563,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2939,7 +3573,11 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjsip-simple\iscomposing.c" + RelativePath="..\src\pjsip-simple\mwi.c" + > + </File> + <File + RelativePath="..\src\pjsip-simple\pidf.c" > <FileConfiguration Name="Debug|Win32" @@ -2951,7 +3589,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2960,7 +3598,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -2969,7 +3607,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2978,7 +3616,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2987,7 +3625,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2995,16 +3633,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjsip-simple\mwi.c" - > - </File> - <File - RelativePath="..\src\pjsip-simple\pidf.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3013,7 +3643,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3022,7 +3652,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3031,7 +3661,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3040,7 +3670,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3049,7 +3679,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3070,6 +3700,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3079,6 +3718,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3088,6 +3736,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3097,6 +3754,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3106,6 +3772,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3115,6 +3790,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsip-simple\presence_body.c" @@ -3128,6 +3812,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3137,6 +3830,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3146,6 +3848,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3155,6 +3866,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3164,6 +3884,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3173,6 +3902,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsip-simple\publishc.c" @@ -3186,6 +3924,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3195,6 +3942,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3204,6 +3960,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3213,6 +3978,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3222,6 +3996,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3231,6 +4014,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsip-simple\rpid.c" @@ -3248,6 +4040,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3257,6 +4058,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3266,6 +4076,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3275,6 +4094,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3284,6 +4112,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3293,6 +4130,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> </Filter> <Filter diff --git a/daemon/libs/pjproject-2.1.0/pjlib/build/pjlib_test.vcproj b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_test.vcproj similarity index 78% rename from daemon/libs/pjproject-2.1.0/pjlib/build/pjlib_test.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_test.vcproj index 050f67920c4a7c074ee37defedfa3f1570c31ee4..b39ce7104d1dcec350548e2addc93ede455ab464 100644 --- a/daemon/libs/pjproject-2.1.0/pjlib/build/pjlib_test.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_test.vcproj @@ -2,25 +2,28 @@ <VisualStudioProject ProjectType="Visual C++" Version="8.00" - Name="pjlib_test" - ProjectGUID="{6AC3EF61-5A9E-4F43-A809-5B2FD1A43B16}" - RootNamespace="pjlib_test" + Name="pjsip_test" + ProjectGUID="{B3F7D4E9-702F-4EB4-ADA8-098D0A83D770}" + RootNamespace="pjsip_test" > <Platforms> <Platform Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -33,9 +36,9 @@ </ToolFiles> <Configurations> <Configuration - Name="Debug|Win32" + Name="Release|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -57,7 +60,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> @@ -72,8 +75,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -101,9 +104,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -125,7 +128,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -140,7 +143,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -167,9 +170,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -191,7 +194,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -206,7 +209,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -233,11 +236,12 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -253,11 +257,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -271,12 +276,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -284,22 +293,88 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + </Configuration> + <Configuration + Name="Debug|Win32" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" /> - <DebuggerTool + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="1" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -323,7 +398,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -338,7 +413,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -365,9 +440,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -389,7 +464,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -404,7 +479,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -431,11 +506,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -451,12 +527,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -469,12 +547,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -482,24 +564,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Win32" + Name="Debug-Static|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -521,7 +601,7 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> @@ -536,8 +616,8 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -565,9 +645,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -589,7 +669,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -604,7 +684,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -631,9 +711,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -655,7 +735,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -670,7 +750,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -697,11 +777,12 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -717,12 +798,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -735,12 +818,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -748,26 +835,25 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -786,8 +872,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -801,12 +887,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -814,24 +903,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -853,7 +940,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -868,7 +955,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -895,9 +982,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -919,7 +1006,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -934,7 +1021,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -961,9 +1048,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -982,10 +1069,11 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> @@ -1000,8 +1088,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -1029,11 +1118,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1052,8 +1142,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> <Tool @@ -1067,12 +1157,15 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1080,24 +1173,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool - Name="VCPostBuildEventTool" + Name="VCAppVerifierTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + <Tool + Name="VCWebDeploymentTool" /> - <DebuggerTool + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1119,7 +1210,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1134,7 +1225,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1161,9 +1252,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1185,7 +1276,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1200,7 +1291,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1227,11 +1318,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1247,12 +1339,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1265,12 +1359,16 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" /> + <Tool + Name="VCManifestTool" + /> <Tool Name="VCXDCMakeTool" /> @@ -1278,24 +1376,90 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + </Configuration> + <Configuration + Name="Release-Static|Win32" + ConfigurationType="1" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" /> - <DebuggerTool + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_CONSOLE;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1317,7 +1481,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1332,7 +1496,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1359,9 +1523,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1383,7 +1547,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1398,7 +1562,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1425,9 +1589,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Static|x64" ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1446,10 +1610,11 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_CONSOLE;" PrecompiledHeaderFile="" /> @@ -1464,8 +1629,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + TargetMachine="17" /> <Tool Name="VCALinkTool" @@ -1493,11 +1659,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="1" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1517,7 +1683,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1532,7 +1698,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1559,11 +1725,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="1" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1583,7 +1749,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1598,7 +1764,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1625,11 +1791,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1649,7 +1815,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1664,7 +1830,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1691,11 +1857,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1715,7 +1881,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1730,7 +1896,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1757,11 +1923,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1781,7 +1947,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1796,7 +1962,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1823,11 +1989,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1847,7 +2013,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1862,7 +2028,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -1889,12 +2055,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1913,8 +2078,8 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include" - PreprocessorDefinitions="_CONSOLE;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1928,15 +2093,12 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -1944,24 +2106,26 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -1981,7 +2145,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -1996,7 +2160,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2023,11 +2187,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="1" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2047,7 +2211,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2062,7 +2226,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2089,11 +2253,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2113,7 +2277,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2128,7 +2292,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2155,11 +2319,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2179,7 +2343,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2194,7 +2358,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2221,11 +2385,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2245,7 +2409,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2260,7 +2424,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2287,11 +2451,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2311,7 +2475,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2326,7 +2490,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2353,12 +2517,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2377,8 +2540,8 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="../include" - PreprocessorDefinitions="_CONSOLE;" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2392,15 +2555,12 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib oleaut32.lib ole32.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).exe" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" /> - <Tool - Name="VCManifestTool" - /> <Tool Name="VCXDCMakeTool" /> @@ -2408,24 +2568,26 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool - Name="VCAppVerifierTool" + Name="VCPostBuildEventTool" /> - <Tool - Name="VCWebDeploymentTool" + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" /> - <Tool - Name="VCPostBuildEventTool" + <DebuggerTool /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2445,7 +2607,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2460,7 +2622,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2487,11 +2649,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2511,7 +2673,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2526,7 +2688,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2553,11 +2715,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2577,7 +2739,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2592,7 +2754,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2619,11 +2781,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2643,7 +2805,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2658,7 +2820,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2685,11 +2847,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2709,7 +2871,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2724,7 +2886,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2751,11 +2913,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ConfigurationType="1" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" + ConfigurationType="1" > <Tool Name="VCPreBuildEventTool" @@ -2775,7 +2937,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories="../include" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PrecompiledHeaderFile="" /> <Tool @@ -2790,7 +2952,7 @@ <Tool Name="VCLinkerTool" AdditionalDependencies="ws2.lib" - OutputFile="..\bin\pjlib-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" /> <Tool Name="VCALinkTool" @@ -2816,88 +2978,281 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="ws2.lib" + OutputFile="..\bin\pjsip-test-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).exe" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" > <File - RelativePath="..\src\pjlib-test\activesock.c" - > - </File> - <File - RelativePath="..\src\pjlib-test\atomic.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\echo_clt.c" + RelativePath="..\src\test\dlg_core_test.c" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2908,34 +3263,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2943,10 +3271,6 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\errno.c" - > <FileConfiguration Name="Debug|Win32" > @@ -2957,7 +3281,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2975,25 +3299,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3001,12 +3307,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\exception.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3015,7 +3317,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3024,7 +3326,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3033,7 +3335,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3042,7 +3344,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3051,7 +3353,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3061,10 +3363,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\fifobuf.c" + RelativePath="..\src\test\dns_test.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3073,7 +3375,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3082,7 +3384,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3091,7 +3393,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3100,7 +3402,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3109,7 +3411,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3117,12 +3419,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\file.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3131,7 +3429,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3140,7 +3438,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3149,7 +3447,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3158,7 +3456,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3167,7 +3465,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3177,14 +3475,14 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\hash_test.c" + RelativePath="..\src\test\inv_offer_answer_test.c" > </File> <File - RelativePath="..\src\pjlib-test\ioq_perf.c" + RelativePath="..\src\test\main.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3193,25 +3491,23 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3220,7 +3516,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3229,29 +3525,23 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\ioq_tcp.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3269,25 +3559,23 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3295,12 +3583,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\ioq_udp.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3309,25 +3593,23 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3345,29 +3627,23 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\ioq_unreg.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3376,7 +3652,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3385,25 +3661,23 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3411,79 +3685,64 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\list.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\main.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3491,7 +3750,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3499,7 +3758,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3507,7 +3766,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3515,7 +3774,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3523,7 +3782,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3531,16 +3790,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3548,7 +3806,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3556,7 +3814,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3564,7 +3822,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3572,7 +3830,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3580,7 +3838,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3588,16 +3846,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3605,7 +3862,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3613,15 +3870,19 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\test\main_win32.c" + > <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ExcludedFromBuild="true" > <Tool @@ -3629,7 +3890,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|x64" ExcludedFromBuild="true" > <Tool @@ -3637,7 +3898,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Win32" ExcludedFromBuild="true" > <Tool @@ -3645,16 +3906,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" ExcludedFromBuild="true" > <Tool @@ -3662,7 +3922,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|x64" ExcludedFromBuild="true" > <Tool @@ -3670,7 +3930,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -3678,7 +3938,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ExcludedFromBuild="true" > <Tool @@ -3686,7 +3946,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ExcludedFromBuild="true" > <Tool @@ -3694,7 +3954,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ExcludedFromBuild="true" > <Tool @@ -3702,64 +3962,72 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|x64" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\test\msg_err_test.c" + > <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3768,60 +4036,65 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\main_mod.c" + RelativePath="..\src\test\msg_logger.c" > <FileConfiguration - Name="Debug|Win32" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3830,56 +4103,61 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3888,56 +4166,65 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\test\msg_test.c" + > <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3946,56 +4233,61 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4004,56 +4296,73 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\test\multipart_test.c" + > + </File> + <File + RelativePath="..\src\test\regc_test.c" + > + </File> + <File + RelativePath="..\src\test\test.c" + > <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4062,56 +4371,61 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4119,61 +4433,66 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\src\test\transport_loop_test.c" + > <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\main_win32.c" - > <FileConfiguration - Name="Debug|Win32" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4182,8 +4501,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4192,8 +4510,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4202,8 +4519,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4212,8 +4528,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4222,8 +4537,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" - ExcludedFromBuild="true" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4233,10 +4547,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\mutex.c" + RelativePath="..\src\test\transport_tcp_test.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4245,7 +4559,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4254,7 +4568,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4263,7 +4577,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4272,7 +4586,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4281,7 +4595,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4289,12 +4603,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\os.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4303,7 +4613,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4312,7 +4622,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4321,7 +4631,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4330,7 +4640,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4339,7 +4649,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4349,10 +4659,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\pool.c" + RelativePath="..\src\test\transport_test.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4361,7 +4671,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4370,7 +4680,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4379,7 +4689,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4388,7 +4698,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4397,7 +4707,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4405,12 +4715,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\pool_perf.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4419,7 +4725,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4428,7 +4734,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4437,7 +4743,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4446,7 +4752,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4455,7 +4761,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4465,10 +4771,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\rand.c" + RelativePath="..\src\test\transport_udp_test.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4477,7 +4783,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4486,7 +4792,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4495,7 +4801,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4504,7 +4810,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4513,7 +4819,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4521,12 +4827,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\rbtree.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4535,7 +4837,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4544,7 +4846,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4553,7 +4855,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4562,7 +4864,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4571,7 +4873,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4581,10 +4883,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\select.c" + RelativePath="..\src\test\tsx_basic_test.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4593,7 +4895,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4602,7 +4904,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4611,7 +4913,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4620,7 +4922,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4629,7 +4931,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4637,12 +4939,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\sleep.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4651,7 +4949,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4660,7 +4958,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4669,7 +4967,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4678,7 +4976,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4687,7 +4985,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4697,10 +4995,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\sock.c" + RelativePath="..\src\test\tsx_bench.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4709,7 +5007,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4718,7 +5016,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4727,7 +5025,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4736,7 +5034,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4745,7 +5043,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4753,12 +5051,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\sock_perf.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4767,7 +5061,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4776,7 +5070,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4785,7 +5079,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4794,7 +5088,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4803,7 +5097,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4813,14 +5107,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\ssl_sock.c" - > - </File> - <File - RelativePath="..\src\pjlib-test\string.c" + RelativePath="..\src\test\tsx_uac_test.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4829,7 +5119,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4838,7 +5128,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4847,7 +5137,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4856,7 +5146,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4865,7 +5155,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4873,12 +5163,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\test.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4887,7 +5173,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4896,7 +5182,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4905,7 +5191,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4914,7 +5200,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4923,7 +5209,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4933,10 +5219,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\thread.c" + RelativePath="..\src\test\tsx_uas_test.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4945,7 +5231,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4954,7 +5240,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4963,7 +5249,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4972,7 +5258,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4981,7 +5267,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4989,12 +5275,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\timer.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5003,7 +5285,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5012,7 +5294,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5021,7 +5303,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5030,7 +5312,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5039,7 +5321,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5049,10 +5331,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\timestamp.c" + RelativePath="..\src\test\txdata_test.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5061,7 +5343,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5070,7 +5352,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -5079,7 +5361,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5088,7 +5370,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5097,7 +5379,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5105,12 +5387,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\udp_echo_srv_ioqueue.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5119,7 +5397,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5128,7 +5406,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5137,7 +5415,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5146,7 +5424,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5155,7 +5433,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5165,10 +5443,10 @@ </FileConfiguration> </File> <File - RelativePath="..\src\pjlib-test\udp_echo_srv_sync.c" + RelativePath="..\src\test\uri_test.c" > <FileConfiguration - Name="Debug|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5177,7 +5455,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5186,7 +5464,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -5195,7 +5473,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5204,7 +5482,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5213,7 +5491,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5221,12 +5499,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\src\pjlib-test\util.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5235,7 +5509,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5244,7 +5518,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5253,7 +5527,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5262,7 +5536,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5271,7 +5545,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5286,7 +5560,7 @@ Filter="h;hpp;hxx;hm;inl" > <File - RelativePath="..\src\pjlib-test\test.h" + RelativePath="..\src\test\test.h" > </File> </Filter> diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_ua.vcproj b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_ua.vcproj similarity index 80% rename from daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_ua.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_ua.vcproj index 6a0114442231563f7f4e4f5166710cf5d18b1a67..74c9b8d8e820609c66446787497f04d520e376c6 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsip_ua.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsip_ua.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -91,9 +94,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -130,7 +133,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -157,9 +160,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -196,7 +199,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -223,11 +226,12 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -243,10 +247,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -262,7 +266,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -274,26 +278,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -312,7 +309,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -328,7 +324,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -340,24 +336,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -394,7 +382,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -421,9 +409,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -460,7 +448,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -487,9 +475,9 @@ /> </Configuration> <Configuration - Name="Debug|Win32" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -508,12 +496,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -545,11 +535,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -568,7 +559,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -584,7 +574,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -596,24 +586,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -650,7 +632,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -677,7 +659,7 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -716,7 +698,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -743,11 +725,12 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -763,13 +746,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -782,7 +766,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -794,26 +778,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -832,7 +809,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -848,7 +824,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -860,24 +836,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -914,7 +882,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -941,12 +909,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -965,6 +932,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -980,7 +948,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -992,18 +960,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1019,10 +996,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1038,7 +1015,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1050,26 +1027,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1088,7 +1058,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1104,7 +1073,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1116,24 +1085,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1197,9 +1158,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1263,11 +1224,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1283,13 +1245,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1302,7 +1265,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1314,26 +1277,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1352,7 +1308,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1368,7 +1323,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1380,27 +1335,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1419,6 +1365,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1434,7 +1381,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1446,16 +1393,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1492,7 +1447,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1519,7 +1474,66 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -1558,7 +1572,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1585,9 +1599,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1624,7 +1638,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1651,9 +1665,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1690,7 +1704,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1717,7 +1731,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -1756,7 +1770,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1783,9 +1797,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1822,7 +1836,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1849,12 +1863,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1873,6 +1886,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1888,7 +1902,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1900,16 +1914,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1946,7 +1968,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1973,9 +1995,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2012,7 +2034,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2039,9 +2061,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2078,7 +2100,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2105,9 +2127,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2144,7 +2166,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2171,9 +2193,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2237,9 +2259,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2303,12 +2325,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2327,6 +2348,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2342,7 +2364,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2354,16 +2376,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2400,7 +2430,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2427,9 +2457,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2466,7 +2496,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2493,9 +2523,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2532,7 +2562,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2559,9 +2589,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2598,7 +2628,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2625,9 +2655,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2664,7 +2694,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2691,9 +2721,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2730,7 +2760,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2756,45 +2786,402 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > - <File - RelativePath="..\src\pjsip-ua\sip_100rel.c" - > - </File> - <File - RelativePath="..\src\pjsip-ua\sip_inv.c" - > - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjlib/include,../../pjlib-util/include,../../pjmedia/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsip-ua-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\pjsip-ua\sip_100rel.c" + > + </File> + <File + RelativePath="..\src\pjsip-ua\sip_inv.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> @@ -2807,6 +3194,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2816,6 +3212,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2825,6 +3230,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsip-ua\sip_reg.c" @@ -2838,6 +3252,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -2847,6 +3270,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2856,6 +3288,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2865,6 +3306,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2874,6 +3324,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2883,6 +3342,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsip-ua\sip_replaces.c" @@ -2896,6 +3364,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -2905,6 +3382,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2914,6 +3400,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2923,6 +3418,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2932,6 +3436,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2941,6 +3454,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsip-ua\sip_timer.c" @@ -2958,6 +3480,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug|Win32" > @@ -2967,6 +3498,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2976,6 +3516,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2985,6 +3534,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2994,6 +3552,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3003,6 +3570,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> </Filter> <Filter diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/gsm/libgsmcodec.vcproj b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsua2_lib.vcproj similarity index 53% rename from daemon/libs/pjproject-2.1.0/third_party/build/gsm/libgsmcodec.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip/build/pjsua2_lib.vcproj index 9b79340ac25fa386ab9dcee91c598d6f043c7739..61f725ac2306e915637d58a30c416241c5d17be3 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/gsm/libgsmcodec.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsua2_lib.vcproj @@ -2,25 +2,28 @@ <VisualStudioProject ProjectType="Visual C++" Version="8.00" - Name="libgsmcodec" - ProjectGUID="{E53AA5FF-B737-40AA-BD13-387EFA99023D}" - RootNamespace="libgsmcodec" + Name="pjsua2_lib" + ProjectGUID="{B82CDD25-6903-430E-BD38-D8129A2015C1}" + RootNamespace="pjsua2_lib" > <Platforms> <Platform Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -35,7 +38,7 @@ <Configuration Name="Debug|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -57,10 +60,9 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -73,7 +75,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -92,9 +94,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -116,10 +118,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -132,7 +133,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -159,9 +160,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -183,10 +184,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -199,7 +199,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -226,9 +226,69 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -250,10 +310,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -266,7 +325,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -293,9 +352,9 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -317,10 +376,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -333,7 +391,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -360,9 +418,67 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -384,10 +500,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -400,7 +515,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -427,9 +542,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -451,10 +566,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -467,7 +581,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -494,9 +608,9 @@ /> </Configuration> <Configuration - Name="Release|Win32" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -515,13 +629,13 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -534,7 +648,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -555,7 +669,7 @@ <Configuration Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -577,10 +691,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -593,7 +706,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -622,7 +735,7 @@ <Configuration Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -644,10 +757,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -660,7 +772,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -687,9 +799,67 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -711,10 +881,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -727,7 +896,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -754,9 +923,9 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -778,10 +947,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -794,7 +962,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -821,9 +989,69 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -845,10 +1073,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -861,7 +1088,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -888,9 +1115,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -912,10 +1139,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -928,7 +1154,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -955,9 +1181,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -979,10 +1205,9 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -995,7 +1220,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1014,9 +1239,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1038,10 +1263,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1054,7 +1278,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1081,9 +1305,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1105,10 +1329,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1121,7 +1344,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1148,9 +1371,68 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1172,10 +1454,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1188,7 +1469,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1215,9 +1496,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1239,10 +1520,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1255,7 +1535,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1282,9 +1562,67 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1306,10 +1644,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1322,7 +1659,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1349,9 +1686,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1373,10 +1710,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1389,7 +1725,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1416,9 +1752,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1437,13 +1773,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1456,7 +1793,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1475,9 +1812,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1499,10 +1836,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1515,7 +1851,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1542,9 +1878,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1566,10 +1902,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1582,7 +1917,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1609,11 +1944,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1632,11 +1968,9 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1649,7 +1983,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1661,24 +1995,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1700,10 +2026,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1716,7 +2041,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1743,9 +2068,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1767,10 +2092,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1783,7 +2107,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1810,11 +2134,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1830,14 +2155,13 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1850,7 +2174,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1862,27 +2186,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1901,10 +2216,10 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../gsm/inc" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1917,7 +2232,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1929,16 +2244,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1960,10 +2283,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1976,7 +2298,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua2-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2003,9 +2325,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2027,10 +2349,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2043,7 +2364,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2070,9 +2391,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2094,10 +2415,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2110,7 +2430,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2137,9 +2457,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2161,10 +2481,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2177,7 +2496,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2204,9 +2523,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2228,10 +2547,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2244,7 +2562,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2271,9 +2589,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2295,10 +2613,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2311,7 +2628,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2338,12 +2655,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2362,10 +2678,10 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../gsm/inc" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2378,7 +2694,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2390,16 +2706,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2421,10 +2745,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2437,7 +2760,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2464,9 +2787,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2488,10 +2811,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2504,7 +2826,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2531,9 +2853,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2555,10 +2877,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2571,7 +2892,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2598,9 +2919,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2622,10 +2943,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2638,7 +2958,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2667,7 +2987,7 @@ <Configuration Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2689,10 +3009,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2705,7 +3024,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2734,7 +3053,7 @@ <Configuration Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2756,10 +3075,9 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../gsm/inc" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" - WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2772,7 +3090,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2807,1080 +3125,92 @@ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" > <File - RelativePath="..\..\gsm\src\add.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\gsm\src\code.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\gsm\src\debug.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\gsm\src\decode.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\gsm\src\gsm_create.c" + RelativePath="..\src\pjsua2\account.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\gsm_decode.c" + RelativePath="..\src\pjsua2\call.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\gsm_destroy.c" + RelativePath="..\src\pjsua2\endpoint.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\gsm_encode.c" + RelativePath="..\src\pjsua2\json.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\gsm_explode.c" + RelativePath="..\src\pjsua2\media.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\gsm_implode.c" + RelativePath="..\src\pjsua2\persistent.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\gsm_option.c" + RelativePath="..\src\pjsua2\presence.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\gsm_print.c" + RelativePath="..\src\pjsua2\siptypes.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\long_term.c" + RelativePath="..\src\pjsua2\types.cpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\lpc.c" + RelativePath="..\src\pjsua2\util.hpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl" + > <File - RelativePath="..\..\gsm\src\preprocess.c" + RelativePath="..\include\pjsua2\account.hpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\rpe.c" + RelativePath="..\include\pjsua2\call.hpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\short_term.c" + RelativePath="..\include\pjsua2\config.hpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> <File - RelativePath="..\..\gsm\src\table.c" + RelativePath="..\include\pjsua2\doxygen.hpp" > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl" - > <File - RelativePath="..\..\gsm\inc\config.h" + RelativePath="..\include\pjsua2\endpoint.hpp" > </File> <File - RelativePath="config.h" + RelativePath="..\include\pjsua2\json.hpp" > </File> <File - RelativePath="..\..\gsm\inc\gsm.h" + RelativePath="..\include\pjsua2\media.hpp" > </File> <File - RelativePath="..\..\gsm\inc\private.h" + RelativePath="..\include\pjsua2\persistent.hpp" > </File> <File - RelativePath="..\..\gsm\inc\proto.h" + RelativePath="..\include\pjsua2\presence.hpp" > </File> <File - RelativePath="..\..\gsm\inc\toast.h" + RelativePath="..\include\pjsua2\siptypes.hpp" > </File> <File - RelativePath="..\..\gsm\inc\unproto.h" + RelativePath="..\include\pjsua2\types.hpp" > </File> </Filter> diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsua_lib.vcproj b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsua_lib.vcproj similarity index 78% rename from daemon/libs/pjproject-2.1.0/pjsip/build/pjsua_lib.vcproj rename to daemon/libs/pjproject-2.2.1/pjsip/build/pjsua_lib.vcproj index ff7844783f2863bbf13084ff0efb983d18bec8fe..0296141fb4512792a091baa4e1444df7d020094d 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/build/pjsua_lib.vcproj +++ b/daemon/libs/pjproject-2.2.1/pjsip/build/pjsua_lib.vcproj @@ -16,6 +16,9 @@ <Platform Name="Smartphone 2003 (ARMV4)" /> + <Platform + Name="x64" + /> <Platform Name="Windows Mobile 6 Standard SDK (ARMV4I)" /> @@ -223,11 +226,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -243,13 +247,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -262,7 +267,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -274,24 +279,74 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" /> - <DebuggerTool + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -328,7 +383,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -355,9 +410,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -394,7 +449,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -421,11 +476,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -441,10 +497,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -460,7 +516,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -472,24 +528,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Win32" + Name="Debug-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -545,9 +593,9 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -611,9 +659,9 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -677,11 +725,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -697,13 +746,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -716,7 +766,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -728,26 +778,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -766,7 +809,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -782,7 +824,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -794,24 +836,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -848,7 +882,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -875,9 +909,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -914,7 +948,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -941,9 +975,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -962,6 +996,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -999,11 +1034,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1022,7 +1058,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1038,7 +1073,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1050,24 +1085,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1104,7 +1131,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1131,9 +1158,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1170,7 +1197,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1197,11 +1224,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1217,13 +1245,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1236,7 +1265,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1248,26 +1277,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1286,7 +1308,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1302,7 +1323,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1314,24 +1335,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1368,7 +1381,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1395,12 +1408,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1419,6 +1431,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1434,7 +1447,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1446,16 +1459,83 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1492,7 +1572,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1519,9 +1599,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1558,7 +1638,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1585,9 +1665,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1624,7 +1704,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1651,9 +1731,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1690,7 +1770,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1717,9 +1797,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1756,7 +1836,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1783,9 +1863,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1822,7 +1902,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1849,12 +1929,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1873,6 +1952,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1888,7 +1968,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1900,16 +1980,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1946,7 +2034,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1973,9 +2061,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2012,7 +2100,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2039,9 +2127,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2078,7 +2166,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2105,9 +2193,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2144,7 +2232,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2171,9 +2259,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2210,7 +2298,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2237,9 +2325,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2276,7 +2364,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2303,12 +2391,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2327,6 +2414,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2342,7 +2430,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2354,16 +2442,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2400,7 +2496,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2427,9 +2523,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2466,7 +2562,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2493,9 +2589,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2559,9 +2655,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2625,9 +2721,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2691,9 +2787,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2756,53 +2852,353 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > - <File - RelativePath="..\src\pjsua-lib\pjsua_acc.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../include,../../pjmedia/include,../../pjlib-util/include,../../pjlib/include,../../pjnath/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\lib\pjsua-lib-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\src\pjsua-lib\pjsua_acc.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2812,6 +3208,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2821,6 +3226,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsua-lib\pjsua_aud.c" @@ -2838,6 +3252,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2847,6 +3270,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2856,6 +3288,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2865,6 +3306,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2874,6 +3324,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2883,6 +3342,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsua-lib\pjsua_core.c" @@ -2896,6 +3364,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2905,6 +3382,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2914,6 +3400,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2923,6 +3418,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2932,6 +3436,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2941,6 +3454,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsua-lib\pjsua_dump.c" @@ -2958,6 +3480,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2967,6 +3498,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2976,6 +3516,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2985,6 +3534,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2994,6 +3552,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3003,6 +3570,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsua-lib\pjsua_media.c" @@ -3016,6 +3592,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3025,6 +3610,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3034,6 +3628,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3043,6 +3646,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3052,6 +3664,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3061,6 +3682,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsua-lib\pjsua_pres.c" @@ -3074,6 +3704,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -3083,6 +3722,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -3092,6 +3740,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -3101,6 +3758,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -3110,6 +3776,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -3119,6 +3794,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\src\pjsua-lib\pjsua_vid.c" diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsip_core_wince.vcp b/daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsip_core_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsip_core_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsip_core_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsip_simple_wince.vcp b/daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsip_simple_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsip_simple_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsip_simple_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsip_ua_wince.vcp b/daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsip_ua_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsip_ua_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsip_ua_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsip_wince.vcw b/daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsip_wince.vcw similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsip_wince.vcw rename to daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsip_wince.vcw diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsua_lib_wince.vcp b/daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsua_lib_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/pjsua_lib_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/pjsua_lib_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/test_pjsip_wince.vcp b/daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/test_pjsip_wince.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/build/wince-evc4/test_pjsip_wince.vcp rename to daemon/libs/pjproject-2.2.1/pjsip/build/wince-evc4/test_pjsip_wince.vcp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/PJSUA-TESTING.txt b/daemon/libs/pjproject-2.2.1/pjsip/docs/PJSUA-TESTING.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/PJSUA-TESTING.txt rename to daemon/libs/pjproject-2.2.1/pjsip/docs/PJSUA-TESTING.txt diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/TRANSPORT-PROBLEMS.TXT b/daemon/libs/pjproject-2.2.1/pjsip/docs/TRANSPORT-PROBLEMS.TXT similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/TRANSPORT-PROBLEMS.TXT rename to daemon/libs/pjproject-2.2.1/pjsip/docs/TRANSPORT-PROBLEMS.TXT diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/doxygen.cfg b/daemon/libs/pjproject-2.2.1/pjsip/docs/doxygen.cfg similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/doxygen.cfg rename to daemon/libs/pjproject-2.2.1/pjsip/docs/doxygen.cfg index cd3f8e4c460fed84574c64d002577c1560dacf19..e3e6dc9f84be0db79fa486770368e89d50af4010 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/docs/doxygen.cfg +++ b/daemon/libs/pjproject-2.2.1/pjsip/docs/doxygen.cfg @@ -356,7 +356,7 @@ INPUT = docs include # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp # *.h++ *.idl *.odl -FILE_PATTERNS = *.h +FILE_PATTERNS = *.h *.hpp # 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. diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/doxygen.h b/daemon/libs/pjproject-2.2.1/pjsip/docs/doxygen.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/doxygen.h rename to daemon/libs/pjproject-2.2.1/pjsip/docs/doxygen.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/footer.html b/daemon/libs/pjproject-2.2.1/pjsip/docs/footer.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/footer.html rename to daemon/libs/pjproject-2.2.1/pjsip/docs/footer.html diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/header.html b/daemon/libs/pjproject-2.2.1/pjsip/docs/header.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/header.html rename to daemon/libs/pjproject-2.2.1/pjsip/docs/header.html diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/pjsip-arch.jpg b/daemon/libs/pjproject-2.2.1/pjsip/docs/pjsip-arch.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/pjsip-arch.jpg rename to daemon/libs/pjproject-2.2.1/pjsip/docs/pjsip-arch.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/pjsip-perf.jpg b/daemon/libs/pjproject-2.2.1/pjsip/docs/pjsip-perf.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/pjsip-perf.jpg rename to daemon/libs/pjproject-2.2.1/pjsip/docs/pjsip-perf.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/pjsua.jpg b/daemon/libs/pjproject-2.2.1/pjsip/docs/pjsua.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/pjsua.jpg rename to daemon/libs/pjproject-2.2.1/pjsip/docs/pjsua.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjsip/docs/siprtp.jpg b/daemon/libs/pjproject-2.2.1/pjsip/docs/siprtp.jpg similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/docs/siprtp.jpg rename to daemon/libs/pjproject-2.2.1/pjsip/docs/siprtp.jpg diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/errno.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/errno.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/errno.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/errno.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/evsub.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/evsub.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/evsub.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/evsub.h index 5184a795e031e5963957a493a75913eaf9521f4d..b0ef25d354fc2beede7cf3c875595d4461df183a 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/evsub.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/evsub.h @@ -1,4 +1,4 @@ -/* $Id: evsub.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: evsub.h 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -58,7 +58,7 @@ typedef struct pjsip_evsub pjsip_evsub; * will be set to PJSIP_EVSUB_STATE_UNKNOWN, and the token will be kept * in state_str member of the susbcription structure. */ -enum pjsip_evsub_state +typedef enum pjsip_evsub_state { PJSIP_EVSUB_STATE_NULL, /**< State is NULL. */ PJSIP_EVSUB_STATE_SENT, /**< Client has sent SUBSCRIBE request. */ @@ -70,12 +70,7 @@ enum pjsip_evsub_state PJSIP_EVSUB_STATE_UNKNOWN, /**< Subscription state can not be determined. Application can query the state by calling #pjsip_evsub_get_state_name().*/ -}; - -/** - * @see pjsip_evsub_state - */ -typedef enum pjsip_evsub_state pjsip_evsub_state; +} pjsip_evsub_state; /** diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/evsub_msg.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/evsub_msg.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/evsub_msg.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/evsub_msg.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/iscomposing.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/iscomposing.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/iscomposing.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/iscomposing.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/mwi.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/mwi.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/mwi.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/mwi.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/pidf.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/pidf.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/pidf.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/pidf.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/presence.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/presence.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/presence.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/presence.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/publish.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/publish.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/publish.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/publish.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/rpid.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/rpid.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/rpid.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/rpid.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/types.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/types.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/types.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/xpidf.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/xpidf.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-simple/xpidf.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-simple/xpidf.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_100rel.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_100rel.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_100rel.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_100rel.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_inv.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_inv.h similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_inv.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_inv.h index f9f38cafae0d02a9812f531cd57371dec9a23062..392819a083ecb26ab04ea22128d1bfa7f1a31e08 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_inv.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_inv.h @@ -1,4 +1,4 @@ -/* $Id: sip_inv.h 3841 2011-10-24 09:28:13Z ming $ */ +/* $Id: sip_inv.h 4653 2013-11-19 10:18:17Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -160,6 +160,35 @@ typedef struct pjsip_inv_callback void (*on_rx_offer)(pjsip_inv_session *inv, const pjmedia_sdp_session *offer); + /** + * This callback is optional, and is called when the invite session has + * received a re-INVITE from the peer. It will be called after + * on_rx_offer() callback and works only for re-INVITEs. It allows more + * fine-grained control over the response to a re-INVITE, e.g. sending + * a provisional response first. Application can return PJ_SUCCESS and + * send a reply using the function #pjsip_inv_initial_answer() or + * #pjsip_inv_answer(), as with the initial INVITE. If application + * returns non-PJ_SUCCESS, it needs to set the SDP answer with + * #pjsip_inv_set_sdp_answer() and the re-INVITE will be answered + * automatically. + * + * Remarks: Application may need to monitor on_tsx_state_changed() + * callback to check whether the re-INVITE is already answered + * automatically with 487 due to being cancelled. + * + * @param inv The invite session. + * @param offer Remote offer. + * @param rdata The received re-INVITE request. + * + * @return - PJ_SUCCESS: application will answer the re-INVITE + * manually + * - non-PJ_SUCCESS: answer the re-INVITE automatically + * using the SDP set via #pjsip_inv_set_sdp_answer() + */ + pj_status_t (*on_rx_reinvite)(pjsip_inv_session *inv, + const pjmedia_sdp_session *offer, + pjsip_rx_data *rdata); + /** * This callback is optional, and it is used to ask the application * to create a fresh offer, when the invite session has received @@ -364,6 +393,7 @@ struct pjsip_inv_session pjsip_inv_state state; /**< Invite sess state. */ pj_bool_t cancelling; /**< CANCEL requested */ pj_bool_t pending_cancel; /**< Wait to send CANCEL*/ + pjsip_tx_data *pending_bye; /**< BYE to send later */ pjsip_status_code cause; /**< Disconnect cause. */ pj_str_t cause_text; /**< Cause text. */ pj_bool_t notify; /**< Internal. */ @@ -372,6 +402,7 @@ struct pjsip_inv_session pjsip_role_e role; /**< Invite role. */ unsigned options; /**< Options in use. */ pjmedia_sdp_neg *neg; /**< Negotiator. */ + unsigned sdp_neg_flags; /**< SDP neg flags. */ pjsip_transaction *invite_tsx; /**< 1st invite tsx. */ pjsip_tx_data *invite_req; /**< Saved invite req */ pjsip_tx_data *last_answer; /**< Last INVITE resp. */ @@ -697,9 +728,7 @@ PJ_DECL(pj_status_t) pjsip_inv_initial_answer( pjsip_inv_session *inv, pjsip_tx_data **p_tdata); /** - * Create a response message to the initial INVITE request. This function - * can only be called for the initial INVITE request, as subsequent - * re-INVITE request will be answered automatically. + * Create a response message to an INVITE request. * * @param inv The UAS invite session. * @param st_code The st_code contains the status code to be sent, @@ -796,6 +825,24 @@ PJ_DECL(pj_status_t) pjsip_inv_end_session( pjsip_inv_session *inv, pjsip_tx_data **p_tdata ); +/** + * Create a CANCEL request for an ongoing re-INVITE transaction. If no + * provisional response has been received, the function will not create + * CANCEL request (the function will return PJ_SUCCESS but the \a p_tdata + * will contain NULL) because we cannot send CANCEL before receiving + * provisional response. If then a provisional response is received, + * the invite session will send CANCEL automatically. + * + * @param inv The invite session. + * @param p_tdata Pointer to receive the message to be created. Note + * that it's possible to receive NULL here while the + * function returns PJ_SUCCESS, see the description. + * + * @return PJ_SUCCESS if termination is initiated. + */ +PJ_DECL(pj_status_t) pjsip_inv_cancel_reinvite( pjsip_inv_session *inv, + pjsip_tx_data **p_tdata ); + /** * Create a re-INVITE request. diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_regc.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_regc.h similarity index 91% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_regc.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_regc.h index 826d45e910aa33a261bcde878de570d32f981cf9..bfc5b74671cdff855be1ea04d9871f15d5e7be18 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_regc.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_regc.h @@ -1,4 +1,4 @@ -/* $Id: sip_regc.h 4173 2012-06-20 10:39:05Z ming $ */ +/* $Id: sip_regc.h 4586 2013-09-04 10:07:45Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -83,6 +83,22 @@ struct pjsip_regc_cbparam /** Type declaration for callback to receive registration result. */ typedef void pjsip_regc_cb(struct pjsip_regc_cbparam *param); +/** + * Structure to hold parameters when calling application's callback + * specified in #pjsip_regc_set_reg_tsx_cb(). + * To update contact address, application can set the field contact_cnt + * and contact inside the callback. + */ +struct pjsip_regc_tsx_cb_param +{ + struct pjsip_regc_cbparam cbparam; + int contact_cnt; + pj_str_t contact[PJSIP_REGC_MAX_CONTACT]; +}; + +/** Type declaration for callback set in #pjsip_regc_set_reg_tsx_cb(). */ +typedef void pjsip_regc_tsx_cb(struct pjsip_regc_tsx_cb_param *param); + /** * Client registration information. */ @@ -190,6 +206,21 @@ PJ_DECL(pj_status_t) pjsip_regc_init(pjsip_regc *regc, const pj_str_t contact[], pj_uint32_t expires); +/** + * Set callback to be called when the registration received a final response. + * This callback is different with the one specified during creation via + * #pjsip_regc_create(). This callback will be called for any final response + * (including 401/407/423) and before any subsequent requests are sent. + * In case of unregistration, this callback will not be called. + * + * @param regc The client registration structure. + * @param tsx_cb Pointer to callback function to receive registration status. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjsip_regc_set_reg_tsx_cb(pjsip_regc *regc, + pjsip_regc_tsx_cb *tsx_cb); + /** * Set the "sent-by" field of the Via header for outgoing requests. * diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_replaces.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_replaces.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_replaces.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_replaces.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_timer.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_timer.h similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_timer.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_timer.h index 6ef7931265a8222b4824d7082fa0c31566f3cb9f..72cf25601dc4466c06d2385def3ae032e1bd644d 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_timer.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_timer.h @@ -1,4 +1,4 @@ -/* $Id: sip_timer.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_timer.h 4715 2014-01-24 09:32:27Z riza $ */ /* * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) * @@ -200,6 +200,19 @@ PJ_DECL(pj_status_t) pjsip_timer_process_resp(pjsip_inv_session *inv, const pjsip_rx_data *rdata, pjsip_status_code *st_code); +/** + * Process Session Timers refresh error, this function will process + * error from refresh request. The error will be handle according the + * error code, i.e : BYE will be sent after error 503 (Transport Error). + * + * @param inv The invite session. + * @param event The event that trigger the error. + * + * @return PJ_SUCCESS on successful. + */ +PJ_DECL(pj_status_t) pjsip_timer_handle_refresh_error( + pjsip_inv_session *inv, + pjsip_event *event); /** * Process Session Timers headers in incoming request, this function diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_xfer.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_xfer.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip-ua/sip_xfer.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip-ua/sip_xfer.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/print_util.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/print_util.h similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/print_util.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/print_util.h index c27d14a66a03a1f3d7d12e6cd24d0a4d2e62a602..e616fa3971d370b92dd8f9760ba52dfe50ee76a2 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/print_util.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/print_util.h @@ -1,4 +1,4 @@ -/* $Id: print_util.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: print_util.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -30,7 +30,7 @@ #define copy_advance_pair_check(buf,str1,len1,str2) \ do { \ if (str2.slen) { \ - printed = len1+str2.slen; \ + printed = len1+(int)str2.slen; \ if (printed >= (endbuf-buf)) return -1; \ pj_memcpy(buf,str1,len1); \ pj_memcpy(buf+len1, str2.ptr, str2.slen); \ @@ -53,7 +53,7 @@ #define copy_advance_pair_quote(buf,str1,len1,str2,quotebegin,quoteend) \ do { \ - printed = len1+str2.slen+2; \ + printed = len1+(int)str2.slen+2; \ if (printed >= (endbuf-buf)) return -1; \ pj_memcpy(buf,str1,len1); \ *(buf+len1)=quotebegin; \ @@ -67,7 +67,8 @@ if (str2.slen) { \ if (len1+str2.slen >= (endbuf-buf)) return -1; \ pj_memcpy(buf,str1,len1); \ - printed=pj_strncpy2_escape(buf+len1,&str2,(endbuf-buf-len1),&unres);\ + printed=(int)pj_strncpy2_escape(buf+len1,&str2,(endbuf-buf-len1), \ + &unres);\ if (printed < 0) return -1; \ buf += (printed+len1); \ } \ @@ -83,7 +84,7 @@ #define copy_advance_escape(buf,str,unres) \ do { \ printed = \ - pj_strncpy2_escape(buf, &(str), (endbuf-buf), &(unres)); \ + (int)pj_strncpy2_escape(buf, &(str), (endbuf-buf), &(unres)); \ if (printed < 0) return -1; \ buf += printed; \ } while (0) diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_auth.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_auth.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_auth.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_auth.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_auth_aka.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_auth_aka.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_auth_aka.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_auth_aka.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_auth_msg.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_auth_msg.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_auth_msg.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_auth_msg.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_auth_parser.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_auth_parser.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_auth_parser.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_auth_parser.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_autoconf.h.in b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_autoconf.h.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_autoconf.h.in rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_autoconf.h.in diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_config.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_config.h similarity index 88% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_config.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_config.h index bde0777f7d41c8869e9210e04bb6dc1a811d6707..71c63879cc18061728e069cd959248ff3000473b 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_config.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_config.h @@ -1,4 +1,4 @@ -/* $Id: sip_config.h 4285 2012-10-19 04:23:57Z nanang $ */ +/* $Id: sip_config.h 4770 2014-02-27 06:16:36Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -111,6 +111,32 @@ typedef struct pjsip_cfg_t */ pj_bool_t disable_tcp_switch; + /** + * Disable automatic switching to TLS if target-URI does not use + * "sips" scheme nor TLS transport, even when request-URI uses + * "sips" scheme. + * + * Default is PJSIP_DONT_SWITCH_TO_TLS. + */ + pj_bool_t disable_tls_switch; + + /** + * Enable call media session to always be updated to the latest + * received early media SDP when receiving forked early media + * (multiple 183 responses with different To tag). + * + * Default is PJSIP_FOLLOW_EARLY_MEDIA_FORK. + */ + pj_bool_t follow_early_media_fork; + + /** + * Specify whether "alias" param should be added to the Via header + * in any outgoing request with connection oriented transport. + * + * Default is PJSIP_REQ_HAS_VIA_ALIAS. + */ + pj_bool_t req_has_via_alias; + } endpt; /** Transaction layer settings. */ @@ -291,6 +317,53 @@ PJ_INLINE(pjsip_cfg_t*) pjsip_cfg(void) #endif +/** + * As specified RFC 3261 section 8.1.2, when request-URI uses "sips" scheme, + * TLS must always be used regardless of the target-URI scheme or transport + * type. + * + * This option will specify whether the behavior of automatic switching to TLS + * should be disabled, i.e: regard the target-URI scheme or transport type. + * + * This option can also be controlled at run-time by the \a disable_tls_switch + * setting in pjsip_cfg_t. + * + * Default is 0 (no). + */ +#ifndef PJSIP_DONT_SWITCH_TO_TLS +# define PJSIP_DONT_SWITCH_TO_TLS 0 +#endif + + +/** + * Specify whether the call media session should be updated to the latest + * received early media SDP when receiving forked early media (multiple 183 + * responses with different To tag). + * + * This option can also be controlled at run-time by the + * \a follow_early_media_fork setting in pjsip_cfg_t. + * + * Default is PJ_TRUE. + */ +#ifndef PJSIP_FOLLOW_EARLY_MEDIA_FORK +# define PJSIP_FOLLOW_EARLY_MEDIA_FORK PJ_TRUE +#endif + + +/** + * Specify whether "alias" param should be added to the Via header + * in any outgoing request with connection oriented transport. + * + * This option can also be controlled at run-time by the + * \a req_has_via_alias setting in pjsip_cfg_t. + * + * Default is PJ_TRUE. + */ +#ifndef PJSIP_REQ_HAS_VIA_ALIAS +# define PJSIP_REQ_HAS_VIA_ALIAS PJ_TRUE +#endif + + /** * Accept call replace in early state when invite is not initiated * by the user agent. RFC 3891 Section 3 disallows this, however, @@ -522,6 +595,24 @@ PJ_INLINE(pjsip_cfg_t*) pjsip_cfg(void) #endif +/** + * Specify whether TCP listener should use SO_REUSEADDR option. This constant + * will be used as the default value for the "reuse_addr" field in the + * pjsip_tcp_transport_cfg structure. + * + * Default is FALSE on Windows and TRUE on non-Windows. + * + * @see PJSIP_TLS_TRANSPORT_REUSEADDR + */ +#ifndef PJSIP_TCP_TRANSPORT_REUSEADDR +# if (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) +# define PJSIP_TCP_TRANSPORT_REUSEADDR 0 +# else +# define PJSIP_TCP_TRANSPORT_REUSEADDR 1 +# endif +#endif + + /** * Set the interval to send keep-alive packet for TCP transports. * If the value is zero, keep-alive will be disabled for TCP. @@ -630,6 +721,21 @@ PJ_INLINE(pjsip_cfg_t*) pjsip_cfg(void) #endif +/** + * Specify whether TLS listener should use SO_REUSEADDR option. + * + * Default is FALSE on Windows and TRUE on non-Windows. + * + * @see PJSIP_TCP_TRANSPORT_REUSEADDR + */ +#ifndef PJSIP_TLS_TRANSPORT_REUSEADDR +# if (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) +# define PJSIP_TLS_TRANSPORT_REUSEADDR 0 +# else +# define PJSIP_TLS_TRANSPORT_REUSEADDR 1 +# endif +#endif + /* Endpoint. */ #define PJSIP_MAX_TIMER_COUNT (2*pjsip_cfg()->tsx.max_count + \ @@ -863,6 +969,9 @@ PJ_INLINE(pjsip_cfg_t*) pjsip_cfg(void) * Specify support for IMS/3GPP digest AKA authentication version 1 and 2 * (AKAv1-MD5 and AKAv2-MD5 respectively). * + * Note that if this is enabled, application would need to link with + * <b>libmilenage</b> library from \a third_party directory. + * * Default: 0 (for now) */ #ifndef PJSIP_HAS_DIGEST_AKA_AUTH @@ -1053,6 +1162,21 @@ PJ_INLINE(pjsip_cfg_t*) pjsip_cfg(void) #endif +/** + * Specify whether transport manager should maintain a list of transmit + * buffer instances, so any possible dangling instance can be cleaned up + * when the transport manager is shutdown (see also ticket #1671). + * Note that this feature will have slight impact on the performance as + * mutex is employed in updating the list, i.e: on creation and destruction + * of transmit data. + * + * Default: 0 (no) + */ +#ifndef PJSIP_HAS_TX_DATA_LIST +# define PJSIP_HAS_TX_DATA_LIST 0 +#endif + + PJ_END_DECL /** diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_dialog.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_dialog.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_dialog.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_dialog.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_endpoint.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_endpoint.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_endpoint.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_endpoint.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_errno.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_errno.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_errno.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_errno.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_event.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_event.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_event.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_event.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_module.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_module.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_module.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_module.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_msg.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_msg.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_msg.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_msg.h index 9031fa261010200476f6dc124c243ef1673f024b..f921b4b1bfd42d04c5a81ee50ef08b19d58b8144 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_msg.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_msg.h @@ -1,4 +1,4 @@ -/* $Id: sip_msg.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_msg.h 4700 2014-01-02 01:25:22Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -1061,12 +1061,14 @@ PJ_DECL(void) pjsip_generic_string_hdr_init2(pjsip_generic_string_hdr *h, /* **************************************************************************/ /** - * Generic SIP header, which contains hname and a string hvalue. + * Generic SIP header, which contains hname and an integer ivalue. */ typedef struct pjsip_generic_int_hdr { - PJSIP_DECL_HDR_MEMBER(struct pjsip_generic_int_hdr); /**< Standard header field. */ - pj_int32_t ivalue; /**< ivalue */ + /** Standard header field. */ + PJSIP_DECL_HDR_MEMBER(struct pjsip_generic_int_hdr); + /** ivalue */ + pj_int32_t ivalue; } pjsip_generic_int_hdr; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_multipart.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_multipart.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_multipart.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_multipart.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_parser.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_parser.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_parser.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_parser.h index bc341d045cbf8c569416e7593d7b5327d8e9db6a..1f6f656adeb9b5a1804f8e643727795ed4dca2bd 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_parser.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_parser.h @@ -1,4 +1,4 @@ -/* $Id: sip_parser.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_parser.h 4445 2013-03-20 11:29:08Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -410,6 +410,11 @@ PJ_DECL(void) pjsip_concat_param_imp(pj_str_t *param, pj_pool_t *pool, int sepchar); PJ_DECL(void) pjsip_parse_end_hdr_imp ( pj_scanner *scanner ); +/* Parse generic array header */ +PJ_DECL(void) pjsip_parse_generic_array_hdr_imp(pjsip_generic_array_hdr *hdr, + pj_scanner *scanner); + + PJ_END_DECL #endif /* __PJSIP_SIP_PARSER_H__ */ diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_private.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_private.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_private.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_private.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_resolve.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_resolve.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_resolve.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_resolve.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_tel_uri.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_tel_uri.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_tel_uri.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_tel_uri.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transaction.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transaction.h similarity index 86% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transaction.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transaction.h index 1a75a7caf83a55e864cba461385681715e4e8617..575298a22cf49955a327f584a912ad69c85d11eb 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transaction.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transaction.h @@ -1,4 +1,4 @@ -/* $Id: sip_transaction.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_transaction.h 4420 2013-03-05 11:59:54Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -85,7 +85,8 @@ struct pjsip_transaction pj_pool_t *pool; /**< Pool owned by the tsx. */ pjsip_module *tsx_user; /**< Transaction user. */ pjsip_endpoint *endpt; /**< Endpoint instance. */ - pj_mutex_t *mutex; /**< Mutex for this tsx. */ + pj_bool_t terminating; /**< terminate() was called */ + pj_grp_lock_t *grp_lock; /**< Transaction grp lock. */ pj_mutex_t *mutex_b; /**< Second mutex to avoid deadlock. It is used to protect timer. */ @@ -212,6 +213,30 @@ PJ_DECL(pj_status_t) pjsip_tsx_create_uac( pjsip_module *tsx_user, pjsip_tx_data *tdata, pjsip_transaction **p_tsx); +/** + * Variant of pjsip_tsx_create_uac() with additional parameter to specify + * the group lock to use. Group lock can be used to synchronize locking + * among several objects to prevent deadlock, and to synchronize the + * lifetime of objects sharing the same group lock. + * + * See pjsip_tsx_create_uac() for general info about this function. + * + * @param tsx_user Module to be registered as transaction user of the new + * transaction, which will receive notification from the + * transaction via on_tsx_state() callback. + * @param tdata The outgoing request message. + * @param grp_lock Optional group lock to use by this transaction. If + * the value is NULL, the transaction will create its + * own group lock. + * @param p_tsx On return will contain the new transaction instance. + * + * @return PJ_SUCCESS if successfull. + */ +PJ_DECL(pj_status_t) pjsip_tsx_create_uac2(pjsip_module *tsx_user, + pjsip_tx_data *tdata, + pj_grp_lock_t *grp_lock, + pjsip_transaction **p_tsx); + /** * Create, initialize, and register a new transaction as UAS from the * specified incoming request in \c rdata. After calling this function, @@ -230,6 +255,29 @@ PJ_DECL(pj_status_t) pjsip_tsx_create_uas( pjsip_module *tsx_user, pjsip_rx_data *rdata, pjsip_transaction **p_tsx ); +/** + * Variant of pjsip_tsx_create_uas() with additional parameter to specify + * the group lock to use. Group lock can be used to synchronize locking + * among several objects to prevent deadlock, and to synchronize the + * lifetime of objects sharing the same group lock. + * + * See pjsip_tsx_create_uas() for general info about this function. + * + * @param tsx_user Module to be registered as transaction user of the new + * transaction, which will receive notification from the + * transaction via on_tsx_state() callback. + * @param rdata The received incoming request. + * @param grp_lock Optional group lock to use by this transaction. If + * the value is NULL, the transaction will create its + * own group lock. + * @param p_tsx On return will contain the new transaction instance. + * + * @return PJ_SUCCESS if successfull. + */ +PJ_DECL(pj_status_t) pjsip_tsx_create_uas2(pjsip_module *tsx_user, + pjsip_rx_data *rdata, + pj_grp_lock_t *grp_lock, + pjsip_transaction **p_tsx ); /** * Lock/bind transaction to a specific transport/listener. This is optional, diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport.h index 21b2238cffc5c3ece323ca0d9a88223cdded8727..833b12bcbc8b2698a9324c4388aa888e0fec84a1 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport.h @@ -1,4 +1,4 @@ -/* $Id: sip_transport.h 4275 2012-10-04 06:11:58Z bennylp $ */ +/* $Id: sip_transport.h 4775 2014-03-04 02:18:51Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -801,6 +801,9 @@ struct pjsip_transport pjsip_tpmgr *tpmgr; /**< Transport manager. */ pj_timer_entry idle_timer; /**< Timer when ref cnt is zero.*/ + pj_timestamp last_recv_ts; /**< Last time receiving data. */ + pj_size_t last_recv_len; /**< Last received data length. */ + void *data; /**< Internal transport data. */ /** @@ -1388,9 +1391,15 @@ typedef enum pjsip_transport_state PJSIP_TP_STATE_CONNECTED, /**< Transport connected, applicable only to connection-oriented transports such as TCP and TLS. */ - PJSIP_TP_STATE_DISCONNECTED /**< Transport disconnected, applicable + PJSIP_TP_STATE_DISCONNECTED, /**< Transport disconnected, applicable only to connection-oriented transports such as TCP and TLS. */ + PJSIP_TP_STATE_SHUTDOWN, /**< Transport shutdown, either + due to TCP/TLS disconnect error + from the network, or when shutdown + is initiated by PJSIP itself. */ + PJSIP_TP_STATE_DESTROY, /**< Transport destroy, when transport + is about to be destroyed. */ } pjsip_transport_state; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_loop.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_loop.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_loop.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_loop.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_tcp.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_tcp.h similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_tcp.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_tcp.h index 285c6b640045c9cf8f1f0dc3775071a510b17023..e35e8143862de71596d7240837aa2f5f344428a4 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_tcp.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_tcp.h @@ -1,4 +1,4 @@ -/* $Id: sip_transport_tcp.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_transport_tcp.h 4506 2013-04-26 06:01:43Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -63,6 +63,12 @@ typedef struct pjsip_tcp_transport_cfg */ pj_sockaddr bind_addr; + /** + * Should SO_REUSEADDR be used for the listener socket. + * Default value is PJSIP_TCP_TRANSPORT_REUSEADDR. + */ + pj_bool_t reuse_addr; + /** * Optional published address, which is the address to be * advertised as the address of this SIP transport. diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_tls.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_tls.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_tls.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_tls.h index 8164c63864075cc849fcac9383fb414318402b11..6ed1ce7d048ccd2e5873400644875cbc49417068 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_tls.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_tls.h @@ -1,4 +1,4 @@ -/* $Id: sip_transport_tls.h 4262 2012-09-20 06:00:23Z bennylp $ */ +/* $Id: sip_transport_tls.h 4506 2013-04-26 06:01:43Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -173,6 +173,12 @@ typedef struct pjsip_tls_setting */ pj_time_val timeout; + /** + * Should SO_REUSEADDR be used for the listener socket. + * Default value is PJSIP_TLS_TRANSPORT_REUSEADDR. + */ + pj_bool_t reuse_addr; + /** * QoS traffic type to be set on this transport. When application wants * to apply QoS tagging to the transport, it's preferable to set this @@ -225,6 +231,7 @@ typedef struct pjsip_tls_state_info PJ_INLINE(void) pjsip_tls_setting_default(pjsip_tls_setting *tls_opt) { pj_memset(tls_opt, 0, sizeof(*tls_opt)); + tls_opt->reuse_addr = PJSIP_TLS_TRANSPORT_REUSEADDR; tls_opt->qos_type = PJ_QOS_TYPE_BEST_EFFORT; tls_opt->qos_ignore_error = PJ_TRUE; } diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_udp.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_udp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_transport_udp.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_transport_udp.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_types.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_types.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_types.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_ua_layer.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_ua_layer.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_ua_layer.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_ua_layer.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_uri.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_uri.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_uri.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_uri.h index 47b63bd3a8eed9eeca0477e1fa9d413d053feeed..398085b0efb5a31ad2fc9ee0e5025d127c2e4473 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_uri.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_uri.h @@ -1,4 +1,4 @@ -/* $Id: sip_uri.h 4370 2013-02-26 05:30:00Z nanang $ */ +/* $Id: sip_uri.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -300,7 +300,8 @@ PJ_INLINE(int) pjsip_uri_print(pjsip_uri_context_e context, const void *uri, char *buf, pj_size_t size) { - return (*((const pjsip_uri*)uri)->vptr->p_print)(context, uri, buf, size); + return (int)(*((const pjsip_uri*)uri)->vptr->p_print)(context, uri, + buf, size); } /** diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_util.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_util.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip/sip_util.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip/sip_util.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip_auth.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip_auth.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip_auth.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip_auth.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip_simple.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip_simple.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip_simple.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip_simple.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsip_ua.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsip_ua.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsip_ua.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsip_ua.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsua-lib/pjsua.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua-lib/pjsua.h similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsua-lib/pjsua.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsua-lib/pjsua.h index 88c0d46c947130299da1d5e2edef63935ec316f4..a85f7941ad12644063194433226cdb5947d8cbd5 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsua-lib/pjsua.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua-lib/pjsua.h @@ -1,4 +1,4 @@ -/* $Id: pjsua.h 4347 2013-02-13 10:19:25Z nanang $ */ +/* $Id: pjsua.h 4793 2014-03-14 04:09:50Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -251,7 +251,10 @@ PJ_BEGIN_DECL */ /** Constant to identify invalid ID for all sorts of IDs. */ -#define PJSUA_INVALID_ID (-1) +enum pjsua_invalid_id_const_ +{ + PJSUA_INVALID_ID = -1 +}; /** Disabled features temporarily for media reorganization */ #define DISABLED_FOR_TICKET_1185 0 @@ -568,6 +571,39 @@ typedef enum pjsua_create_media_transport_flag } pjsua_create_media_transport_flag; +/** + * This enumeration specifies the contact rewrite method. + */ +typedef enum pjsua_contact_rewrite_method +{ + /** + * The Contact update will be done by sending unregistration + * to the currently registered Contact, while simultaneously sending new + * registration (with different Call-ID) for the updated Contact. + */ + PJSUA_CONTACT_REWRITE_UNREGISTER = 1, + + /** + * The Contact update will be done in a single, current + * registration session, by removing the current binding (by setting its + * Contact's expires parameter to zero) and adding a new Contact binding, + * all done in a single request. + */ + PJSUA_CONTACT_REWRITE_NO_UNREG = 2, + + /** + * The Contact update will be done when receiving any registration final + * response. If this flag is not specified, contact update will only be + * done upon receiving 2xx response. This flag MUST be used with + * PJSUA_CONTACT_REWRITE_UNREGISTER or PJSUA_CONTACT_REWRITE_NO_UNREG + * above to specify how the Contact update should be performed when + * receiving 2xx response. + */ + PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE = 4 + +} pjsua_contact_rewrite_method; + + /** * Call settings. */ @@ -720,7 +756,7 @@ typedef struct pjsua_callback void (*on_dtmf_digit)(pjsua_call_id call_id, int digit); /** - * Notify application on call being transfered (i.e. REFER is received). + * Notify application on call being transferred (i.e. REFER is received). * Application can decide to accept/reject transfer request * by setting the code (default is 202). When this callback * is not defined, the default behavior is to accept the @@ -729,7 +765,7 @@ typedef struct pjsua_callback * * @param call_id The call index. * @param dst The destination where the call will be - * transfered to. + * transferred to. * @param code Status code to be returned for the call transfer * request. On input, it contains status code 200. */ @@ -738,7 +774,7 @@ typedef struct pjsua_callback pjsip_status_code *code); /** - * Notify application on call being transfered (i.e. REFER is received). + * Notify application on call being transferred (i.e. REFER is received). * Application can decide to accept/reject transfer request * by setting the code (default is 202). When this callback * is not defined, the default behavior is to accept the @@ -746,11 +782,11 @@ typedef struct pjsua_callback * * @param call_id The call index. * @param dst The destination where the call will be - * transfered to. + * transferred to. * @param code Status code to be returned for the call transfer * request. On input, it contains status code 200. * @param opt The current call setting, application can update - * this setting for the call being transfered. + * this setting for the call being transferred. */ void (*on_call_transfer_request2)(pjsua_call_id call_id, const pj_str_t *dst, @@ -1276,6 +1312,27 @@ typedef struct pjsua_callback pjmedia_transport *base_tp, unsigned flags); + /** + * This callback can be used by application to override the account + * to be used to handle an incoming message. Initially, the account to + * be used will be calculated automatically by the library. This initial + * account will be used if application does not implement this callback, + * or application sets an invalid account upon returning from this + * callback. + * + * Note that currently the incoming messages requiring account assignment + * are INVITE, MESSAGE, SUBSCRIBE, and unsolicited NOTIFY. This callback + * may be called before the callback of the SIP event itself, i.e: + * incoming call, pager, subscription, or unsolicited-event. + * + * @param rdata The incoming message. + * @param acc_id On input, initial account ID calculated automatically + * by the library. On output, the account ID prefered + * by application to handle the incoming message. + */ + void (*on_acc_find_for_incoming)(const pjsip_rx_data *rdata, + pjsua_acc_id* acc_id); + } pjsua_callback; @@ -1663,6 +1720,13 @@ PJ_DECL(void) pjsua_config_dup(pj_pool_t *pool, */ struct pjsua_msg_data { + /** + * Optional remote target URI (i.e. Target header). If NULL, the target + * will be set to the remote URI (To header). At the moment this field + * is only used by #pjsua_call_make_call() and #pjsua_im_send(). + */ + pj_str_t target_uri; + /** * Additional message headers as linked list. Application can add * headers to the list by creating the header, either from the heap/pool @@ -1818,6 +1882,26 @@ PJ_DECL(pj_status_t) pjsua_destroy2(unsigned flags); PJ_DECL(int) pjsua_handle_events(unsigned msec_timeout); +/** + * Register a thread to poll for events. This function should be + * called by an external worker thread, and it will block polling + * for events until the library is destroyed. + * + * @return PJ_SUCCESS if things are working correctly + * or an error polling cannot be done for some + * reason. + */ +PJ_DECL(pj_status_t) pjsua_register_worker_thread(const char *name); + + +/** + * Signal all worker threads to quit. This will only wait until internal + * threads are done. For external threads, application must perform + * its own waiting for the external threads to quit from + * pjsua_register_worker_thread() function. + */ +PJ_DECL(void) pjsua_stop_worker_threads(void); + /** * Create memory pool to be used by the application. Once application * finished using the pool, it must be released with pj_pool_release(). @@ -2472,16 +2556,6 @@ PJ_DECL(pj_status_t) pjsua_transport_close( pjsua_transport_id id, #endif -/** - * This macro specifies the URI scheme to use in Contact header - * when secure transport such as TLS is used. Application can specify - * either "sip" or "sips". - */ -#ifndef PJSUA_SECURE_SCHEME -# define PJSUA_SECURE_SCHEME "sip" -#endif - - /** * Maximum time to wait for unpublication transaction(s) to complete * during shutdown process, before sending unregistration. The library @@ -2512,25 +2586,18 @@ PJ_DECL(pj_status_t) pjsua_transport_close( pjsua_transport_id id, /** * This macro specifies the default value for \a contact_rewrite_method - * field in pjsua_acc_config. I specifies how Contact update will be + * field in pjsua_acc_config. It specifies how Contact update will be * done with the registration, if \a allow_contact_rewrite is enabled in - * the account config. - * - * If set to 1, the Contact update will be done by sending unregistration - * to the currently registered Contact, while simultaneously sending new - * registration (with different Call-ID) for the updated Contact. + * the account config. See \a pjsua_contact_rewrite_method for the options. * - * If set to 2, the Contact update will be done in a single, current - * registration session, by removing the current binding (by setting its - * Contact's expires parameter to zero) and adding a new Contact binding, - * all done in a single request. + * Value PJSUA_CONTACT_REWRITE_UNREGISTER(1) is the legacy behavior. * - * Value 1 is the legacy behavior. - * - * Default value: 2 + * Default value: PJSUA_CONTACT_REWRITE_NO_UNREG(2) | + * PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE(4) */ #ifndef PJSUA_CONTACT_REWRITE_METHOD -# define PJSUA_CONTACT_REWRITE_METHOD 2 +# define PJSUA_CONTACT_REWRITE_METHOD (PJSUA_CONTACT_REWRITE_NO_UNREG | \ + PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE) #endif @@ -2982,20 +3049,13 @@ typedef struct pjsua_acc_config /** * Specify how Contact update will be done with the registration, if - * \a allow_contact_rewrite is enabled. - * - * If set to 1, the Contact update will be done by sending unregistration - * to the currently registered Contact, while simultaneously sending new - * registration (with different Call-ID) for the updated Contact. + * \a allow_contact_rewrite is enabled. The value is bitmask combination of + * \a pjsua_contact_rewrite_method. See also pjsua_contact_rewrite_method. * - * If set to 2, the Contact update will be done in a single, current - * registration session, by removing the current binding (by setting its - * Contact's expires parameter to zero) and adding a new Contact binding, - * all done in a single request. + * Value PJSUA_CONTACT_REWRITE_UNREGISTER(1) is the legacy behavior. * - * Value 1 is the legacy behavior. - * - * Default value: PJSUA_CONTACT_REWRITE_METHOD (2) + * Default value: PJSUA_CONTACT_REWRITE_METHOD + * (PJSUA_CONTACT_REWRITE_NO_UNREG | PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE) */ int contact_rewrite_method; @@ -3009,6 +3069,18 @@ typedef struct pjsua_acc_config */ pj_bool_t allow_via_rewrite; + /** + * This option controls whether the IP address in SDP should be replaced + * with the IP address found in Via header of the REGISTER response, ONLY + * when STUN and ICE are not used. If the value is FALSE (the original + * behavior), then the local IP address will be used. If TRUE, and when + * STUN and ICE are disabled, then the IP address found in registration + * response will be used. + * + * Default: PJ_FALSE (no) + */ + pj_bool_t allow_sdp_nat_rewrite; + /** * Control the use of SIP outbound feature. SIP outbound is described in * RFC 5626 to enable proxies or registrar to send inbound requests back @@ -3549,11 +3621,13 @@ PJ_DECL(pj_status_t) pjsua_acc_del(pjsua_acc_id acc_id); * data is only valid until the account is destroyed. * * @param acc_id The account ID. + * @param pool Pool to duplicate the config. * @param acc_cfg Structure to receive the settings. * * @return PJ_SUCCESS on success, or the appropriate error code. */ PJ_DECL(pj_status_t) pjsua_acc_get_config(pjsua_acc_id acc_id, + pj_pool_t *pool, pjsua_acc_config *acc_cfg); @@ -4009,12 +4083,12 @@ typedef enum pjsua_call_flag /** * Update the local invite session's contact with the contact URI from - * the account. This flag is only valid for #pjsua_call_reinvite() and - * #pjsua_call_update(). This flag is useful in IP address change - * situation, after the local account's Contact has been updated - * (typically with re-registration) use this flag to update the invite - * session with the new Contact and to inform this new Contact to the - * remote peer with the outgoing re-INVITE or UPDATE + * the account. This flag is only valid for #pjsua_call_set_hold2(), + * #pjsua_call_reinvite() and #pjsua_call_update(). This flag is useful + * in IP address change situation, after the local account's Contact has + * been updated (typically with re-registration) use this flag to update + * the invite session with the new Contact and to inform this new Contact + * to the remote peer with the outgoing re-INVITE or UPDATE. */ PJSUA_CALL_UPDATE_CONTACT = 2, @@ -4367,7 +4441,9 @@ PJ_DECL(pj_status_t) pjsua_call_get_rem_nat_type(pjsua_call_id call_id, * @param reason Optional reason phrase. If NULL, default text * will be used. * @param msg_data Optional list of headers etc to be added to outgoing - * response message. + * response message. Note that this message data will + * be persistent in all next answers/responses for this + * INVITE request. * * @return PJ_SUCCESS on success, or the appropriate error code. */ @@ -4396,7 +4472,9 @@ PJ_DECL(pj_status_t) pjsua_call_answer(pjsua_call_id call_id, * @param reason Optional reason phrase. If NULL, default text * will be used. * @param msg_data Optional list of headers etc to be added to outgoing - * response message. + * response message. Note that this message data will + * be persistent in all next answers/responses for this + * INVITE request. * * @return PJ_SUCCESS on success, or the appropriate error code. */ @@ -4474,6 +4552,24 @@ PJ_DECL(pj_status_t) pjsua_call_process_redirect(pjsua_call_id call_id, PJ_DECL(pj_status_t) pjsua_call_set_hold(pjsua_call_id call_id, const pjsua_msg_data *msg_data); +/** + * Put the specified call on hold. This will send re-INVITE with the + * appropriate SDP to inform remote that the call is being put on hold. + * The final status of the request itself will be reported on the + * \a on_call_media_state() callback, which inform the application that + * the media state of the call has changed. + * + * @param call_id Call identification. + * @param options Bitmask of pjsua_call_flag constants. Currently, only + * the flag PJSUA_CALL_UPDATE_CONTACT can be used. + * @param msg_data Optional message components to be sent with + * the request. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjsua_call_set_hold2(pjsua_call_id call_id, + unsigned options, + const pjsua_msg_data *msg_data); /** * Send re-INVITE to release hold. @@ -4555,7 +4651,7 @@ PJ_DECL(pj_status_t) pjsua_call_update2(pjsua_call_id call_id, * \a on_call_transfer_status() callback which will report the progress * of the call transfer request. * - * @param call_id The call id to be transfered. + * @param call_id The call id to be transferred. * @param dest URI of new target to be contacted. The URI may be * in name address or addr-spec format. * @param msg_data Optional message components to be sent with @@ -4580,7 +4676,7 @@ PJ_DECL(pj_status_t) pjsua_call_xfer(pjsua_call_id call_id, * of \a dest_call_id. The party at \a dest_call_id then should "replace" * the call with us with the new call from the REFER recipient. * - * @param call_id The call id to be transfered. + * @param call_id The call id to be transferred. * @param dest_call_id The call id to be replaced. * @param options Application may specify PJSUA_XFER_NO_REQUIRE_REPLACES * to suppress the inclusion of "Require: replaces" in @@ -4597,10 +4693,12 @@ PJ_DECL(pj_status_t) pjsua_call_xfer_replaces(pjsua_call_id call_id, const pjsua_msg_data *msg_data); /** - * Send DTMF digits to remote using RFC 2833 payload formats. + * Send DTMF digits to remote using RFC 2833 payload formats. * * @param call_id Call identification. - * @param digits DTMF string digits to be sent. + * @param digits DTMF string digits to be sent as described on RFC 2833 + * section 3.10. Character 'R' is used to represent the + * event type 16 (flash) as stated in RFC 4730. * * @return PJ_SUCCESS on success, or the appropriate error code. */ @@ -5520,9 +5618,10 @@ struct pjsua_media_config /** * Jitter buffer initial prefetch delay in msec. The value must be - * between jb_min_pre and jb_max_pre below. + * between jb_min_pre and jb_max_pre below. If the value is 0, + * prefetching will be disabled. * - * Default: -1 (to use default stream settings, currently 150 msec) + * Default: -1 (to use default stream settings, currently 0) */ int jb_init; @@ -5639,6 +5738,17 @@ struct pjsua_media_config * Default: PJ_FALSE */ pj_bool_t no_smart_media_update; + + /** + * Omit RTCP SDES and BYE in outgoing RTCP packet, this setting will be + * applied for both audio and video streams. Note that, when RTCP SDES + * and BYE are set to be omitted, RTCP SDES will still be sent once when + * the stream starts/stops and RTCP BYE will be sent once when the stream + * stops. + * + * Default: PJ_FALSE + */ + pj_bool_t no_rtcp_sdes_bye; }; @@ -5692,6 +5802,9 @@ typedef struct pjsua_conf_port_info /** Port name. */ pj_str_t name; + /** Format. */ + pjmedia_format format; + /** Clock rate. */ unsigned clock_rate; @@ -5704,6 +5817,12 @@ typedef struct pjsua_conf_port_info /** Bits per sample */ unsigned bits_per_sample; + /** Tx level adjustment. */ + float tx_level_adj; + + /** Rx level adjustment. */ + float rx_level_adj; + /** Number of listeners in the array. */ unsigned listener_cnt; @@ -5951,6 +6070,29 @@ PJ_DECL(pjsua_conf_port_id) pjsua_player_get_conf_port(pjsua_player_id id); PJ_DECL(pj_status_t) pjsua_player_get_port(pjsua_player_id id, pjmedia_port **p_port); +/** + * Get additional info about the file player. This operation is not valid + * for playlist. + * + * @param port The file player ID. + * @param info The info. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjsua_player_get_info(pjsua_player_id id, + pjmedia_wav_player_info *info); + + +/** + * Get playback position. This operation is not valid for playlist. + * + * @param id The file player ID. + * + * @return The current playback position, in samples. On error, + * return the error code as negative value. + */ +PJ_DECL(pj_ssize_t) pjsua_player_get_pos(pjsua_player_id id); + /** * Set playback position. This operation is not valid for playlist. * @@ -5963,7 +6105,6 @@ PJ_DECL(pj_status_t) pjsua_player_get_port(pjsua_player_id id, PJ_DECL(pj_status_t) pjsua_player_set_pos(pjsua_player_id id, pj_uint32_t samples); - /** * Close the file of playlist, remove the player from the bridge, and free * resources associated with the file player or playlist. diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsua-lib/pjsua_internal.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua-lib/pjsua_internal.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsua-lib/pjsua_internal.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsua-lib/pjsua_internal.h index 3b38679250097ac15843178edf84fd7f6b49e2da..a4c1bb73e01e10e8583041ab8c105770b13e953a 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsua-lib/pjsua_internal.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua-lib/pjsua_internal.h @@ -1,4 +1,4 @@ -/* $Id: pjsua_internal.h 4342 2013-02-06 13:48:45Z nanang $ */ +/* $Id: pjsua_internal.h 4750 2014-02-19 04:11:43Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -214,6 +214,7 @@ typedef struct pjsua_acc int index; /**< Index in accounts array. */ pj_str_t display; /**< Display name, if any. */ pj_str_t user_part; /**< User part of local URI. */ + pj_bool_t is_sips; /**< Local URI uses "sips"? */ pj_str_t contact; /**< Our Contact header. */ pj_str_t reg_contact; /**< Contact header for REGISTER. It may be different than acc @@ -229,6 +230,10 @@ typedef struct pjsua_acc pj_status_t reg_last_err; /**< Last registration error. */ int reg_last_code; /**< Last status last register. */ + pj_str_t reg_mapped_addr;/**< Our addr as seen by reg srv. + Only if allow_sdp_nat_rewrite + is set */ + struct { pj_bool_t active; /**< Flag of reregister status. */ pj_timer_entry timer; /**< Timer for reregistration. */ @@ -263,6 +268,8 @@ typedef struct pjsua_acc pjsip_evsub *mwi_sub; /**< MWI client subscription */ pjsip_dialog *mwi_dlg; /**< Dialog for MWI sub. */ + + pj_uint16_t next_rtp_port; /**< Next RTP port to be used. */ } pjsua_acc; @@ -628,6 +635,12 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, const pjmedia_sdp_session *remote_sdp); pj_status_t pjsua_media_channel_deinit(pjsua_call_id call_id); +/* + * Error message when media operation is requested while another is in progress + */ +#define ERR_MEDIA_CHANGING " because another media operation is in progress" + +pj_bool_t pjsua_call_media_is_changing(pjsua_call *call); pj_status_t pjsua_call_media_init(pjsua_call_media *call_med, pjmedia_type type, const pjsua_transport_config *tcfg, diff --git a/daemon/libs/pjproject-2.1.0/pjsip/include/pjsua.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/include/pjsua.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsua.h diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/ua.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2.hpp similarity index 66% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/ua.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2.hpp index 51a4a6308be5ece932d532bb35d8c7a8c0fb7a13..214e73ce6c5ef6212012663c91a2fd12fef9bb39 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/symbian_ua/ua.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2.hpp @@ -1,7 +1,6 @@ -/* $Id: ua.h 3553 2011-05-05 06:14:19Z nanang $ */ -/* - * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) - * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> +/* $Id: pjsua2.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2013 Teluu Inc. (http://www.teluu.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,10 +14,16 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include <e32cons.h> +#ifndef __PJSUA2_HPP__ +#define __PJSUA2_HPP__ -extern CConsoleBase* console; +#include <pjsua2/endpoint.hpp> +#include <pjsua2/account.hpp> +#include <pjsua2/call.hpp> +#include <pjsua2/presence.hpp> +#include <pjsua2/media.hpp> +#include <pjsua2/json.hpp> -int ua_main(); +#endif diff --git a/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/account.hpp b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/account.hpp new file mode 100644 index 0000000000000000000000000000000000000000..49ad2f94d4ca97d7e792c52448916d1f02d70911 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/account.hpp @@ -0,0 +1,1557 @@ +/* $Id: account.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA2_ACCOUNT_HPP__ +#define __PJSUA2_ACCOUNT_HPP__ + +/** + * @file pjsua2/account.hpp + * @brief PJSUA2 Account operations + */ +#include <pjsua-lib/pjsua.h> +#include <pjsua2/persistent.hpp> +#include <pjsua2/presence.hpp> +#include <pjsua2/siptypes.hpp> + +/** PJSUA2 API is inside pj namespace */ +namespace pj +{ + +/** + * @defgroup PJSUA2_ACC Account + * @ingroup PJSUA2_Ref + * @{ + */ + +using std::string; + +/** + * Account registration config. This will be specified in AccountConfig. + */ +struct AccountRegConfig : public PersistentObject +{ + /** + * This is the URL to be put in the request URI for the registration, + * and will look something like "sip:serviceprovider". + * + * This field should be specified if registration is desired. If the + * value is empty, no account registration will be performed. + */ + string registrarUri; + + /** + * Specify whether the account should register as soon as it is + * added to the UA. Application can set this to PJ_FALSE and control + * the registration manually with pjsua_acc_set_registration(). + * + * Default: True + */ + bool registerOnAdd; + + /** + * The optional custom SIP headers to be put in the registration + * request. + */ + SipHeaderVector headers; + + /** + * Optional interval for registration, in seconds. If the value is zero, + * default interval will be used (PJSUA_REG_INTERVAL, 300 seconds). + */ + unsigned timeoutSec; + + /** + * Specify interval of auto registration retry upon registration failure + * (including caused by transport problem), in second. Set to 0 to + * disable auto re-registration. Note that if the registration retry + * occurs because of transport failure, the first retry will be done + * after \a firstRetryIntervalSec seconds instead. Also note that + * the interval will be randomized slightly by approximately +/- ten + * seconds to avoid all clients re-registering at the same time. + * + * See also \a firstRetryIntervalSec setting. + * + * Default: PJSUA_REG_RETRY_INTERVAL + */ + unsigned retryIntervalSec; + + /** + * This specifies the interval for the first registration retry. The + * registration retry is explained in \a retryIntervalSec. Note that + * the value here will also be randomized by +/- ten seconds. + * + * Default: 0 + */ + unsigned firstRetryIntervalSec; + + /** + * Specify the number of seconds to refresh the client registration + * before the registration expires. + * + * Default: PJSIP_REGISTER_CLIENT_DELAY_BEFORE_REFRESH, 5 seconds + */ + unsigned delayBeforeRefreshSec; + + /** + * Specify whether calls of the configured account should be dropped + * after registration failure and an attempt of re-registration has + * also failed. + * + * Default: FALSE (disabled) + */ + bool dropCallsOnFail; + + /** + * Specify the maximum time to wait for unregistration requests to + * complete during library shutdown sequence. + * + * Default: PJSUA_UNREG_TIMEOUT + */ + unsigned unregWaitSec; + + /** + * Specify how the registration uses the outbound and account proxy + * settings. This controls if and what Route headers will appear in + * the REGISTER request of this account. The value is bitmask combination + * of PJSUA_REG_USE_OUTBOUND_PROXY and PJSUA_REG_USE_ACC_PROXY bits. + * If the value is set to 0, the REGISTER request will not use any proxy + * (i.e. it will not have any Route headers). + * + * Default: 3 (PJSUA_REG_USE_OUTBOUND_PROXY | PJSUA_REG_USE_ACC_PROXY) + */ + unsigned proxyUse; + +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); + +}; + +/** Array of SIP credentials */ +typedef std::vector<AuthCredInfo> AuthCredInfoVector; + +/** + * Various SIP settings for the account. This will be specified in + * AccountConfig. + */ +struct AccountSipConfig : public PersistentObject +{ + /** + * Array of credentials. If registration is desired, normally there should + * be at least one credential specified, to successfully authenticate + * against the service provider. More credentials can be specified, for + * example when the requests are expected to be challenged by the + * proxies in the route set. + */ + AuthCredInfoVector authCreds; + + /** + * Array of proxy servers to visit for outgoing requests. Each of the + * entry is translated into one Route URI. + */ + StringVector proxies; + + /** + * Optional URI to be put as Contact for this account. It is recommended + * that this field is left empty, so that the value will be calculated + * automatically based on the transport address. + */ + string contactForced; + + /** + * Additional parameters that will be appended in the Contact header + * for this account. This will affect the Contact header in all SIP + * messages sent on behalf of this account, including but not limited to + * REGISTER, INVITE, and SUBCRIBE requests or responses. + * + * The parameters should be preceeded by semicolon, and all strings must + * be properly escaped. Example: + * ";my-param=X;another-param=Hi%20there" + */ + string contactParams; + + /** + * Additional URI parameters that will be appended in the Contact URI + * for this account. This will affect the Contact URI in all SIP + * messages sent on behalf of this account, including but not limited to + * REGISTER, INVITE, and SUBCRIBE requests or responses. + * + * The parameters should be preceeded by semicolon, and all strings must + * be properly escaped. Example: + * ";my-param=X;another-param=Hi%20there" + */ + string contactUriParams; + + + /** + * If this flag is set, the authentication client framework will + * send an empty Authorization header in each initial request. + * Default is no. + */ + bool authInitialEmpty; + + /** + * Specify the algorithm to use when empty Authorization header + * is to be sent for each initial request (see above) + */ + string authInitialAlgorithm; + + /** + * Optionally bind this account to specific transport. This normally is + * not a good idea, as account should be able to send requests using + * any available transports according to the destination. But some + * application may want to have explicit control over the transport to + * use, so in that case it can set this field. + * + * Default: -1 (PJSUA_INVALID_ID) + * + * @see Account::setTransport() + */ + TransportId transportId; + +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + +/** + * Account's call settings. This will be specified in AccountConfig. + */ +struct AccountCallConfig : public PersistentObject +{ + /** + * Specify how to offer call hold to remote peer. Please see the + * documentation on pjsua_call_hold_type for more info. + * + * Default: PJSUA_CALL_HOLD_TYPE_DEFAULT + */ + pjsua_call_hold_type holdType; + + /** + * Specify how support for reliable provisional response (100rel/ + * PRACK) should be used for all sessions in this account. See the + * documentation of pjsua_100rel_use enumeration for more info. + * + * Default: PJSUA_100REL_NOT_USED + */ + pjsua_100rel_use prackUse; + + /** + * Specify the usage of Session Timers for all sessions. See the + * pjsua_sip_timer_use for possible values. + * + * Default: PJSUA_SIP_TIMER_OPTIONAL + */ + pjsua_sip_timer_use timerUse; + + /** + * Specify minimum Session Timer expiration period, in seconds. + * Must not be lower than 90. Default is 90. + */ + unsigned timerMinSESec; + + /** + * Specify Session Timer expiration period, in seconds. + * Must not be lower than timerMinSE. Default is 1800. + */ + unsigned timerSessExpiresSec; + +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + +/** + * Account presence config. This will be specified in AccountConfig. + */ +struct AccountPresConfig : public PersistentObject +{ + /** + * The optional custom SIP headers to be put in the presence + * subscription request. + */ + SipHeaderVector headers; + + /** + * If this flag is set, the presence information of this account will + * be PUBLISH-ed to the server where the account belongs. + * + * Default: PJ_FALSE + */ + bool publishEnabled; + + /** + * Specify whether the client publication session should queue the + * PUBLISH request should there be another PUBLISH transaction still + * pending. If this is set to false, the client will return error + * on the PUBLISH request if there is another PUBLISH transaction still + * in progress. + * + * Default: PJSIP_PUBLISHC_QUEUE_REQUEST (TRUE) + */ + bool publishQueue; + + /** + * Maximum time to wait for unpublication transaction(s) to complete + * during shutdown process, before sending unregistration. The library + * tries to wait for the unpublication (un-PUBLISH) to complete before + * sending REGISTER request to unregister the account, during library + * shutdown process. If the value is set too short, it is possible that + * the unregistration is sent before unpublication completes, causing + * unpublication request to fail. + * + * Value is in milliseconds. + * + * Default: PJSUA_UNPUBLISH_MAX_WAIT_TIME_MSEC (2000) + */ + unsigned publishShutdownWaitMsec; + + /** + * Optional PIDF tuple ID for outgoing PUBLISH and NOTIFY. If this value + * is not specified, a random string will be used. + */ + string pidfTupleId; + +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + +/** + * Account MWI (Message Waiting Indication) settings. This will be specified + * in AccountConfig. + */ +struct AccountMwiConfig : public PersistentObject +{ + /** + * Subscribe to message waiting indication events (RFC 3842). + * + * See also UaConfig.mwiUnsolicitedEnabled setting. + * + * Default: FALSE + */ + bool enabled; + + /** + * Specify the default expiration time (in seconds) for Message + * Waiting Indication (RFC 3842) event subscription. This must not + * be zero. + * + * Default: PJSIP_MWI_DEFAULT_EXPIRES (3600) + */ + unsigned expirationSec; + +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + +/** + * Account's NAT (Network Address Translation) settings. This will be + * specified in AccountConfig. + */ +struct AccountNatConfig : public PersistentObject +{ + /** + * Control the use of STUN for the SIP signaling. + * + * Default: PJSUA_STUN_USE_DEFAULT + */ + pjsua_stun_use sipStunUse; + + /** + * Control the use of STUN for the media transports. + * + * Default: PJSUA_STUN_USE_DEFAULT + */ + pjsua_stun_use mediaStunUse; + + /** + * Enable ICE for the media transport. + * + * Default: False + */ + bool iceEnabled; + + /** + * Set the maximum number of ICE host candidates. + * + * Default: -1 (maximum not set) + */ + int iceMaxHostCands; + + /** + * Specify whether to use aggressive nomination. + * + * Default: True + */ + bool iceAggressiveNomination; + + /** + * For controlling agent if it uses regular nomination, specify the delay + * to perform nominated check (connectivity check with USE-CANDIDATE + * attribute) after all components have a valid pair. + * + * Default value is PJ_ICE_NOMINATED_CHECK_DELAY. + */ + unsigned iceNominatedCheckDelayMsec; + + /** + * For a controlled agent, specify how long it wants to wait (in + * milliseconds) for the controlling agent to complete sending + * connectivity check with nominated flag set to true for all components + * after the controlled agent has found that all connectivity checks in + * its checklist have been completed and there is at least one successful + * (but not nominated) check for every component. + * + * Default value for this option is + * ICE_CONTROLLED_AGENT_WAIT_NOMINATION_TIMEOUT. Specify -1 to disable + * this timer. + */ + int iceWaitNominationTimeoutMsec; + + /** + * Disable RTCP component. + * + * Default: False + */ + bool iceNoRtcp; + + /** + * Always send re-INVITE/UPDATE after ICE negotiation regardless of whether + * the default ICE transport address is changed or not. When this is set + * to False, re-INVITE/UPDATE will be sent only when the default ICE + * transport address is changed. + * + * Default: yes + */ + bool iceAlwaysUpdate; + + /** + * Enable TURN candidate in ICE. + */ + bool turnEnabled; + + /** + * Specify TURN domain name or host name, in in "DOMAIN:PORT" or + * "HOST:PORT" format. + */ + string turnServer; + + /** + * Specify the connection type to be used to the TURN server. Valid + * values are PJ_TURN_TP_UDP or PJ_TURN_TP_TCP. + * + * Default: PJ_TURN_TP_UDP + */ + pj_turn_tp_type turnConnType; + + /** + * Specify the username to authenticate with the TURN server. + */ + string turnUserName; + + /** + * Specify the type of password. Currently this must be zero to + * indicate plain-text password will be used in the password. + */ + int turnPasswordType; + + /** + * Specify the password to authenticate with the TURN server. + */ + string turnPassword; + + /** + * This option is used to update the transport address and the Contact + * header of REGISTER request. When this option is enabled, the library + * will keep track of the public IP address from the response of REGISTER + * request. Once it detects that the address has changed, it will + * unregister current Contact, update the Contact with transport address + * learned from Via header, and register a new Contact to the registrar. + * This will also update the public name of UDP transport if STUN is + * configured. + * + * See also contactRewriteMethod field. + * + * Default: TRUE + */ + int contactRewriteUse; + + /** + * Specify how Contact update will be done with the registration, if + * \a contactRewriteEnabled is enabled. The value is bitmask combination of + * \a pjsua_contact_rewrite_method. See also pjsua_contact_rewrite_method. + * + * Value PJSUA_CONTACT_REWRITE_UNREGISTER(1) is the legacy behavior. + * + * Default value: PJSUA_CONTACT_REWRITE_METHOD + * (PJSUA_CONTACT_REWRITE_NO_UNREG | PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE) + */ + int contactRewriteMethod; + + /** + * This option is used to overwrite the "sent-by" field of the Via header + * for outgoing messages with the same interface address as the one in + * the REGISTER request, as long as the request uses the same transport + * instance as the previous REGISTER request. + * + * Default: TRUE + */ + int viaRewriteUse; + + /** + * This option controls whether the IP address in SDP should be replaced + * with the IP address found in Via header of the REGISTER response, ONLY + * when STUN and ICE are not used. If the value is FALSE (the original + * behavior), then the local IP address will be used. If TRUE, and when + * STUN and ICE are disabled, then the IP address found in registration + * response will be used. + * + * Default: PJ_FALSE (no) + */ + int sdpNatRewriteUse; + + /** + * Control the use of SIP outbound feature. SIP outbound is described in + * RFC 5626 to enable proxies or registrar to send inbound requests back + * to UA using the same connection initiated by the UA for its + * registration. This feature is highly useful in NAT-ed deployemtns, + * hence it is enabled by default. + * + * Note: currently SIP outbound can only be used with TCP and TLS + * transports. If UDP is used for the registration, the SIP outbound + * feature will be silently ignored for the account. + * + * Default: TRUE + */ + int sipOutboundUse; + + /** + * Specify SIP outbound (RFC 5626) instance ID to be used by this + * account. If empty, an instance ID will be generated based on + * the hostname of this agent. If application specifies this parameter, the + * value will look like "<urn:uuid:00000000-0000-1000-8000-AABBCCDDEEFF>" + * without the double-quotes. + * + * Default: empty + */ + string sipOutboundInstanceId; + + /** + * Specify SIP outbound (RFC 5626) registration ID. The default value + * is empty, which would cause the library to automatically generate + * a suitable value. + * + * Default: empty + */ + string sipOutboundRegId; + + /** + * Set the interval for periodic keep-alive transmission for this account. + * If this value is zero, keep-alive will be disabled for this account. + * The keep-alive transmission will be sent to the registrar's address, + * after successful registration. + * + * Default: 15 (seconds) + */ + unsigned udpKaIntervalSec; + + /** + * Specify the data to be transmitted as keep-alive packets. + * + * Default: CR-LF + */ + string udpKaData; + +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + +/** + * Account media config (applicable for both audio and video). This will be + * specified in AccountConfig. + */ +struct AccountMediaConfig : public PersistentObject +{ + /** + * Media transport (RTP) configuration. + */ + TransportConfig transportConfig; + + /** + * If remote sends SDP answer containing more than one format or codec in + * the media line, send re-INVITE or UPDATE with just one codec to lock + * which codec to use. + * + * Default: True (Yes). + */ + bool lockCodecEnabled; + + /** + * Specify whether stream keep-alive and NAT hole punching with + * non-codec-VAD mechanism (see PJMEDIA_STREAM_ENABLE_KA) is enabled + * for this account. + * + * Default: False + */ + bool streamKaEnabled; + + /** + * Specify whether secure media transport should be used for this account. + * Valid values are PJMEDIA_SRTP_DISABLED, PJMEDIA_SRTP_OPTIONAL, and + * PJMEDIA_SRTP_MANDATORY. + * + * Default: PJSUA_DEFAULT_USE_SRTP + */ + pjmedia_srtp_use srtpUse; + + /** + * Specify whether SRTP requires secure signaling to be used. This option + * is only used when \a use_srtp option above is non-zero. + * + * Valid values are: + * 0: SRTP does not require secure signaling + * 1: SRTP requires secure transport such as TLS + * 2: SRTP requires secure end-to-end transport (SIPS) + * + * Default: PJSUA_DEFAULT_SRTP_SECURE_SIGNALING + */ + int srtpSecureSignaling; + + /** + * Specify whether IPv6 should be used on media. Default is not used. + */ + pjsua_ipv6_use ipv6Use; + +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + +/** + * Account video config. This will be specified in AccountConfig. + */ +struct AccountVideoConfig : public PersistentObject +{ + /** + * Specify whether incoming video should be shown to screen by default. + * This applies to incoming call (INVITE), incoming re-INVITE, and + * incoming UPDATE requests. + * + * Regardless of this setting, application can detect incoming video + * by implementing \a on_call_media_state() callback and enumerating + * the media stream(s) with pjsua_call_get_info(). Once incoming + * video is recognised, application may retrieve the window associated + * with the incoming video and show or hide it with + * pjsua_vid_win_set_show(). + * + * Default: False + */ + bool autoShowIncoming; + + /** + * Specify whether outgoing video should be activated by default when + * making outgoing calls and/or when incoming video is detected. This + * applies to incoming and outgoing calls, incoming re-INVITE, and + * incoming UPDATE. If the setting is non-zero, outgoing video + * transmission will be started as soon as response to these requests + * is sent (or received). + * + * Regardless of the value of this setting, application can start and + * stop outgoing video transmission with pjsua_call_set_vid_strm(). + * + * Default: False + */ + bool autoTransmitOutgoing; + + /** + * Specify video window's flags. The value is a bitmask combination of + * pjmedia_vid_dev_wnd_flag. + * + * Default: 0 + */ + unsigned windowFlags; + + /** + * Specify the default capture device to be used by this account. If + * vidOutAutoTransmit is enabled, this device will be used for + * capturing video. + * + * Default: PJMEDIA_VID_DEFAULT_CAPTURE_DEV + */ + pjmedia_vid_dev_index defaultCaptureDevice; + + /** + * Specify the default rendering device to be used by this account. + * + * Default: PJMEDIA_VID_DEFAULT_RENDER_DEV + */ + pjmedia_vid_dev_index defaultRenderDevice; + + /** + * Rate control method. + * + * Default: PJMEDIA_VID_STREAM_RC_SIMPLE_BLOCKING. + */ + pjmedia_vid_stream_rc_method rateControlMethod; + + /** + * Upstream/outgoing bandwidth. If this is set to zero, the video stream + * will use codec maximum bitrate setting. + * + * Default: 0 (follow codec maximum bitrate). + */ + unsigned rateControlBandwidth; + +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + +/** + * Account configuration. + */ +struct AccountConfig : public PersistentObject +{ + /** + * Account priority, which is used to control the order of matching + * incoming/outgoing requests. The higher the number means the higher + * the priority is, and the account will be matched first. + */ + int priority; + + /** + * The Address of Record or AOR, that is full SIP URL that identifies the + * account. The value can take name address or URL format, and will look + * something like "sip:account@serviceprovider". + * + * This field is mandatory. + */ + string idUri; + + /** + * Registration settings. + */ + AccountRegConfig regConfig; + + /** + * SIP settings. + */ + AccountSipConfig sipConfig; + + /** + * Call settings. + */ + AccountCallConfig callConfig; + + /** + * Presence settings. + */ + AccountPresConfig presConfig; + + /** + * MWI (Message Waiting Indication) settings. + */ + AccountMwiConfig mwiConfig; + + /** + * NAT settings. + */ + AccountNatConfig natConfig; + + /** + * Media settings (applicable for both audio and video). + */ + AccountMediaConfig mediaConfig; + + /** + * Video settings. + */ + AccountVideoConfig videoConfig; + +public: + /** + * Default constructor will initialize with default values. + */ + AccountConfig(); + + /** + * This will return a temporary pjsua_acc_config instance, which contents + * are only valid as long as this AccountConfig structure remains valid + * AND no modifications are done to it AND no further toPj() function call + * is made. Any call to toPj() function will invalidate the content of + * temporary pjsua_acc_config that was returned by the previous call. + */ + void toPj(pjsua_acc_config &cfg) const; + + /** + * Initialize from pjsip. + */ + void fromPj(const pjsua_acc_config &prm, const pjsua_media_config *mcfg); + + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + + +/** + * Account information. Application can query the account information + * by calling Account::getInfo(). + */ +struct AccountInfo +{ + /** + * The account ID. + */ + pjsua_acc_id id; + + /** + * Flag to indicate whether this is the default account. + */ + bool isDefault; + + /** + * Account URI + */ + string uri; + + /** + * Flag to tell whether this account has registration setting + * (reg_uri is not empty). + */ + bool regIsConfigured; + + /** + * Flag to tell whether this account is currently registered + * (has active registration session). + */ + bool regIsActive; + + /** + * An up to date expiration interval for account registration session. + */ + int regExpiresSec; + + /** + * Last registration status code. If status code is zero, the account + * is currently not registered. Any other value indicates the SIP + * status code of the registration. + */ + pjsip_status_code regStatus; + + /** + * String describing the registration status. + */ + string regStatusText; + + /** + * Last registration error code. When the status field contains a SIP + * status code that indicates a registration failure, last registration + * error code contains the error code that causes the failure. In any + * other case, its value is zero. + */ + pj_status_t regLastErr; + + /** + * Presence online status for this account. + */ + bool onlineStatus; + + /** + * Presence online status text. + */ + string onlineStatusText; + +public: + /** Import from pjsip data */ + void fromPj(const pjsua_acc_info &pai); +}; + +/** + * This structure contains parameters for onIncomingCall() account callback. + */ +struct OnIncomingCallParam +{ + /** + * The library call ID allocated for the new call. + */ + int callId; + + /** + * The incoming INVITE request. + */ + SipRxData rdata; +}; + +/** + * This structure contains parameters for onRegStarted() account callback. + */ +struct OnRegStartedParam +{ + /** + * True for registration and False for unregistration. + */ + bool renew; +}; + +/** + * This structure contains parameters for onRegState() account callback. + */ +struct OnRegStateParam +{ + /** + * Registration operation status. + */ + pj_status_t status; + + /** + * SIP status code received. + */ + pjsip_status_code code; + + /** + * SIP reason phrase received. + */ + string reason; + + /** + * The incoming message. + */ + SipRxData rdata; + + /** + * Next expiration interval. + */ + int expiration; +}; + +/** + * This structure contains parameters for onIncomingSubscribe() callback. + */ +struct OnIncomingSubscribeParam +{ + /** + * Server presence subscription instance. If application delays + * the acceptance of the request, it will need to specify this object + * when calling Account::presNotify(). + */ + void *srvPres; + + /** + * Sender URI. + */ + string fromUri; + + /** + * The incoming message. + */ + SipRxData rdata; + + /** + * The status code to respond to the request. The default value is 200. + * Application may set this to other final status code to accept or + * reject the request. + */ + pjsip_status_code code; + + /** + * The reason phrase to respond to the request. + */ + string reason; + + /** + * Additional data to be sent with the response, if any. + */ + SipTxOption txOption; +}; + +/** + * Parameters for onInstantMessage() account callback. + */ +struct OnInstantMessageParam +{ + /** + * Sender From URI. + */ + string fromUri; + + /** + * To URI of the request. + */ + string toUri; + + /** + * Contact URI of the sender. + */ + string contactUri; + + /** + * MIME type of the message body. + */ + string contentType; + + /** + * The message body. + */ + string msgBody; + + /** + * The whole message. + */ + SipRxData rdata; +}; + +/** + * Parameters for onInstantMessageStatus() account callback. + */ +struct OnInstantMessageStatusParam +{ + /** + * Token or a user data that was associated with the pager + * transmission. + */ + Token userData; + + /** + * Destination URI. + */ + string toUri; + + /** + * The message body. + */ + string msgBody; + + /** + * The SIP status code of the transaction. + */ + pjsip_status_code code; + + /** + * The reason phrase of the transaction. + */ + string reason; + + /** + * The incoming response that causes this callback to be called. + * If the transaction fails because of time out or transport error, + * the content will be empty. + */ + SipRxData rdata; +}; + +/** + * Parameters for onTypingIndication() account callback. + */ +struct OnTypingIndicationParam +{ + /** + * Sender/From URI. + */ + string fromUri; + + /** + * To URI. + */ + string toUri; + + /** + * The Contact URI. + */ + string contactUri; + + /** + * Boolean to indicate if sender is typing. + */ + bool isTyping; + + /** + * The whole message buffer. + */ + SipRxData rdata; +}; + +/** + * Parameters for onMwiInfo() account callback. + */ +struct OnMwiInfoParam +{ + /** + * MWI subscription state. + */ + pjsip_evsub_state state; + + /** + * The whole message buffer. + */ + SipRxData rdata; +}; + +/** + * Parameters for presNotify() account method. + */ +struct PresNotifyParam +{ + /** + * Server presence subscription instance. + */ + void *srvPres; + + /** + * Server presence subscription state to set. + */ + pjsip_evsub_state state; + + /** + * Optionally specify the state string name, if state is not "active", + * "pending", or "terminated". + */ + string stateStr; + + /** + * If the new state is PJSIP_EVSUB_STATE_TERMINATED, optionally specify + * the termination reason. + */ + string reason; + + /** + * If the new state is PJSIP_EVSUB_STATE_TERMINATED, this specifies + * whether the NOTIFY request should contain message body containing + * account's presence information. + */ + bool withBody; + + /** + * Optional list of headers to be sent with the NOTIFY request. + */ + SipTxOption txOption; +}; + + +/** + * Wrapper class for Buddy matching algo. + * + * Default algo is a simple substring lookup of search-token in the + * Buddy URIs, with case sensitive. Application can implement its own + * matching algo by overriding this class and specifying its instance + * in Account::findBuddy(). + */ +class FindBuddyMatch +{ +public: + /** + * Default algo implementation. + */ + virtual bool match(const string &token, const Buddy &buddy) + { + BuddyInfo bi = buddy.getInfo(); + return bi.uri.find(token) != string::npos; + } + + /** + * Destructor. + */ + virtual ~FindBuddyMatch() {} +}; + + +/** + * Account. + */ +class Account +{ +public: + /** + * Constructor. + */ + Account(); + + /** + * Destructor. Note that if the account is deleted, it will also delete + * the corresponding account in the PJSUA-LIB. + */ + virtual ~Account(); + + /** + * Create the account. + * + * @param cfg The account config. + * @param make_default Make this the default account. + */ + void create(const AccountConfig &cfg, + bool make_default=false) throw(Error); + + /** + * Modify the account to use the specified account configuration. + * Depending on the changes, this may cause unregistration or + * reregistration on the account. + * + * @param cfg New account config to be applied to the + * account. + */ + void modify(const AccountConfig &cfg) throw(Error); + + /** + * Check if this account is still valid. + * + * @return True if it is. + */ + bool isValid() const; + + /** + * Set this as default account to be used when incoming and outgoing + * requests don't match any accounts. + * + * @return PJ_SUCCESS on success. + */ + void setDefault() throw(Error); + + /** + * Check if this account is the default account. Default account will be + * used for incoming and outgoing requests that don't match any other + * accounts. + * + * @return True if this is the default account. + */ + bool isDefault() const; + + /** + * Get PJSUA-LIB account ID or index associated with this account. + * + * @return Integer greater than or equal to zero. + */ + int getId() const; + + /** + * Get the Account class for the specified account Id. + * + * @param acc_id The account ID to lookup + * + * @return The Account instance or NULL if not found. + */ + static Account *lookup(int acc_id); + + /** + * Get account info. + * + * @return Account info. + */ + AccountInfo getInfo() const throw(Error); + + /** + * Update registration or perform unregistration. Application normally + * only needs to call this function if it wants to manually update the + * registration or to unregister from the server. + * + * @param renew If False, this will start unregistration + * process. + */ + void setRegistration(bool renew) throw(Error); + + /** + * Set or modify account's presence online status to be advertised to + * remote/presence subscribers. This would trigger the sending of + * outgoing NOTIFY request if there are server side presence subscription + * for this account, and/or outgoing PUBLISH if presence publication is + * enabled for this account. + * + * @param pres_st Presence online status. + */ + void setOnlineStatus(const PresenceStatus &pres_st) throw(Error); + + /** + * Lock/bind this account to a specific transport/listener. Normally + * application shouldn't need to do this, as transports will be selected + * automatically by the library according to the destination. + * + * When account is locked/bound to a specific transport, all outgoing + * requests from this account will use the specified transport (this + * includes SIP registration, dialog (call and event subscription), and + * out-of-dialog requests such as MESSAGE). + * + * Note that transport id may be specified in AccountConfig too. + * + * @param tp_id The transport ID. + */ + void setTransport(TransportId tp_id) throw(Error); + + /** + * Send NOTIFY to inform account presence status or to terminate server + * side presence subscription. If application wants to reject the incoming + * request, it should set the param \a PresNotifyParam.state to + * PJSIP_EVSUB_STATE_TERMINATED. + * + * @param prm The sending NOTIFY parameter. + */ + void presNotify(const PresNotifyParam &prm) throw(Error); + + /** + * Enumerate all buddies of the account. + * + * @return The buddy list. + */ + const BuddyVector& enumBuddies() const throw(Error); + + /** + * Find a buddy in the buddy list with the specified URI. + * + * Exception: if buddy is not found, PJ_ENOTFOUND will be thrown. + * + * @param uri The buddy URI. + * @param buddy_match The buddy match algo. + * + * @return The pointer to buddy. + */ + Buddy* findBuddy(string uri, FindBuddyMatch *buddy_match = NULL) const + throw(Error); + + /** + * An internal function to add a Buddy to Account buddy list. + * This function must never be used by application. + */ + void addBuddy(Buddy *buddy); + + /** + * An internal function to remove a Buddy from Account buddy list. + * This function must never be used by application. + */ + void removeBuddy(Buddy *buddy); + +public: + /* + * Callbacks + */ + /** + * Notify application on incoming call. + * + * @param prm Callback parameter. + */ + virtual void onIncomingCall(OnIncomingCallParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application when registration or unregistration has been + * initiated. Note that this only notifies the initial registration + * and unregistration. Once registration session is active, subsequent + * refresh will not cause this callback to be called. + * + * @param prm Callback parameter. + */ + virtual void onRegStarted(OnRegStartedParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application when registration status has changed. + * Application may then query the account info to get the + * registration details. + * + * @param prm Callback parameter. + */ + virtual void onRegState(OnRegStateParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notification when incoming SUBSCRIBE request is received. Application + * may use this callback to authorize the incoming subscribe request + * (e.g. ask user permission if the request should be granted). + * + * If this callback is not implemented, all incoming presence subscription + * requests will be accepted. + * + * If this callback is implemented, application has several choices on + * what to do with the incoming request: + * - it may reject the request immediately by specifying non-200 class + * final response in the IncomingSubscribeParam.code parameter. + * - it may immediately accept the request by specifying 200 as the + * IncomingSubscribeParam.code parameter. This is the default value if + * application doesn't set any value to the IncomingSubscribeParam.code + * parameter. In this case, the library will automatically send NOTIFY + * request upon returning from this callback. + * - it may delay the processing of the request, for example to request + * user permission whether to accept or reject the request. In this + * case, the application MUST set the IncomingSubscribeParam.code + * argument to 202, then IMMEDIATELY calls presNotify() with + * state PJSIP_EVSUB_STATE_PENDING and later calls presNotify() + * again to accept or reject the subscription request. + * + * Any IncomingSubscribeParam.code other than 200 and 202 will be treated + * as 200. + * + * Application MUST return from this callback immediately (e.g. it must + * not block in this callback while waiting for user confirmation). + * + * @param prm Callback parameter. + */ + virtual void onIncomingSubscribe(OnIncomingSubscribeParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application on incoming instant message or pager (i.e. MESSAGE + * request) that was received outside call context. + * + * @param prm Callback parameter. + */ + virtual void onInstantMessage(OnInstantMessageParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application about the delivery status of outgoing pager/instant + * message (i.e. MESSAGE) request. + * + * @param prm Callback parameter. + */ + virtual void onInstantMessageStatus(OnInstantMessageStatusParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application about typing indication. + * + * @param prm Callback parameter. + */ + virtual void onTypingIndication(OnTypingIndicationParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notification about MWI (Message Waiting Indication) status change. + * This callback can be called upon the status change of the + * SUBSCRIBE request (for example, 202/Accepted to SUBSCRIBE is received) + * or when a NOTIFY reqeust is received. + * + * @param prm Callback parameter. + */ + virtual void onMwiInfo(OnMwiInfoParam &prm) + { PJ_UNUSED_ARG(prm); } + +protected: + friend class Endpoint; + +private: + pjsua_acc_id id; + string tmpReason; // for saving response's reason + BuddyVector buddyList; +}; + +/** + * @} // PJSUA2_ACC + */ + +} // namespace pj + +#endif /* __PJSUA2_ACCOUNT_HPP__ */ + diff --git a/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/call.hpp b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/call.hpp new file mode 100644 index 0000000000000000000000000000000000000000..d1ce0d21d7a167ceccb4b1da06c73aa60141eb92 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/call.hpp @@ -0,0 +1,1715 @@ +/* $Id: call.hpp 4780 2014-03-06 01:02:26Z ming $ */ +/* + * Copyright (C) 2012-2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA2_CALL_HPP__ +#define __PJSUA2_CALL_HPP__ + +/** + * @file pjsua2/call.hpp + * @brief PJSUA2 Call manipulation + */ +#include <pjsua-lib/pjsua.h> +#include <pjsua2/media.hpp> + +/** PJSUA2 API is inside pj namespace */ +namespace pj +{ + +/** + * @defgroup PJSUA2_CALL Call + * @ingroup PJSUA2_Ref + */ + +/** + * @defgroup PJSUA2_Call_Data_Structure Call Related Types + * @ingroup PJSUA2_DS + * @{ + */ + +using std::string; +using std::vector; + +////////////////////////////////////////////////////////////////////////////// + +/** + * Codec parameters, corresponds to pjmedia_codec_param or + * pjmedia_vid_codec_param. + */ +typedef void *CodecParam; + +/** + * Media stream, corresponds to pjmedia_stream + */ +typedef void *MediaStream; + +/** + * Media transport, corresponds to pjmedia_transport + */ +typedef void *MediaTransport; + +/** + * This structure describes statistics state. + */ +struct MathStat +{ + int n; /**< number of samples */ + int max; /**< maximum value */ + int min; /**< minimum value */ + int last; /**< last value */ + int mean; /**< mean */ + +public: + /** + * Default constructor + */ + MathStat(); + + /** + * Convert from pjsip + */ + void fromPj(const pj_math_stat &prm); +}; + +/** + * Unidirectional RTP stream statistics. + */ +struct RtcpStreamStat +{ + TimeVal update; /**< Time of last update. */ + unsigned updateCount;/**< Number of updates (to calculate avg) */ + unsigned pkt; /**< Total number of packets */ + unsigned bytes; /**< Total number of payload/bytes */ + unsigned discard; /**< Total number of discarded packets. */ + unsigned loss; /**< Total number of packets lost */ + unsigned reorder; /**< Total number of out of order packets */ + unsigned dup; /**< Total number of duplicates packets */ + + MathStat lossPeriodUsec; /**< Loss period statistics */ + + struct { + unsigned burst; /**< Burst/sequential packet lost detected */ + unsigned random; /**< Random packet lost detected. */ + } lossType; /**< Types of loss detected. */ + + MathStat jitterUsec; /**< Jitter statistics */ + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjmedia_rtcp_stream_stat &prm); +}; + +/** + * RTCP SDES structure. + */ +struct RtcpSdes +{ + string cname; /**< RTCP SDES type CNAME. */ + string name; /**< RTCP SDES type NAME. */ + string email; /**< RTCP SDES type EMAIL. */ + string phone; /**< RTCP SDES type PHONE. */ + string loc; /**< RTCP SDES type LOC. */ + string tool; /**< RTCP SDES type TOOL. */ + string note; /**< RTCP SDES type NOTE. */ + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjmedia_rtcp_sdes &prm); +}; + +/** + * Bidirectional RTP stream statistics. + */ +struct RtcpStat +{ + TimeVal start; /**< Time when session was created */ + + RtcpStreamStat txStat; /**< Encoder stream statistics. */ + RtcpStreamStat rxStat; /**< Decoder stream statistics. */ + + MathStat rttUsec; /**< Round trip delay statistic. */ + + pj_uint32_t rtpTxLastTs; /**< Last TX RTP timestamp. */ + pj_uint16_t rtpTxLastSeq; /**< Last TX RTP sequence. */ + + MathStat rxIpdvUsec; /**< Statistics of IP packet delay + variation in receiving + direction. It is only used when + PJMEDIA_RTCP_STAT_HAS_IPDV is + set to non-zero. */ + + MathStat rxRawJitterUsec;/**< Statistic of raw jitter in + receiving direction. It is only + used when + PJMEDIA_RTCP_STAT_HAS_RAW_JITTER + is set to non-zero. */ + + RtcpSdes peerSdes; /**< Peer SDES. */ + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjmedia_rtcp_stat &prm); +}; + +/** + * This structure describes jitter buffer state. + */ +struct JbufState +{ + /* Setting */ + unsigned frameSize; /**< Individual frame size, in bytes. */ + unsigned minPrefetch; /**< Minimum allowed prefetch, in frms. */ + unsigned maxPrefetch; /**< Maximum allowed prefetch, in frms. */ + + /* Status */ + unsigned burst; /**< Current burst level, in frames */ + unsigned prefetch; /**< Current prefetch value, in frames */ + unsigned size; /**< Current buffer size, in frames. */ + + /* Statistic */ + unsigned avgDelayMsec; /**< Average delay, in ms. */ + unsigned minDelayMsec; /**< Minimum delay, in ms. */ + unsigned maxDelayMsec; /**< Maximum delay, in ms. */ + unsigned devDelayMsec; /**< Standard deviation of delay, in ms.*/ + unsigned avgBurst; /**< Average burst, in frames. */ + unsigned lost; /**< Number of lost frames. */ + unsigned discard; /**< Number of discarded frames. */ + unsigned empty; /**< Number of empty on GET events. */ + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjmedia_jb_state &prm); +}; + +/** + * This structure describes SDP session description. It corresponds to the + * pjmedia_sdp_session structure. + */ +struct SdpSession +{ + /** + * The whole SDP as a string. + */ + string wholeSdp; + + /** + * Pointer to its original pjmedia_sdp_session. Only valid when the struct + * is converted from PJSIP's pjmedia_sdp_session. + */ + void *pjSdpSession; + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjmedia_sdp_session &sdp); +}; + +/** + * This structure describes a media format changed event. + */ +struct MediaFmtChangedEvent +{ + unsigned newWidth; /**< The new width. */ + unsigned newHeight; /**< The new height. */ +}; + +/** + * This structure describes a media event. It corresponds to the + * pjmedia_event structure. + */ +struct MediaEvent +{ + /** + * The event type. + */ + pjmedia_event_type type; + + /** + * Additional data/parameters about the event. The type of data + * will be specific to the event type being reported. + */ + union { + /** + * Media format changed event data. + */ + MediaFmtChangedEvent fmtChanged; + + /** + * Pointer to storage to user event data, if it's outside + * this struct + */ + GenericData ptr; + } data; + + /** + * Pointer to original pjmedia_event. Only valid when the struct + * is converted from PJSIP's pjmedia_event. + */ + void *pjMediaEvent; + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjmedia_event &ev); +}; + +/** + * This structure describes media transport informations. It corresponds to the + * pjmedia_transport_info structure. + */ +struct MediaTransportInfo +{ + /** + * Remote address where RTP originated from. + */ + SocketAddress srcRtpName; + + /** + * Remote address where RTCP originated from. + */ + SocketAddress srcRtcpName; + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjmedia_transport_info &info); +}; + +////////////////////////////////////////////////////////////////////////////// + +/** + * Call settings. + */ +struct CallSetting +{ + /** + * Bitmask of pjsua_call_flag constants. + * + * Default: PJSUA_CALL_INCLUDE_DISABLED_MEDIA + */ + unsigned flag; + + /** + * This flag controls what methods to request keyframe are allowed on + * the call. Value is bitmask of pjsua_vid_req_keyframe_method. + * + * Default: PJSUA_VID_REQ_KEYFRAME_SIP_INFO | + * PJSUA_VID_REQ_KEYFRAME_RTCP_PLI + */ + unsigned reqKeyframeMethod; + + /** + * Number of simultaneous active audio streams for this call. Setting + * this to zero will disable audio in this call. + * + * Default: 1 + */ + unsigned audioCount; + + /** + * Number of simultaneous active video streams for this call. Setting + * this to zero will disable video in this call. + * + * Default: 1 (if video feature is enabled, otherwise it is zero) + */ + unsigned videoCount; + +public: + /** + * Default constructor initializes with empty or default values. + */ + CallSetting(pj_bool_t useDefaultValues = false); + + /** + * Check if the settings are set with empty values. + * + * @return True if the settings are empty. + */ + bool isEmpty() const; + + /** + * Convert from pjsip + */ + void fromPj(const pjsua_call_setting &prm); + + /** + * Convert to pjsip + */ + pjsua_call_setting toPj() const; +}; + +/** + * Call media information. + */ +struct CallMediaInfo +{ + /** + * Media index in SDP. + */ + unsigned index; + + /** + * Media type. + */ + pjmedia_type type; + + /** + * Media direction. + */ + pjmedia_dir dir; + + /** + * Call media status. + */ + pjsua_call_media_status status; + + /** + * The conference port number for the call. Only valid if the media type + * is audio. + */ + int audioConfSlot; + + /** + * The window id for incoming video, if any, or + * PJSUA_INVALID_ID. Only valid if the media type is video. + */ + pjsua_vid_win_id videoIncomingWindowId; + + /** + * The video capture device for outgoing transmission, if any, + * or PJMEDIA_VID_INVALID_DEV. Only valid if the media type is video. + */ + pjmedia_vid_dev_index videoCapDev; + +public: + /** + * Default constructor + */ + CallMediaInfo(); + + /** + * Convert from pjsip + */ + void fromPj(const pjsua_call_media_info &prm); +}; + +/** Array of call media info */ +typedef std::vector<CallMediaInfo> CallMediaInfoVector; + +/** + * Call information. Application can query the call information + * by calling Call::getInfo(). + */ +struct CallInfo +{ + /** + * Call identification. + */ + pjsua_call_id id; + + /** + * Initial call role (UAC == caller) + */ + pjsip_role_e role; + + /** + * The account ID where this call belongs. + */ + pjsua_acc_id accId; + + /** + * Local URI + */ + string localUri; + + /** + * Local Contact + */ + string localContact; + + /** + * Remote URI + */ + string remoteUri; + + /** + * Remote contact + */ + string remoteContact; + + /** + * Dialog Call-ID string. + */ + string callIdString; + + /** + * Call setting + */ + CallSetting setting; + + /** + * Call state + */ + pjsip_inv_state state; + + /** + * Text describing the state + */ + string stateText; + + /** + * Last status code heard, which can be used as cause code + */ + pjsip_status_code lastStatusCode; + + /** + * The reason phrase describing the last status. + */ + string lastReason; + + /** + * Array of active media information. + */ + CallMediaInfoVector media; + + /** + * Array of provisional media information. This contains the media info + * in the provisioning state, that is when the media session is being + * created/updated (SDP offer/answer is on progress). + */ + CallMediaInfoVector provMedia; + + /** + * Up-to-date call connected duration (zero when call is not + * established) + */ + TimeVal connectDuration; + + /** + * Total call duration, including set-up time + */ + TimeVal totalDuration; + + /** + * Flag if remote was SDP offerer + */ + bool remOfferer; + + /** + * Number of audio streams offered by remote + */ + unsigned remAudioCount; + + /** + * Number of video streams offered by remote + */ + unsigned remVideoCount; + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjsua_call_info &pci); +}; + +/** + * Media stream info. + */ +struct StreamInfo +{ + /** + * Media type of this stream. + */ + pjmedia_type type; + + /** + * Transport protocol (RTP/AVP, etc.) + */ + pjmedia_tp_proto proto; + + /** + * Media direction. + */ + pjmedia_dir dir; + + /** + * Remote RTP address + */ + SocketAddress remoteRtpAddress; + + /** + * Optional remote RTCP address + */ + SocketAddress remoteRtcpAddress; + + /** + * Outgoing codec payload type. + */ + unsigned txPt; + + /** + * Incoming codec payload type. + */ + unsigned rxPt; + + /** + * Codec name. + */ + string codecName; + + /** + * Codec clock rate. + */ + unsigned codecClockRate; + + /** + * Optional codec param. + */ + CodecParam codecParam; + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjsua_stream_info &info); +}; + +/** + * Media stream statistic. + */ +struct StreamStat +{ + /** + * RTCP statistic. + */ + RtcpStat rtcp; + + /** + * Jitter buffer statistic. + */ + JbufState jbuf; + +public: + /** + * Convert from pjsip + */ + void fromPj(const pjsua_stream_stat &prm); +}; + +/** + * This structure contains parameters for Call::onCallState() callback. + */ +struct OnCallStateParam +{ + /** + * Event which causes the call state to change. + */ + SipEvent e; +}; + +/** + * This structure contains parameters for Call::onCallTsxState() callback. + */ +struct OnCallTsxStateParam +{ + /** + * Transaction event that caused the state change. + */ + SipEvent e; +}; + +/** + * This structure contains parameters for Call::onCallMediaState() callback. + */ +struct OnCallMediaStateParam +{ +}; + +/** + * This structure contains parameters for Call::onCallSdpCreated() callback. + */ +struct OnCallSdpCreatedParam +{ + /** + * The SDP has just been created. + */ + SdpSession sdp; + + /** + * The remote SDP, will be empty if local is SDP offerer. + */ + SdpSession remSdp; +}; + +/** + * This structure contains parameters for Call::onStreamCreated() + * callback. + */ +struct OnStreamCreatedParam +{ + /** + * Media stream. + */ + MediaStream stream; + + /** + * Stream index in the media session. + */ + unsigned streamIdx; + + /** + * On input, it specifies the media port of the stream. Application + * may modify this pointer to point to different media port to be + * registered to the conference bridge. + */ + MediaPort pPort; +}; + +/** + * This structure contains parameters for Call::onStreamDestroyed() + * callback. + */ +struct OnStreamDestroyedParam +{ + /** + * Media stream. + */ + MediaStream stream; + + /** + * Stream index in the media session. + */ + unsigned streamIdx; +}; + +/** + * This structure contains parameters for Call::onDtmfDigit() + * callback. + */ +struct OnDtmfDigitParam +{ + /** + * DTMF ASCII digit. + */ + string digit; +}; + +/** + * This structure contains parameters for Call::onCallTransferRequest() + * callback. + */ +struct OnCallTransferRequestParam +{ + /** + * The destination where the call will be transferred to. + */ + string dstUri; + + /** + * Status code to be returned for the call transfer request. On input, + * it contains status code 200. + */ + pjsip_status_code statusCode; + + /** + * The current call setting, application can update this setting + * for the call being transferred. + */ + CallSetting opt; +}; + +/** + * This structure contains parameters for Call::onCallTransferStatus() + * callback. + */ +struct OnCallTransferStatusParam +{ + /** + * Status progress of the transfer request. + */ + pjsip_status_code statusCode; + + /** + * Status progress reason. + */ + string reason; + + /** + * If true, no further notification will be reported. The statusCode + * specified in this callback is the final status. + */ + bool finalNotify; + + /** + * Initially will be set to true, application can set this to false + * if it no longer wants to receive further notification (for example, + * after it hangs up the call). + */ + bool cont; +}; + +/** + * This structure contains parameters for Call::onCallReplaceRequest() + * callback. + */ +struct OnCallReplaceRequestParam +{ + /** + * The incoming INVITE request to replace the call. + */ + SipRxData rdata; + + /** + * Status code to be set by application. Application should only + * return a final status (200-699) + */ + pjsip_status_code statusCode; + + /** + * Optional status text to be set by application. + */ + string reason; + + /** + * The current call setting, application can update this setting for + * the call being replaced. + */ + CallSetting opt; +}; + +/** + * This structure contains parameters for Call::onCallReplaced() callback. + */ +struct OnCallReplacedParam +{ + /** + * The new call id. + */ + pjsua_call_id newCallId; +}; + +/** + * This structure contains parameters for Call::onCallRxOffer() callback. + */ +struct OnCallRxOfferParam +{ + /** + * The new offer received. + */ + SdpSession offer; + + /** + * Status code to be returned for answering the offer. On input, + * it contains status code 200. Currently, valid values are only + * 200 and 488. + */ + pjsip_status_code statusCode; + + /** + * The current call setting, application can update this setting for + * answering the offer. + */ + CallSetting opt; +}; + +/** + * This structure contains parameters for Call::onCallRedirected() callback. + */ +struct OnCallRedirectedParam +{ + /** + * The current target to be tried. + */ + string targetUri; + + /** + * The event that caused this callback to be called. + * This could be the receipt of 3xx response, or 4xx/5xx response + * received for the INVITE sent to subsequent targets, or empty + * (e.type == PJSIP_EVENT_UNKNOWN) + * if this callback is called from within Call::processRedirect() + * context. + */ + SipEvent e; +}; + +/** + * This structure contains parameters for Call::onCallMediaEvent() callback. + */ +struct OnCallMediaEventParam +{ + /** + * The media stream index. + */ + unsigned medIdx; + + /** + * The media event. + */ + MediaEvent ev; +}; + +/** + * This structure contains parameters for Call::onCallMediaTransportState() + * callback. + */ +struct OnCallMediaTransportStateParam +{ + /** + * The media index. + */ + unsigned medIdx; + + /** + * The media transport state + */ + pjsua_med_tp_st state; + + /** + * The last error code related to the media transport state. + */ + pj_status_t status; + + /** + * Optional SIP error code. + */ + int sipErrorCode; +}; + +/** + * This structure contains parameters for Call::onCreateMediaTransport() + * callback. + */ +struct OnCreateMediaTransportParam +{ + /** + * The media index in the SDP for which this media transport will be used. + */ + unsigned mediaIdx; + + /** + * The media transport which otherwise will be used by the call has this + * callback not been implemented. Application can change this to its own + * instance of media transport to be used by the call. + */ + MediaTransport mediaTp; + + /** + * Bitmask from pjsua_create_media_transport_flag. + */ + unsigned flags; +}; + +/** + * @} // PJSUA2_Call_Data_Structure + */ + +/** + * @addtogroup PJSUA2_CALL + * @{ + */ + +/** + * This structure contains parameters for Call::answer(), Call::hangup(), + * Call::reinvite(), Call::update(), Call::xfer(), Call::xferReplaces(), + * Call::setHold(). + */ +struct CallOpParam +{ + /** + * The call setting. + */ + CallSetting opt; + + /** + * Status code. + */ + pjsip_status_code statusCode; + + /** + * Reason phrase. + */ + string reason; + + /** + * Options. + */ + unsigned options; + + /** + * List of headers etc to be added to outgoing response message. + * Note that this message data will be persistent in all next + * answers/responses for this INVITE request. + */ + SipTxOption txOption; + +public: + /** + * Default constructor initializes with zero/empty values. + * Setting useDefaultCallSetting to true will initialize opt with default + * call setting values. + */ + CallOpParam(bool useDefaultCallSetting = false); +}; + +/** + * This structure contains parameters for Call::sendRequest() + */ +struct CallSendRequestParam +{ + /** + * SIP method of the request. + */ + string method; + + /** + * Message body and/or list of headers etc to be included in + * outgoing request. + */ + SipTxOption txOption; + +public: + /** + * Default constructor initializes with zero/empty values. + */ + CallSendRequestParam(); +}; + +/** + * This structure contains parameters for Call::vidSetStream() + */ +struct CallVidSetStreamParam +{ + /** + * Specify the media stream index. This can be set to -1 to denote + * the default video stream in the call, which is the first active + * video stream or any first video stream if none is active. + * + * This field is valid for all video stream operations, except + * PJSUA_CALL_VID_STRM_ADD. + * + * Default: -1 (first active video stream, or any first video stream + * if none is active) + */ + int medIdx; + + /** + * Specify the media stream direction. + * + * This field is valid for the following video stream operations: + * PJSUA_CALL_VID_STRM_ADD and PJSUA_CALL_VID_STRM_CHANGE_DIR. + * + * Default: PJMEDIA_DIR_ENCODING_DECODING + */ + pjmedia_dir dir; + + /** + * Specify the video capture device ID. This can be set to + * PJMEDIA_VID_DEFAULT_CAPTURE_DEV to specify the default capture + * device as configured in the account. + * + * This field is valid for the following video stream operations: + * PJSUA_CALL_VID_STRM_ADD and PJSUA_CALL_VID_STRM_CHANGE_CAP_DEV. + * + * Default: PJMEDIA_VID_DEFAULT_CAPTURE_DEV. + */ + pjmedia_vid_dev_index capDev; + +public: + /** + * Default constructor + */ + CallVidSetStreamParam(); +}; + +/** + * Call. + */ +class Call +{ +public: + /** + * Constructor. + */ + Call(Account& acc, int call_id = PJSUA_INVALID_ID); + + /** + * Destructor. + */ + virtual ~Call(); + + /** + * Obtain detail information about this call. + * + * @return Call info. + */ + CallInfo getInfo() const throw(Error); + + /** + * Check if this call has active INVITE session and the INVITE + * session has not been disconnected. + * + * @return True if call is active. + */ + bool isActive() const; + + /** + * Get PJSUA-LIB call ID or index associated with this call. + * + * @return Integer greater than or equal to zero. + */ + int getId() const; + + /** + * Get the Call class for the specified call Id. + * + * @param call_id The call ID to lookup + * + * @return The Call instance or NULL if not found. + */ + static Call *lookup(int call_id); + + /** + * Check if call has an active media session. + * + * @return True if yes. + */ + bool hasMedia() const; + + /** + * Get media for the specified media index. + * + * @param med_idx Media index. + * + * @return The media or NULL if invalid or inactive. + */ + Media *getMedia(unsigned med_idx) const; + + /** + * Check if remote peer support the specified capability. + * + * @param htype The header type (pjsip_hdr_e) to be checked, which + * value may be: + * - PJSIP_H_ACCEPT + * - PJSIP_H_ALLOW + * - PJSIP_H_SUPPORTED + * @param hname If htype specifies PJSIP_H_OTHER, then the header + * name must be supplied in this argument. Otherwise + * the value must be set to empty string (""). + * @param token The capability token to check. For example, if \a + * htype is PJSIP_H_ALLOW, then \a token specifies the + * method names; if \a htype is PJSIP_H_SUPPORTED, then + * \a token specifies the extension names such as + * "100rel". + * + * @return PJSIP_DIALOG_CAP_SUPPORTED if the specified + * capability is explicitly supported, see + * pjsip_dialog_cap_status for more info. + */ + pjsip_dialog_cap_status remoteHasCap(int htype, + const string &hname, + const string &token) const; + + /** + * Attach application specific data to the call. Application can then + * inspect this data by calling getUserData(). + * + * @param user_data Arbitrary data to be attached to the call. + */ + void setUserData(Token user_data); + + /** + * Get user data attached to the call, which has been previously set with + * setUserData(). + * + * @return The user data. + */ + Token getUserData() const; + + /** + * Get the NAT type of remote's endpoint. This is a proprietary feature + * of PJSUA-LIB which sends its NAT type in the SDP when \a natTypeInSdp + * is set in UaConfig. + * + * This function can only be called after SDP has been received from remote, + * which means for incoming call, this function can be called as soon as + * call is received as long as incoming call contains SDP, and for outgoing + * call, this function can be called only after SDP is received (normally in + * 200/OK response to INVITE). As a general case, application should call + * this function after or in \a onCallMediaState() callback. + * + * @return The NAT type. + * + * @see Endpoint::natGetType(), natTypeInSdp + */ + pj_stun_nat_type getRemNatType() throw(Error); + + /** + * Make outgoing call to the specified URI. + * + * @param dst_uri URI to be put in the To header (normally is the same + * as the target URI). + * @param prm.opt Optional call setting. + * @param prm.txOption Optional headers etc to be added to outgoing INVITE + * request. + */ + void makeCall(const string &dst_uri, const CallOpParam &prm) throw(Error); + + /** + * Send response to incoming INVITE request with call setting param. + * Depending on the status code specified as parameter, this function may + * send provisional response, establish the call, or terminate the call. + * Notes about call setting: + * - if call setting is changed in the subsequent call to this function, + * only the first call setting supplied will applied. So normally + * application will not supply call setting before getting confirmation + * from the user. + * - if no call setting is supplied when SDP has to be sent, i.e: answer + * with status code 183 or 2xx, the default call setting will be used, + * check CallSetting for its default values. + * + * @param prm.opt Optional call setting. + * @param prm.statusCode Status code, (100-699). + * @param prm.reason Optional reason phrase. If empty, default text + * will be used. + * @param prm.txOption Optional list of headers etc to be added to outgoing + * response message. Note that this message data will + * be persistent in all next answers/responses for this + * INVITE request. + */ + void answer(const CallOpParam &prm) throw(Error); + + /** + * Hangup call by using method that is appropriate according to the + * call state. This function is different than answering the call with + * 3xx-6xx response (with answer()), in that this function + * will hangup the call regardless of the state and role of the call, + * while answer() only works with incoming calls on EARLY + * state. + * + * @param prm.statusCode + * Optional status code to be sent when we're rejecting + * incoming call. If the value is zero, "603/Decline" + * will be sent. + * @param prm.reason Optional reason phrase to be sent when we're + * rejecting incoming call. If empty, default text + * will be used. + * @param prm.txOption Optional list of headers etc to be added to outgoing + * request/response message. + */ + void hangup(const CallOpParam &prm) throw(Error); + + /** + * Put the specified call on hold. This will send re-INVITE with the + * appropriate SDP to inform remote that the call is being put on hold. + * The final status of the request itself will be reported on the + * \a onCallMediaState() callback, which inform the application that + * the media state of the call has changed. + * + * @param prm.options Bitmask of pjsua_call_flag constants. Currently, + * only the flag PJSUA_CALL_UPDATE_CONTACT can be used. + * @param prm.txOption Optional message components to be sent with + * the request. + */ + void setHold(const CallOpParam &prm) throw(Error); + + /** + * Send re-INVITE. + * The final status of the request itself will be reported on the + * \a onCallMediaState() callback, which inform the application that + * the media state of the call has changed. + * + * @param prm.opt Optional call setting, if empty, the current call + * setting will remain unchanged. + * @param prm.opt.flag Bitmask of pjsua_call_flag constants. Specifying + * PJSUA_CALL_UNHOLD here will release call hold. + * @param prm.txOption Optional message components to be sent with + * the request. + */ + void reinvite(const CallOpParam &prm) throw(Error); + + /** + * Send UPDATE request. + * + * @param prm.opt Optional call setting, if empty, the current call + * setting will remain unchanged. + * @param prm.txOption Optional message components to be sent with + * the request. + */ + void update(const CallOpParam &prm) throw(Error); + + /** + * Initiate call transfer to the specified address. This function will send + * REFER request to instruct remote call party to initiate a new INVITE + * session to the specified destination/target. + * + * If application is interested to monitor the successfulness and + * the progress of the transfer request, it can implement + * \a onCallTransferStatus() callback which will report the progress + * of the call transfer request. + * + * @param dest URI of new target to be contacted. The URI may be + * in name address or addr-spec format. + * @param prm.txOption Optional message components to be sent with + * the request. + */ + void xfer(const string &dest, const CallOpParam &prm) throw(Error); + + /** + * Initiate attended call transfer. This function will send REFER request + * to instruct remote call party to initiate new INVITE session to the URL + * of \a destCall. The party at \a dest_call then should "replace" + * the call with us with the new call from the REFER recipient. + * + * @param dest_call The call to be replaced. + * @param prm.options Application may specify + * PJSUA_XFER_NO_REQUIRE_REPLACES to suppress the + * inclusion of "Require: replaces" in + * the outgoing INVITE request created by the REFER + * request. + * @param prm.txOption Optional message components to be sent with + * the request. + */ + void xferReplaces(const Call& dest_call, + const CallOpParam &prm) throw(Error); + + /** + * Accept or reject redirection response. Application MUST call this + * function after it signaled PJSIP_REDIRECT_PENDING in the + * \a onCallRedirected() callback, + * to notify the call whether to accept or reject the redirection + * to the current target. Application can use the combination of + * PJSIP_REDIRECT_PENDING command in \a onCallRedirected() callback and + * this function to ask for user permission before redirecting the call. + * + * Note that if the application chooses to reject or stop redirection (by + * using PJSIP_REDIRECT_REJECT or PJSIP_REDIRECT_STOP respectively), the + * call disconnection callback will be called before this function returns. + * And if the application rejects the target, the \a onCallRedirected() + * callback may also be called before this function returns if there is + * another target to try. + * + * @param cmd Redirection operation to be applied to the current + * target. The semantic of this argument is similar + * to the description in the \a onCallRedirected() + * callback, except that the PJSIP_REDIRECT_PENDING is + * not accepted here. + */ + void processRedirect(pjsip_redirect_op cmd) throw(Error); + + /** + * Send DTMF digits to remote using RFC 2833 payload formats. + * + * @param digits DTMF string digits to be sent. + */ + void dialDtmf(const string &digits) throw(Error); + + /** + * Send instant messaging inside INVITE session. + * + * @param prm.contentType + * MIME type. + * @param prm.content The message content. + * @param prm.txOption Optional list of headers etc to be included in + * outgoing request. The body descriptor in the + * txOption is ignored. + * @param prm.userData Optional user data, which will be given back when + * the IM callback is called. + */ + void sendInstantMessage(const SendInstantMessageParam& prm) throw(Error); + + /** + * Send IM typing indication inside INVITE session. + * + * @param prm.isTyping True to indicate to remote that local person is + * currently typing an IM. + * @param prm.txOption Optional list of headers etc to be included in + * outgoing request. + */ + void sendTypingIndication(const SendTypingIndicationParam &prm) + throw(Error); + + /** + * Send arbitrary request with the call. This is useful for example to send + * INFO request. Note that application should not use this function to send + * requests which would change the invite session's state, such as + * re-INVITE, UPDATE, PRACK, and BYE. + * + * @param prm.method SIP method of the request. + * @param prm.txOption Optional message body and/or list of headers to be + * included in outgoing request. + */ + void sendRequest(const CallSendRequestParam &prm) throw(Error); + + /** + * Dump call and media statistics to string. + * + * @param with_media True to include media information too. + * @param indent Spaces for left indentation. + * + * @return Call dump and media statistics string. + */ + string dump(bool with_media, const string indent) throw(Error); + + /** + * Get the media stream index of the default video stream in the call. + * Typically this will just retrieve the stream index of the first + * activated video stream in the call. If none is active, it will return + * the first inactive video stream. + * + * @return The media stream index or -1 if no video stream + * is present in the call. + */ + int vidGetStreamIdx() const; + + /** + * Determine if video stream for the specified call is currently running + * (i.e. has been created, started, and not being paused) for the specified + * direction. + * + * @param med_idx Media stream index, or -1 to specify default video + * media. + * @param dir The direction to be checked. + * + * @return True if stream is currently running for the + * specified direction. + */ + bool vidStreamIsRunning(int med_idx, pjmedia_dir dir) const; + + /** + * Add, remove, modify, and/or manipulate video media stream for the + * specified call. This may trigger a re-INVITE or UPDATE to be sent + * for the call. + * + * @param op The video stream operation to be performed, + * possible values are pjsua_call_vid_strm_op. + * @param param The parameters for the video stream operation + * (see CallVidSetStreamParam). + */ + void vidSetStream(pjsua_call_vid_strm_op op, + const CallVidSetStreamParam ¶m) throw(Error); + + /** + * Get media stream info for the specified media index. + * + * @param med_idx Media stream index. + * + * @return The stream info. + */ + StreamInfo getStreamInfo(unsigned med_idx) const throw(Error); + + /** + * Get media stream statistic for the specified media index. + * + * @param med_idx Media stream index. + * + * @return The stream statistic. + */ + StreamStat getStreamStat(unsigned med_idx) const throw(Error); + + /** + * Get media transport info for the specified media index. + * + * @param med_idx Media stream index. + * + * @return The transport info. + */ + MediaTransportInfo getMedTransportInfo(unsigned med_idx) const throw(Error); + + /** + * Internal function (callled by Endpoint( to process update to call + * medias when call media state changes. + */ + void processMediaUpdate(OnCallMediaStateParam &prm); + + /** + * Internal function (called by Endpoint) to process call state change. + */ + void processStateChange(OnCallStateParam &prm); + +public: + /* + * Callbacks + */ + /** + * Notify application when call state has changed. + * Application may then query the call info to get the + * detail call states by calling getInfo() function. + * + * @param prm Callback parameter. + */ + virtual void onCallState(OnCallStateParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * This is a general notification callback which is called whenever + * a transaction within the call has changed state. Application can + * implement this callback for example to monitor the state of + * outgoing requests, or to answer unhandled incoming requests + * (such as INFO) with a final response. + * + * @param prm Callback parameter. + */ + virtual void onCallTsxState(OnCallTsxStateParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application when media state in the call has changed. + * Normal application would need to implement this callback, e.g. + * to connect the call's media to sound device. When ICE is used, + * this callback will also be called to report ICE negotiation + * failure. + * + * @param prm Callback parameter. + */ + virtual void onCallMediaState(OnCallMediaStateParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application when a call has just created a local SDP (for + * initial or subsequent SDP offer/answer). Application can implement + * this callback to modify the SDP, before it is being sent and/or + * negotiated with remote SDP, for example to apply per account/call + * basis codecs priority or to add custom/proprietary SDP attributes. + * + * @param prm Callback parameter. + */ + virtual void onCallSdpCreated(OnCallSdpCreatedParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application when media session is created and before it is + * registered to the conference bridge. Application may return different + * media port if it has added media processing port to the stream. This + * media port then will be added to the conference bridge instead. + * + * @param prm Callback parameter. + */ + virtual void onStreamCreated(OnStreamCreatedParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application when media session has been unregistered from the + * conference bridge and about to be destroyed. + * + * @param prm Callback parameter. + */ + virtual void onStreamDestroyed(OnStreamDestroyedParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application upon incoming DTMF digits. + * + * @param prm Callback parameter. + */ + virtual void onDtmfDigit(OnDtmfDigitParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application on call being transferred (i.e. REFER is received). + * Application can decide to accept/reject transfer request + * by setting the code (default is 202). When this callback + * is not implemented, the default behavior is to accept the + * transfer. + * + * @param prm Callback parameter. + */ + virtual void onCallTransferRequest(OnCallTransferRequestParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application of the status of previously sent call + * transfer request. Application can monitor the status of the + * call transfer request, for example to decide whether to + * terminate existing call. + * + * @param prm Callback parameter. + */ + virtual void onCallTransferStatus(OnCallTransferStatusParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application about incoming INVITE with Replaces header. + * Application may reject the request by setting non-2xx code. + * + * @param prm Callback parameter. + */ + virtual void onCallReplaceRequest(OnCallReplaceRequestParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application that an existing call has been replaced with + * a new call. This happens when PJSUA-API receives incoming INVITE + * request with Replaces header. + * + * After this callback is called, normally PJSUA-API will disconnect + * this call and establish a new call \a newCallId. + * + * @param prm Callback parameter. + */ + virtual void onCallReplaced(OnCallReplacedParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application when call has received new offer from remote + * (i.e. re-INVITE/UPDATE with SDP is received). Application can + * decide to accept/reject the offer by setting the code (default + * is 200). If the offer is accepted, application can update the + * call setting to be applied in the answer. When this callback is + * not implemented, the default behavior is to accept the offer using + * current call setting. + * + * @param prm Callback parameter. + */ + virtual void onCallRxOffer(OnCallRxOfferParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application on incoming MESSAGE request. + * + * @param prm Callback parameter. + */ + virtual void onInstantMessage(OnInstantMessageParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application about the delivery status of outgoing MESSAGE + * request. + * + * @param prm Callback parameter. + */ + virtual void onInstantMessageStatus(OnInstantMessageStatusParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notify application about typing indication. + * + * @param prm Callback parameter. + */ + virtual void onTypingIndication(OnTypingIndicationParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * This callback is called when the call is about to resend the + * INVITE request to the specified target, following the previously + * received redirection response. + * + * Application may accept the redirection to the specified target, + * reject this target only and make the session continue to try the next + * target in the list if such target exists, stop the whole + * redirection process altogether and cause the session to be + * disconnected, or defer the decision to ask for user confirmation. + * + * This callback is optional, + * the default behavior is to NOT follow the redirection response. + * + * @param prm Callback parameter. + * + * @return Action to be performed for the target. Set this + * parameter to one of the value below: + * - PJSIP_REDIRECT_ACCEPT: immediately accept the + * redirection. When set, the call will immediately + * resend INVITE request to the target. + * - PJSIP_REDIRECT_ACCEPT_REPLACE: immediately accept + * the redirection and replace the To header with the + * current target. When set, the call will immediately + * resend INVITE request to the target. + * - PJSIP_REDIRECT_REJECT: immediately reject this + * target. The call will continue retrying with + * next target if present, or disconnect the call + * if there is no more target to try. + * - PJSIP_REDIRECT_STOP: stop the whole redirection + * process and immediately disconnect the call. The + * onCallState() callback will be called with + * PJSIP_INV_STATE_DISCONNECTED state immediately + * after this callback returns. + * - PJSIP_REDIRECT_PENDING: set to this value if + * no decision can be made immediately (for example + * to request confirmation from user). Application + * then MUST call processRedirect() + * to either accept or reject the redirection upon + * getting user decision. + */ + virtual pjsip_redirect_op onCallRedirected(OnCallRedirectedParam &prm) + { + PJ_UNUSED_ARG(prm); + return PJSIP_REDIRECT_STOP; + } + + /** + * This callback is called when media transport state is changed. + * + * @param prm Callback parameter. + */ + virtual void onCallMediaTransportState(OnCallMediaTransportStateParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Notification about media events such as video notifications. This + * callback will most likely be called from media threads, thus + * application must not perform heavy processing in this callback. + * Especially, application must not destroy the call or media in this + * callback. If application needs to perform more complex tasks to + * handle the event, it should post the task to another thread. + * + * @param prm Callback parameter. + */ + virtual void onCallMediaEvent(OnCallMediaEventParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * This callback can be used by application to implement custom media + * transport adapter for the call, or to replace the media transport + * with something completely new altogether. + * + * This callback is called when a new call is created. The library has + * created a media transport for the call, and it is provided as the + * \a mediaTp argument of this callback. The callback may change it + * with the instance of media transport to be used by the call. + * + * @param prm Callback parameter. + */ + virtual void + onCreateMediaTransport(OnCreateMediaTransportParam &prm) + { PJ_UNUSED_ARG(prm); } + +private: + Account &acc; + pjsua_call_id id; + Token userData; + std::vector<Media *> medias; +}; + +/** + * @} // PJSUA2_CALL + */ + +} // namespace pj + +#endif /* __PJSUA2_CALL_HPP__ */ + diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ConfigViewController.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/config.hpp similarity index 52% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ConfigViewController.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/config.hpp index 7764e65743dd46b96cd97a43564fcaa08ace9551..f0a2c313830217e5e60a2796df266241e2c0c762 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/ConfigViewController.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/config.hpp @@ -1,6 +1,6 @@ -/* $Id: ConfigViewController.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) +/* $Id: config.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,19 +14,34 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#import <UIKit/UIKit.h> +#ifndef __PJSUA2_CONFIG_HPP__ +#define __PJSUA2_CONFIG_HPP__ +/** + * @file pjsua2/config.hpp + * @brief PJSUA2 Base Agent Operation + */ +#include <pjsua-lib/pjsua.h> + +/** + * @defgroup PJSUA2_CFG_Compile Compile time settings + * @ingroup PJSUA2_DS + * @{ + */ + +/** + * Specify if the Error exception info should contain operation and source + * file information. + */ +#ifndef PJSUA2_ERROR_HAS_EXTRA_INFO +# define PJSUA2_ERROR_HAS_EXTRA_INFO 1 +#endif -@interface ConfigViewController : UIViewController { - IBOutlet UITextView *textView; - IBOutlet UIButton *button1; - IBOutlet UIButton *button2; -} -@property (nonatomic, retain) IBOutlet UITextView *textView; -@property (nonatomic, retain) IBOutlet UIButton *button1; -@property (nonatomic, retain) IBOutlet UIButton *button2; +/** + * @} PJSUA2_CFG + */ -@end +#endif /* __PJSUA2_CONFIG_HPP__ */ diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/FirstViewController.h b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/doxygen.hpp similarity index 51% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/FirstViewController.h rename to daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/doxygen.hpp index e418a1c4c59c592d4ec3e4bd19962e1e4c91d9d6..d46ff0131c0e754a3b598baa5c1d228d44ea91fa 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/FirstViewController.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/doxygen.hpp @@ -1,6 +1,6 @@ -/* $Id: FirstViewController.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) +/* $Id: doxygen.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2012 Teluu Inc. (http://www.teluu.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,24 +14,39 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#import <UIKit/UIKit.h> +#ifndef __PJSUA2_DOXYGEN_HPP__ +#define __PJSUA2_DOXYGEN_HPP__ +/** + * @file pjsua2/doxygen.hpp + * @brief PJSUA2 Doxygen documentation + */ + +/** +@mainpage pjsua2 API + +This documentation contains the API Reference for pjsua2. Please +go to <b>Modules</b> section above for navigation. -@interface FirstViewController : UIViewController<UITextFieldDelegate> { - IBOutlet UITextField *textField; - IBOutlet UITextView *textView; - IBOutlet UIButton *button1; +For more info regarding pjsua2, including some tutorials, please +see The PJSIP Book. +*/ - NSString *text; - bool hasInput; -} -@property (nonatomic, retain) IBOutlet UITextField *textField; -@property (nonatomic, retain) IBOutlet UITextView *textView; -@property (nonatomic, retain) IBOutlet UIButton *button1; -@property (nonatomic, retain) NSString *text; -@property (nonatomic) bool hasInput; +/** + * @defgroup PJSUA2_Ref pjsua2 API Reference + */ + +/** + * @defgroup PJSUA2_DS Data Structure + * @ingroup PJSUA2_Ref + */ + + +/** + * @} PJSUA2_CFG + */ -@end +#endif /* __PJSUA2_DOXYGEN_HPP__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/endpoint.hpp b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/endpoint.hpp new file mode 100644 index 0000000000000000000000000000000000000000..61378208b75109016367cfce6154c8b44e45e4ca --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/endpoint.hpp @@ -0,0 +1,1322 @@ +/* $Id: endpoint.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA2_UA_HPP__ +#define __PJSUA2_UA_HPP__ + +/** + * @file pjsua2/endpoint.hpp + * @brief PJSUA2 Base Agent Operation + */ +#include <pjsua2/persistent.hpp> +#include <pjsua2/media.hpp> +#include <pjsua2/siptypes.hpp> +#include <list> + +/** PJSUA2 API is inside pj namespace */ +namespace pj +{ + +/** + * @defgroup PJSUA2_UA Endpoint + * @ingroup PJSUA2_Ref + * @{ + */ + +using std::string; +using std::vector; + + +////////////////////////////////////////////////////////////////////////////// + +/** + * Argument to Endpoint::onNatDetectionComplete() callback. + */ +struct OnNatDetectionCompleteParam +{ + /** + * Status of the detection process. If this value is not PJ_SUCCESS, + * the detection has failed and \a nat_type field will contain + * PJ_STUN_NAT_TYPE_UNKNOWN. + */ + pj_status_t status; + + /** + * The text describing the status, if the status is not PJ_SUCCESS. + */ + string reason; + + /** + * This contains the NAT type as detected by the detection procedure. + * This value is only valid when the \a status is PJ_SUCCESS. + */ + pj_stun_nat_type natType; + + /** + * Text describing that NAT type. + */ + string natTypeName; + +}; + +/** + * Argument to Endpoint::onNatCheckStunServersComplete() callback. + */ +struct OnNatCheckStunServersCompleteParam +{ + /** + * Arbitrary user data that was passed to Endpoint::natCheckStunServers() + * function. + */ + Token userData; + + /** + * This will contain PJ_SUCCESS if at least one usable STUN server + * is found, otherwise it will contain the last error code during + * the operation. + */ + pj_status_t status; + + /** + * The server name that yields successful result. This will only + * contain value if status is successful. + */ + string name; + + /** + * The server IP address and port in "IP:port" format. This will only + * contain value if status is successful. + */ + SocketAddress addr; +}; + +/** + * Parameter of Endpoint::onTimer() callback. + */ +struct OnTimerParam +{ + /** + * Arbitrary user data that was passed to Endpoint::utilTimerSchedule() + * function. + */ + Token userData; + + /** + * The interval of this timer, in miliseconds. + */ + unsigned msecDelay; +}; + +/** + * Parameter of Endpoint::onTransportState() callback. + */ +struct OnTransportStateParam +{ + /** + * The transport handle. + */ + TransportHandle hnd; + + /** + * Transport current state. + */ + pjsip_transport_state state; + + /** + * The last error code related to the transport state. + */ + pj_status_t lastError; +}; + +/** + * Parameter of Endpoint::onSelectAccount() callback. + */ +struct OnSelectAccountParam +{ + /** + * The incoming request. + */ + SipRxData rdata; + + /** + * The account index to be used to handle the request. + * Upon entry, this will be filled by the account index + * chosen by the library. Application may change it to + * another value to use another account. + */ + int accountIndex; +}; + +////////////////////////////////////////////////////////////////////////////// +/** + * SIP User Agent related settings. + */ +struct UaConfig : public PersistentObject +{ + /** + * Maximum calls to support (default: 4). The value specified here + * must be smaller than the compile time maximum settings + * PJSUA_MAX_CALLS, which by default is 32. To increase this + * limit, the library must be recompiled with new PJSUA_MAX_CALLS + * value. + */ + unsigned maxCalls; + + /** + * Number of worker threads. Normally application will want to have at + * least one worker thread, unless when it wants to poll the library + * periodically, which in this case the worker thread can be set to + * zero. + */ + unsigned threadCnt; + + /** + * When this flag is non-zero, all callbacks that come from thread + * other than main thread will be posted to the main thread and + * to be executed by Endpoint::libHandleEvents() function. This + * includes the logging callback. Note that this will only work if + * threadCnt is set to zero and Endpoint::libHandleEvents() is + * performed by main thread. By default, the main thread is set + * from the thread that invoke Endpoint::libCreate() + * + * Default: false + */ + bool mainThreadOnly; + + /** + * Array of nameservers to be used by the SIP resolver subsystem. + * The order of the name server specifies the priority (first name + * server will be used first, unless it is not reachable). + */ + StringVector nameserver; + + /** + * Optional user agent string (default empty). If it's empty, no + * User-Agent header will be sent with outgoing requests. + */ + string userAgent; + + /** + * Array of STUN servers to try. The library will try to resolve and + * contact each of the STUN server entry until it finds one that is + * usable. Each entry may be a domain name, host name, IP address, and + * it may contain an optional port number. For example: + * - "pjsip.org" (domain name) + * - "sip.pjsip.org" (host name) + * - "pjsip.org:33478" (domain name and a non-standard port number) + * - "10.0.0.1:3478" (IP address and port number) + * + * When nameserver is configured in the \a pjsua_config.nameserver field, + * if entry is not an IP address, it will be resolved with DNS SRV + * resolution first, and it will fallback to use DNS A resolution if this + * fails. Port number may be specified even if the entry is a domain name, + * in case the DNS SRV resolution should fallback to a non-standard port. + * + * When nameserver is not configured, entries will be resolved with + * pj_gethostbyname() if it's not an IP address. Port number may be + * specified if the server is not listening in standard STUN port. + */ + StringVector stunServer; + + /** + * This specifies if the library startup should ignore failure with the + * STUN servers. If this is set to PJ_FALSE, the library will refuse to + * start if it fails to resolve or contact any of the STUN servers. + * + * Default: TRUE + */ + bool stunIgnoreFailure; + + /** + * Support for adding and parsing NAT type in the SDP to assist + * troubleshooting. The valid values are: + * - 0: no information will be added in SDP, and parsing is disabled. + * - 1: only the NAT type number is added. + * - 2: add both NAT type number and name. + * + * Default: 1 + */ + int natTypeInSdp; + + /** + * Handle unsolicited NOTIFY requests containing message waiting + * indication (MWI) info. Unsolicited MWI is incoming NOTIFY requests + * which are not requested by client with SUBSCRIBE request. + * + * If this is enabled, the library will respond 200/OK to the NOTIFY + * request and forward the request to Endpoint::onMwiInfo() callback. + * + * See also AccountMwiConfig.enabled. + * + * Default: PJ_TRUE + */ + bool mwiUnsolicitedEnabled; + +public: + /** + * Default constructor to initialize with default values. + */ + UaConfig(); + + /** + * Construct from pjsua_config. + */ + void fromPj(const pjsua_config &ua_cfg); + + /** + * Export to pjsua_config + */ + pjsua_config toPj() const; + + /** + * Read this object from a container. + * + * @param node Container to write values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); + +}; + + +/** + * Data containing log entry to be written by the LogWriter. + */ +struct LogEntry +{ + /** Log verbosity level of this message */ + int level; + + /** The log message */ + string msg; + + /** ID of current thread */ + long threadId; + + /** The name of the thread that writes this log */ + string threadName; +}; + + +/** + * Interface for writing log messages. Applications can inherit this class + * and supply it in the LogConfig structure to implement custom log + * writing facility. + */ +class LogWriter +{ +public: + /** Destructor */ + virtual ~LogWriter() {} + + /** Write a log entry. */ + virtual void write(const LogEntry &entry) = 0; +}; + + +/** + * Logging configuration, which can be (optionally) specified when calling + * Lib::init(). + */ +struct LogConfig : public PersistentObject +{ + /** Log incoming and outgoing SIP message? Yes! */ + unsigned msgLogging; + + /** Input verbosity level. Value 5 is reasonable. */ + unsigned level; + + /** Verbosity level for console. Value 4 is reasonable. */ + unsigned consoleLevel; + + /** Log decoration. */ + unsigned decor; + + /** Optional log filename if app wishes the library to write to log file. + */ + string filename; + + /** + * Additional flags to be given to pj_file_open() when opening + * the log file. By default, the flag is PJ_O_WRONLY. Application + * may set PJ_O_APPEND here so that logs are appended to existing + * file instead of overwriting it. + * + * Default is 0. + */ + unsigned fileFlags; + + /** + * Custom log writer, if required. This instance will be destroyed + * by the endpoint when the endpoint is destroyed. + */ + LogWriter *writer; + +public: + /** Default constructor initialises with default values */ + LogConfig(); + + /** Construct from pjsua_logging_config */ + void fromPj(const pjsua_logging_config &lc); + + /** Generate pjsua_logging_config. */ + pjsua_logging_config toPj() const; + + /** + * Read this object from a container. + * + * @param node Container to write values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + + +/** + * This structure describes media configuration, which will be specified + * when calling Lib::init(). + */ +struct MediaConfig : public PersistentObject +{ +public: + /** + * Clock rate to be applied to the conference bridge. + * If value is zero, default clock rate will be used + * (PJSUA_DEFAULT_CLOCK_RATE, which by default is 16KHz). + */ + unsigned clockRate; + + /** + * Clock rate to be applied when opening the sound device. + * If value is zero, conference bridge clock rate will be used. + */ + unsigned sndClockRate; + + /** + * Channel count be applied when opening the sound device and + * conference bridge. + */ + unsigned channelCount; + + /** + * Specify audio frame ptime. The value here will affect the + * samples per frame of both the sound device and the conference + * bridge. Specifying lower ptime will normally reduce the + * latency. + * + * Default value: PJSUA_DEFAULT_AUDIO_FRAME_PTIME + */ + unsigned audioFramePtime; + + /** + * Specify maximum number of media ports to be created in the + * conference bridge. Since all media terminate in the bridge + * (calls, file player, file recorder, etc), the value must be + * large enough to support all of them. However, the larger + * the value, the more computations are performed. + * + * Default value: PJSUA_MAX_CONF_PORTS + */ + unsigned maxMediaPorts; + + /** + * Specify whether the media manager should manage its own + * ioqueue for the RTP/RTCP sockets. If yes, ioqueue will be created + * and at least one worker thread will be created too. If no, + * the RTP/RTCP sockets will share the same ioqueue as SIP sockets, + * and no worker thread is needed. + * + * Normally application would say yes here, unless it wants to + * run everything from a single thread. + */ + bool hasIoqueue; + + /** + * Specify the number of worker threads to handle incoming RTP + * packets. A value of one is recommended for most applications. + */ + unsigned threadCnt; + + /** + * Media quality, 0-10, according to this table: + * 5-10: resampling use large filter, + * 3-4: resampling use small filter, + * 1-2: resampling use linear. + * The media quality also sets speex codec quality/complexity to the + * number. + * + * Default: 5 (PJSUA_DEFAULT_CODEC_QUALITY). + */ + unsigned quality; + + /** + * Specify default codec ptime. + * + * Default: 0 (codec specific) + */ + unsigned ptime; + + /** + * Disable VAD? + * + * Default: 0 (no (meaning VAD is enabled)) + */ + bool noVad; + + /** + * iLBC mode (20 or 30). + * + * Default: 30 (PJSUA_DEFAULT_ILBC_MODE) + */ + unsigned ilbcMode; + + /** + * Percentage of RTP packet to drop in TX direction + * (to simulate packet lost). + * + * Default: 0 + */ + unsigned txDropPct; + + /** + * Percentage of RTP packet to drop in RX direction + * (to simulate packet lost). + * + * Default: 0 + */ + unsigned rxDropPct; + + /** + * Echo canceller options (see pjmedia_echo_create()) + * + * Default: 0. + */ + unsigned ecOptions; + + /** + * Echo canceller tail length, in miliseconds. Setting this to zero + * will disable echo cancellation. + * + * Default: PJSUA_DEFAULT_EC_TAIL_LEN + */ + unsigned ecTailLen; + + /** + * Audio capture buffer length, in milliseconds. + * + * Default: PJMEDIA_SND_DEFAULT_REC_LATENCY + */ + unsigned sndRecLatency; + + /** + * Audio playback buffer length, in milliseconds. + * + * Default: PJMEDIA_SND_DEFAULT_PLAY_LATENCY + */ + unsigned sndPlayLatency; + + /** + * Jitter buffer initial prefetch delay in msec. The value must be + * between jb_min_pre and jb_max_pre below. + * + * Default: -1 (to use default stream settings, currently 150 msec) + */ + int jbInit; + + /** + * Jitter buffer minimum prefetch delay in msec. + * + * Default: -1 (to use default stream settings, currently 60 msec) + */ + int jbMinPre; + + /** + * Jitter buffer maximum prefetch delay in msec. + * + * Default: -1 (to use default stream settings, currently 240 msec) + */ + int jbMaxPre; + + /** + * Set maximum delay that can be accomodated by the jitter buffer msec. + * + * Default: -1 (to use default stream settings, currently 360 msec) + */ + int jbMax; + + /** + * Specify idle time of sound device before it is automatically closed, + * in seconds. Use value -1 to disable the auto-close feature of sound + * device + * + * Default : 1 + */ + int sndAutoCloseTime; + + /** + * Specify whether built-in/native preview should be used if available. + * In some systems, video input devices have built-in capability to show + * preview window of the device. Using this built-in preview is preferable + * as it consumes less CPU power. If built-in preview is not available, + * the library will perform software rendering of the input. If this + * field is set to PJ_FALSE, software preview will always be used. + * + * Default: PJ_TRUE + */ + bool vidPreviewEnableNative; + +public: + /** Default constructor initialises with default values */ + MediaConfig(); + + /** Construct from pjsua_media_config. */ + void fromPj(const pjsua_media_config &mc); + + /** Export */ + pjsua_media_config toPj() const; + + /** + * Read this object from a container. + * + * @param node Container to write values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + + +/** + * Endpoint configuration + */ +struct EpConfig : public PersistentObject +{ + /** UA config */ + UaConfig uaConfig; + + /** Logging config */ + LogConfig logConfig; + + /** Media config */ + MediaConfig medConfig; + + /** + * Read this object from a container. + * + * @param node Container to write values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); + +}; + +/* This represents posted job */ +struct PendingJob +{ + /** Perform the job */ + virtual void execute(bool is_pending) = 0; + + /** Virtual destructor */ + virtual ~PendingJob() {} +}; + +////////////////////////////////////////////////////////////////////////////// + +/** + * Endpoint represents an instance of pjsua library. There can only be + * one instance of pjsua library in an application, hence this class + * is a singleton. + */ +class Endpoint +{ +public: + /** Retrieve the singleton instance of the endpoint */ + static Endpoint &instance() throw(Error); + + /** Default constructor */ + Endpoint(); + + /** Virtual destructor */ + virtual ~Endpoint(); + + + /************************************************************************* + * Base library operations + */ + + /** + * Get library version. + */ + Version libVersion() const; + + /** + * Instantiate pjsua application. Application must call this function before + * calling any other functions, to make sure that the underlying libraries + * are properly initialized. Once this function has returned success, + * application must call destroy() before quitting. + */ + void libCreate() throw(Error); + + /** + * Get library state. + * + * @return library state. + */ + pjsua_state libGetState() const; + + /** + * Initialize pjsua with the specified settings. All the settings are + * optional, and the default values will be used when the config is not + * specified. + * + * Note that create() MUST be called before calling this function. + * + * @param prmEpConfig Endpoint configurations + */ + void libInit( const EpConfig &prmEpConfig) throw(Error); + + /** + * Call this function after all initialization is done, so that the + * library can do additional checking set up. Application may call this + * function any time after init(). + */ + void libStart() throw(Error); + + /** + * Register a thread to poll for events. This function should be + * called by an external worker thread, and it will block polling + * for events until the library is destroyed. + */ + void libRegisterWorkerThread(const string &name) throw(Error); + + /** + * Stop all worker threads. + */ + void libStopWorkerThreads(); + + /** + * Poll pjsua for events, and if necessary block the caller thread for + * the specified maximum interval (in miliseconds). + * + * Application doesn't normally need to call this function if it has + * configured worker thread (\a thread_cnt field) in pjsua_config + * structure, because polling then will be done by these worker threads + * instead. + * + * If EpConfig::UaConfig::mainThreadOnly is enabled and this function + * is called from the main thread (by default the main thread is thread + * that calls libCreate()), this function will also scan and run any + * pending jobs in the list. + * + * @param msec_timeout Maximum time to wait, in miliseconds. + * + * @return The number of events that have been handled during the + * poll. Negative value indicates error, and application + * can retrieve the error as (status = -return_value). + */ + int libHandleEvents(unsigned msec_timeout); + + /** + * Destroy pjsua. Application is recommended to perform graceful shutdown + * before calling this function (such as unregister the account from the + * SIP server, terminate presense subscription, and hangup active calls), + * however, this function will do all of these if it finds there are + * active sessions that need to be terminated. This function will + * block for few seconds to wait for replies from remote. + * + * Application.may safely call this function more than once if it doesn't + * keep track of it's state. + * + * @param prmFlags Combination of pjsua_destroy_flag enumeration. + */ + void libDestroy(unsigned prmFlags=0) throw(Error); + + + /************************************************************************* + * Utilities + */ + + /** + * Retrieve the error string for the specified status code. + * + * @param prmErr The error code. + */ + string utilStrError(pj_status_t prmErr); + + /** + * Write a log message. + * + * @param prmLevel Log verbosity level (1-5) + * @param prmSender The log sender. + * @param prmMsg The log message. + */ + void utilLogWrite(int prmLevel, + const string &prmSender, + const string &prmMsg); + + /** + * Write a log entry. + * + * @param e The log entry. + */ + void utilLogWrite(LogEntry &e); + + /** + * This is a utility function to verify that valid SIP url is given. If the + * URL is a valid SIP/SIPS scheme, PJ_SUCCESS will be returned. + * + * @param prmUri The URL string. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + * + * @see utilVerifyUri() + */ + pj_status_t utilVerifySipUri(const string &prmUri); + + /** + * This is a utility function to verify that valid URI is given. Unlike + * utilVerifySipUri(), this function will return PJ_SUCCESS if tel: URI + * is given. + * + * @param prmUri The URL string. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + * + * @see pjsua_verify_sip_url() + */ + pj_status_t utilVerifyUri(const string &prmUri); + + /** + * Schedule a timer with the specified interval and user data. When the + * interval elapsed, onTimer() callback will be + * called. Note that the callback may be executed by different thread, + * depending on whether worker thread is enabled or not. + * + * @param prmMsecDelay The time interval in msec. + * @param prmUserData Arbitrary user data, to be given back to + * application in the callback. + * + * @return Token to identify the timer, which could be + * given to utilTimerCancel(). + */ + Token utilTimerSchedule(unsigned prmMsecDelay, + Token prmUserData) throw (Error); + + /** + * Cancel previously scheduled timer with the specified timer token. + * + * @param prmToken The timer token, which was returned from + * previous utilTimerSchedule() call. + */ + void utilTimerCancel(Token prmToken); + + /** + * Utility to register a pending job to be executed by main thread. + * If EpConfig::UaConfig::mainThreadOnly is false, the job will be + * executed immediately. + * + * @param job The job class. + */ + void utilAddPendingJob(PendingJob *job); + + /** + * Get cipher list supported by SSL/TLS backend. + */ + IntVector utilSslGetAvailableCiphers() throw (Error); + + /************************************************************************* + * NAT operations + */ + /** + * This is a utility function to detect NAT type in front of this endpoint. + * Once invoked successfully, this function will complete asynchronously + * and report the result in onNatDetectionComplete(). + * + * After NAT has been detected and the callback is called, application can + * get the detected NAT type by calling natGetType(). Application + * can also perform NAT detection by calling natDetectType() + * again at later time. + * + * Note that STUN must be enabled to run this function successfully. + */ + void natDetectType(void) throw(Error); + + /** + * Get the NAT type as detected by natDetectType() function. This + * function will only return useful NAT type after natDetectType() + * has completed successfully and onNatDetectionComplete() + * callback has been called. + * + * Exception: if this function is called while detection is in progress, + * PJ_EPENDING exception will be raised. + */ + pj_stun_nat_type natGetType() throw(Error); + + /** + * Auxiliary function to resolve and contact each of the STUN server + * entries (sequentially) to find which is usable. The libInit() must + * have been called before calling this function. + * + * @param prmServers Array of STUN servers to try. The endpoint + * will try to resolve and contact each of the + * STUN server entry until it finds one that is + * usable. Each entry may be a domain name, host + * name, IP address, and it may contain an + * optional port number. For example: + * - "pjsip.org" (domain name) + * - "sip.pjsip.org" (host name) + * - "pjsip.org:33478" (domain name and a non- + * standard port number) + * - "10.0.0.1:3478" (IP address and port number) + * @param prmWait Specify if the function should block until + * it gets the result. In this case, the function + * will block while the resolution is being done, + * and the callback will be called before this + * function returns. + * @param prmUserData Arbitrary user data to be passed back to + * application in the callback. + * + * @see natCancelCheckStunServers() + */ + void natCheckStunServers(const StringVector &prmServers, + bool prmWait, + Token prmUserData) throw(Error); + + /** + * Cancel pending STUN resolution which match the specified token. + * + * @param token The token to match. This token was given to + * natCheckStunServers() + * @param notify_cb Boolean to control whether the callback should + * be called for cancelled resolutions. When the + * callback is called, the status in the result + * will be set as PJ_ECANCELLED. + * + * Exception: PJ_ENOTFOUND if there is no matching one, or other error. + */ + void natCancelCheckStunServers(Token token, + bool notify_cb = false) throw(Error); + + /************************************************************************* + * Transport operations + */ + + /** + * Create and start a new SIP transport according to the specified + * settings. + * + * @param type Transport type. + * @param cfg Transport configuration. + * + * @return The transport ID. + */ + TransportId transportCreate(pjsip_transport_type_e type, + const TransportConfig &cfg) throw(Error); + + /** + * Enumerate all transports currently created in the system. This + * function will return all transport IDs, and application may then + * call transportGetInfo() function to retrieve detailed information + * about the transport. + * + * @return Array of transport IDs. + */ + IntVector transportEnum() throw(Error); + + /** + * Get information about transport. + * + * @param id Transport ID. + * + * @return Transport info. + */ + TransportInfo transportGetInfo(TransportId id) throw(Error); + + /** + * Disable a transport or re-enable it. By default transport is always + * enabled after it is created. Disabling a transport does not necessarily + * close the socket, it will only discard incoming messages and prevent + * the transport from being used to send outgoing messages. + * + * @param id Transport ID. + * @param enabled Enable or disable the transport. + * + */ + void transportSetEnable(TransportId id, bool enabled) throw(Error); + + /** + * Close the transport. The system will wait until all transactions are + * closed while preventing new users from using the transport, and will + * close the transport when its usage count reaches zero. + * + * @param id Transport ID. + */ + void transportClose(TransportId id) throw(Error); + + /************************************************************************* + * Call operations + */ + + /** + * Terminate all calls. This will initiate call hangup for all + * currently active calls. + */ + void hangupAllCalls(void); + + /************************************************************************* + * Media operations + */ + + /** + * Add media to the media list. + * + * @param media media to be added. + */ + void mediaAdd(AudioMedia &media); + + /** + * Remove media from the media list. + * + * @param media media to be removed. + */ + void mediaRemove(AudioMedia &media); + + /** + * Check if media has been added to the media list. + * + * @param media media to be check. + * + * @return True if media has been added, false otherwise. + */ + bool mediaExists(const AudioMedia &media) const; + + /** + * Get maximum number of media port. + * + * @return Maximum number of media port in the conference bridge. + */ + unsigned mediaMaxPorts() const; + + /** + * Get current number of active media port in the bridge. + * + * @return The number of active media port. + */ + unsigned mediaActivePorts() const; + + /** + * Enumerate all media port. + * + * @return The list of media port. + */ + const AudioMediaVector &mediaEnumPorts() const throw(Error); + + /** + * Get the instance of Audio Device Manager. + * + * @return The Audio Device Manager. + */ + AudDevManager &audDevManager(); + + /************************************************************************* + * Codec management operations + */ + + /** + * Enum all supported codecs in the system. + * + * @return Array of codec info. + */ + const CodecInfoVector &codecEnum() throw(Error); + + /** + * Change codec priority. + * + * @param codec_id Codec ID, which is a string that uniquely identify + * the codec (such as "speex/8000"). + * @param priority Codec priority, 0-255, where zero means to disable + * the codec. + * + */ + void codecSetPriority(const string &codec_id, + pj_uint8_t priority) throw(Error); + + /** + * Get codec parameters. + * + * @param codec_id Codec ID. + * + * @return Codec parameters. If codec is not found, Error + * will be thrown. + * + */ + CodecParam codecGetParam(const string &codec_id) const throw(Error); + + /** + * Set codec parameters. + * + * @param codec_id Codec ID. + * @param param Codec parameter to set. Set to NULL to reset + * codec parameter to library default settings. + * + */ + void codecSetParam(const string &codec_id, + const CodecParam param) throw(Error); + + +public: + /* + * Overrideables callbacks + */ + + /** + * Callback when the Endpoint has finished performing NAT type + * detection that is initiated with natDetectType(). + * + * @param prm Callback parameters containing the detection + * result. + */ + virtual void onNatDetectionComplete( + const OnNatDetectionCompleteParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Callback when the Endpoint has finished performing STUN server + * checking that is initiated with natCheckStunServers(). + * + * @param prm Callback parameters. + */ + virtual void onNatCheckStunServersComplete( + const OnNatCheckStunServersCompleteParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * This callback is called when transport state has changed. + * + * @param prm Callback parameters. + */ + virtual void onTransportState( + const OnTransportStateParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * Callback when a timer has fired. The timer was scheduled by + * utilTimerSchedule(). + * + * @param prm Callback parameters. + */ + virtual void onTimer(const OnTimerParam &prm) + { PJ_UNUSED_ARG(prm); } + + /** + * This callback can be used by application to override the account + * to be used to handle an incoming message. Initially, the account to + * be used will be calculated automatically by the library. This initial + * account will be used if application does not implement this callback, + * or application sets an invalid account upon returning from this + * callback. + * + * Note that currently the incoming messages requiring account assignment + * are INVITE, MESSAGE, SUBSCRIBE, and unsolicited NOTIFY. This callback + * may be called before the callback of the SIP event itself, i.e: + * incoming call, pager, subscription, or unsolicited-event. + * + * @param prm Callback parameters. + */ + virtual void onSelectAccount(OnSelectAccountParam &prm) + { PJ_UNUSED_ARG(prm); } + +private: + static Endpoint *instance_; // static instance + LogWriter *writer; // Custom writer, if any + AudioMediaVector mediaList; + AudDevManager audioDevMgr; + CodecInfoVector codecInfoList; + + /* Pending logging */ + bool mainThreadOnly; + void *mainThread; + unsigned pendingJobSize; + std::list<PendingJob*> pendingJobs; + + void performPendingJobs(); + + /* Endpoint static callbacks */ + static void logFunc(int level, const char *data, int len); + static void stun_resolve_cb(const pj_stun_resolve_result *result); + static void on_timer(pj_timer_heap_t *timer_heap, + struct pj_timer_entry *entry); + static void on_nat_detect(const pj_stun_nat_detect_result *res); + static void on_transport_state(pjsip_transport *tp, + pjsip_transport_state state, + const pjsip_transport_state_info *info); + +private: + /* + * Account & Call lookups + */ + static Account *lookupAcc(int acc_id, const char *op); + static Call *lookupCall(int call_id, const char *op); + + /* static callbacks */ + static void on_incoming_call(pjsua_acc_id acc_id, + pjsua_call_id call_id, + pjsip_rx_data *rdata); + static void on_reg_started(pjsua_acc_id acc_id, + pj_bool_t renew); + static void on_reg_state2(pjsua_acc_id acc_id, + pjsua_reg_info *info); + static void on_incoming_subscribe(pjsua_acc_id acc_id, + pjsua_srv_pres *srv_pres, + pjsua_buddy_id buddy_id, + const pj_str_t *from, + pjsip_rx_data *rdata, + pjsip_status_code *code, + pj_str_t *reason, + pjsua_msg_data *msg_data); + static void on_pager2(pjsua_call_id call_id, + const pj_str_t *from, + const pj_str_t *to, + const pj_str_t *contact, + const pj_str_t *mime_type, + const pj_str_t *body, + pjsip_rx_data *rdata, + pjsua_acc_id acc_id); + static void on_pager_status2(pjsua_call_id call_id, + const pj_str_t *to, + const pj_str_t *body, + void *user_data, + pjsip_status_code status, + const pj_str_t *reason, + pjsip_tx_data *tdata, + pjsip_rx_data *rdata, + pjsua_acc_id acc_id); + static void on_typing2(pjsua_call_id call_id, + const pj_str_t *from, + const pj_str_t *to, + const pj_str_t *contact, + pj_bool_t is_typing, + pjsip_rx_data *rdata, + pjsua_acc_id acc_id); + static void on_mwi_info(pjsua_acc_id acc_id, + pjsua_mwi_info *mwi_info); + + static void on_buddy_state(pjsua_buddy_id buddy_id); + // Call callbacks + static void on_call_state(pjsua_call_id call_id, pjsip_event *e); + static void on_call_tsx_state(pjsua_call_id call_id, + pjsip_transaction *tsx, + pjsip_event *e); + static void on_call_media_state(pjsua_call_id call_id); + static void on_call_sdp_created(pjsua_call_id call_id, + pjmedia_sdp_session *sdp, + pj_pool_t *pool, + const pjmedia_sdp_session *rem_sdp); + static void on_stream_created(pjsua_call_id call_id, + pjmedia_stream *strm, + unsigned stream_idx, + pjmedia_port **p_port); + static void on_stream_destroyed(pjsua_call_id call_id, + pjmedia_stream *strm, + unsigned stream_idx); + static void on_dtmf_digit(pjsua_call_id call_id, int digit); + static void on_call_transfer_request(pjsua_call_id call_id, + const pj_str_t *dst, + pjsip_status_code *code); + static void on_call_transfer_request2(pjsua_call_id call_id, + const pj_str_t *dst, + pjsip_status_code *code, + pjsua_call_setting *opt); + static void on_call_transfer_status(pjsua_call_id call_id, + int st_code, + const pj_str_t *st_text, + pj_bool_t final, + pj_bool_t *p_cont); + static void on_call_replace_request(pjsua_call_id call_id, + pjsip_rx_data *rdata, + int *st_code, + pj_str_t *st_text); + static void on_call_replace_request2(pjsua_call_id call_id, + pjsip_rx_data *rdata, + int *st_code, + pj_str_t *st_text, + pjsua_call_setting *opt); + static void on_call_replaced(pjsua_call_id old_call_id, + pjsua_call_id new_call_id); + static void on_call_rx_offer(pjsua_call_id call_id, + const pjmedia_sdp_session *offer, + void *reserved, + pjsip_status_code *code, + pjsua_call_setting *opt); + static pjsip_redirect_op on_call_redirected(pjsua_call_id call_id, + const pjsip_uri *target, + const pjsip_event *e); + static pj_status_t + on_call_media_transport_state(pjsua_call_id call_id, + const pjsua_med_tp_state_info *info); + static void on_call_media_event(pjsua_call_id call_id, + unsigned med_idx, + pjmedia_event *event); + static pjmedia_transport* + on_create_media_transport(pjsua_call_id call_id, + unsigned media_idx, + pjmedia_transport *base_tp, + unsigned flags); + +private: + void clearCodecInfoList(); + +}; + + + +/** + * @} PJSUA2_UA + */ + +} +/* End pj namespace */ + + +#endif /* __PJSUA2_UA_HPP__ */ + diff --git a/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/json.hpp b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/json.hpp new file mode 100644 index 0000000000000000000000000000000000000000..987fb87e4dfe261e58dc37fdf9e02254ec27ec7c --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/json.hpp @@ -0,0 +1,116 @@ +/* $Id: json.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA2_JSON_HPP__ +#define __PJSUA2_JSON_HPP__ + +/** + * @file pjsua2/persistent.hpp + * @brief PJSUA2 Persistent Services + */ +#include <pjsua2/persistent.hpp> +#include <pjlib-util/json.h> +#include <pj/pool.h> +#include <string> + +/** PJSUA2 API is inside pj namespace */ +namespace pj +{ + +/** + * @defgroup PJSUA2_JSON JSON Persistent Support + * @ingroup PJSUA2_PERSISTENT + * @{ + * Provides object serialization and deserialization to/from JSON document. + */ + +using std::string; + +/** + * Persistent document (file) with JSON format. + */ +class JsonDocument : public PersistentDocument +{ +public: + /** Default constructor */ + JsonDocument(); + + /** Destructor */ + ~JsonDocument(); + + /** + * Load this document from a file. + * + * @param filename The file name. + */ + virtual void loadFile(const string &filename) throw(Error); + + /** + * Load this document from string. + * + * @param input The string. + */ + virtual void loadString(const string &input) throw(Error); + + /** + * Write this document to a file. + * + * @param filename The file name. + */ + virtual void saveFile(const string &filename) throw(Error); + + /** + * Write this document to string. + */ + virtual string saveString() throw(Error); + + /** + * Get the root container node for this document + */ + virtual ContainerNode & getRootContainer() const; + + /** + * An internal function to create JSON element. + */ + pj_json_elem* allocElement() const; + + /** + * An internal function to get the pool. + */ + pj_pool_t* getPool(); + +private: + pj_caching_pool cp; + mutable ContainerNode rootNode; + mutable pj_json_elem *root; + mutable pj_pool_t *pool; + + void initRoot() const; +}; + + + + +/** + * @} PJSUA2 + */ + +} // namespace pj + + +#endif /* __PJSUA2_JSON_HPP__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/media.hpp b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/media.hpp new file mode 100644 index 0000000000000000000000000000000000000000..5f819e76f1fda33ecb426beee406fd29bf06d2c3 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/media.hpp @@ -0,0 +1,1235 @@ +/* $Id: media.hpp 4793 2014-03-14 04:09:50Z bennylp $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __PJSUA2_MEDIA_HPP__ +#define __PJSUA2_MEDIA_HPP__ + +/** + * @file pjsua2/media.hpp + * @brief PJSUA2 media operations + */ +#include <pjsua-lib/pjsua.h> +#include <pjsua2/types.hpp> + +/** PJSUA2 API is inside pj namespace */ +namespace pj +{ + +/** + * @defgroup PJSUA2_MED Media + * @ingroup PJSUA2_Ref + * @{ + */ + +using std::string; +using std::vector; + +/** + * This structure contains all the information needed to completely describe + * a media. + */ +struct MediaFormat +{ + /** + * The format id that specifies the audio sample or video pixel format. + * Some well known formats ids are declared in pjmedia_format_id + * enumeration. + * + * @see pjmedia_format_id + */ + pj_uint32_t id; + + /** + * The top-most type of the media, as an information. + */ + pjmedia_type type; +}; + +/** + * This structure describe detail information about an audio media. + */ +struct MediaFormatAudio : public MediaFormat +{ + unsigned clockRate; /**< Audio clock rate in samples or Hz. */ + unsigned channelCount; /**< Number of channels. */ + unsigned frameTimeUsec; /**< Frame interval, in microseconds. */ + unsigned bitsPerSample; /**< Number of bits per sample. */ + pj_uint32_t avgBps; /**< Average bitrate */ + pj_uint32_t maxBps; /**< Maximum bitrate */ + + /** + * Construct from pjmedia_format. + */ + void fromPj(const pjmedia_format &format); + + /** + * Export to pjmedia_format. + */ + pjmedia_format toPj() const; +}; + +/** + * This structure describe detail information about an video media. + */ +struct MediaFormatVideo : public MediaFormat +{ + unsigned width; /**< Video width. */ + unsigned height; /**< Video height. */ + int fpsNum; /**< Frames per second numerator. */ + int fpsDenum; /**< Frames per second denumerator. */ + pj_uint32_t avgBps; /**< Average bitrate. */ + pj_uint32_t maxBps; /**< Maximum bitrate. */ +}; + +/** Array of MediaFormat */ +typedef std::vector<MediaFormat*> MediaFormatVector; + +/** + * This structure descibes information about a particular media port that + * has been registered into the conference bridge. + */ +struct ConfPortInfo +{ + /** + * Conference port number. + */ + int portId; + + /** + * Port name. + */ + string name; + + /** + * Media audio format information + */ + MediaFormatAudio format; + + /** + * Tx level adjustment. Value 1.0 means no adjustment, value 0 means + * the port is muted, value 2.0 means the level is amplified two times. + */ + float txLevelAdj; + + /** + * Rx level adjustment. Value 1.0 means no adjustment, value 0 means + * the port is muted, value 2.0 means the level is amplified two times. + */ + float rxLevelAdj; + + /** + * Array of listeners (in other words, ports where this port is + * transmitting to. + */ + IntVector listeners; + +public: + /** + * Construct from pjsua_conf_port_info. + */ + void fromPj(const pjsua_conf_port_info &port_info); +}; + +/** + * Media port, corresponds to pjmedia_port + */ +typedef void *MediaPort; + +/** + * Media. + */ +class Media +{ +public: + /** + * Virtual destructor. + */ + virtual ~Media(); + + /** + * Get type of the media. + * + * @return The media type. + */ + pjmedia_type getType() const; + +protected: + /** + * Constructor. + */ + Media(pjmedia_type med_type); + +private: + /** + * Media type. + */ + pjmedia_type type; +}; + +/** + * Audio Media. + */ +class AudioMedia : public Media +{ +public: + /** + * Get information about the specified conference port. + */ + ConfPortInfo getPortInfo() const throw(Error); + + /** + * Get port Id. + */ + int getPortId() const; + + /** + * Get information from specific port id. + */ + static ConfPortInfo getPortInfoFromId(int port_id) throw(Error); + + /** + * Establish unidirectional media flow to sink. This media port + * will act as a source, and it may transmit to multiple destinations/sink. + * And if multiple sources are transmitting to the same sink, the media + * will be mixed together. Source and sink may refer to the same Media, + * effectively looping the media. + * + * If bidirectional media flow is desired, application needs to call + * this method twice, with the second one called from the opposite source + * media. + * + * @param sink The destination Media. + */ + void startTransmit(const AudioMedia &sink) const throw(Error); + + /** + * Stop media flow to destination/sink port. + * + * @param sink The destination media. + * + */ + void stopTransmit(const AudioMedia &sink) const throw(Error); + + /** + * Adjust the signal level to be transmitted from the bridge to this + * media port by making it louder or quieter. + * + * @param level Signal level adjustment. Value 1.0 means no + * level adjustment, while value 0 means to mute + * the port. + */ + void adjustRxLevel(float level) throw(Error); + + /** + * Adjust the signal level to be received from this media port (to + * the bridge) by making it louder or quieter. + * + * @param level Signal level adjustment. Value 1.0 means no + * level adjustment, while value 0 means to mute + * the port. + */ + void adjustTxLevel(float level) throw(Error); + + /** + * Get the last received signal level. + * + * @return Signal level in percent. + */ + unsigned getRxLevel() const throw(Error); + + /** + * Get the last transmitted signal level. + * + * @return Signal level in percent. + */ + unsigned getTxLevel() const throw(Error); + + /** + * Typecast from base class Media. This is useful for application written + * in language that does not support downcasting such as Python. + * + * @param media The object to be downcasted + * + * @return The object as AudioMedia instance + */ + static AudioMedia* typecastFromMedia(Media *media); + + /** + * Virtual Destructor + */ + virtual ~AudioMedia(); + +protected: + /** + * Conference port Id. + */ + int id; + +protected: + /** + * Default Constructor. + */ + AudioMedia(); + + /** + * This method needs to be called by descendants of this class to register + * the media port created to the conference bridge and Endpoint's + * media list. + * + * param port the media port to be registered to the conference bridge. + * + */ + void registerMediaPort(MediaPort port) throw(Error); + + /** + * This method needs to be called by descendants of this class to remove + * the media port from the conference bridge and Endpoint's media list. + * Descendant should only call this method if it has registered the media + * with the previous call to registerMediaPort(). + */ + void unregisterMediaPort(); + +private: + pj_caching_pool mediaCachingPool; + pj_pool_t *mediaPool; +}; + +/** Array of Audio Media */ +typedef std::vector<AudioMedia*> AudioMediaVector; + +/** + * This structure contains additional info about AudioMediaPlayer. + */ +struct AudioMediaPlayerInfo +{ + /** + * Format ID of the payload. + */ + pjmedia_format_id formatId; + + /** + * The number of bits per sample of the file payload. For example, + * the value is 16 for PCM WAV and 8 for Alaw/Ulas WAV files. + */ + unsigned payloadBitsPerSample; + + /** + * The WAV payload size in bytes. + */ + pj_uint32_t sizeBytes; + + /** + * The WAV payload size in samples. + */ + pj_uint32_t sizeSamples; +}; + +/** + * Audio Media Player. + */ +class AudioMediaPlayer : public AudioMedia +{ +public: + /** + * Constructor. + */ + AudioMediaPlayer(); + + /** + * Create a file player, and automatically add this + * player to the conference bridge. + * + * @param file_name The filename to be played. Currently only + * WAV files are supported, and the WAV file MUST be + * formatted as 16bit PCM mono/single channel (any + * clock rate is supported). + * @param options Optional option flag. Application may specify + * PJMEDIA_FILE_NO_LOOP to prevent playback loop. + */ + void createPlayer(const string &file_name, + unsigned options=0) throw(Error); + + /** + * Create a file playlist media port, and automatically add the port + * to the conference bridge. + * + * @param file_names Array of file names to be added to the play list. + * Note that the files must have the same clock rate, + * number of channels, and number of bits per sample. + * @param label Optional label to be set for the media port. + * @param options Optional option flag. Application may specify + * PJMEDIA_FILE_NO_LOOP to prevent looping. + */ + void createPlaylist(const StringVector &file_names, + const string &label="", + unsigned options=0) throw(Error); + + /** + * Get additional info about the player. This operation is only valid + * for player. For playlist, Error will be thrown. + * + * @return the info. + */ + AudioMediaPlayerInfo getInfo() const throw(Error); + + /** + * Get current playback position in samples. This operation is not valid + * for playlist. + * + * @return Current playback position, in samples. + */ + pj_uint32_t getPos() const throw(Error); + + /** + * Set playback position in samples. This operation is not valid for + * playlist. + * + * @param samples The desired playback position, in samples. + */ + void setPos(pj_uint32_t samples) throw(Error); + + /** + * Typecast from base class AudioMedia. This is useful for application + * written in language that does not support downcasting such as Python. + * + * @param media The object to be downcasted + * + * @return The object as AudioMediaPlayer instance + */ + static AudioMediaPlayer* typecastFromAudioMedia(AudioMedia *media); + + /** + * Destructor. + */ + virtual ~AudioMediaPlayer(); + +public: + /* + * Callbacks + */ + + /** + * Register a callback to be called when the file player reading has + * reached the end of file, or when the file reading has reached the + * end of file of the last file for a playlist. If the file or playlist + * is set to play repeatedly, then the callback will be called multiple + * times. + * + * @return If the callback returns false, the playback + * will stop. Note that if application destroys + * the player in the callback, it must return + * false here. + */ + virtual bool onEof() + { return true; } + + +private: + /** + * Player Id. + */ + int playerId; + + /** + * Low level PJMEDIA callback + */ + static pj_status_t eof_cb(pjmedia_port *port, + void *usr_data); +}; + +/** + * Audio Media Recorder. + */ +class AudioMediaRecorder : public AudioMedia +{ +public: + /** + * Constructor. + */ + AudioMediaRecorder(); + + /** + * Create a file recorder, and automatically connect this recorder to + * the conference bridge. The recorder currently supports recording WAV + * file. The type of the recorder to use is determined by the extension of + * the file (e.g. ".wav"). + * + * @param file_name Output file name. The function will determine the + * default format to be used based on the file extension. + * Currently ".wav" is supported on all platforms. + * @param enc_type Optionally specify the type of encoder to be used to + * compress the media, if the file can support different + * encodings. This value must be zero for now. + * @param max_size Maximum file size. Specify zero or -1 to remove size + * limitation. This value must be zero or -1 for now. + * @param options Optional options, which can be used to specify the + * recording file format. Supported options are + * PJMEDIA_FILE_WRITE_PCM, PJMEDIA_FILE_WRITE_ALAW, + * and PJMEDIA_FILE_WRITE_ULAW. Default is zero or + * PJMEDIA_FILE_WRITE_PCM. + */ + void createRecorder(const string &file_name, + unsigned enc_type=0, + pj_ssize_t max_size=0, + unsigned options=0) throw(Error); + + /** + * Typecast from base class AudioMedia. This is useful for application + * written in language that does not support downcasting such as Python. + * + * @param media The object to be downcasted + * + * @return The object as AudioMediaRecorder instance + */ + static AudioMediaRecorder* typecastFromAudioMedia(AudioMedia *media); + + /** + * Destructor. + */ + virtual ~AudioMediaRecorder(); + +private: + /** + * Recorder Id. + */ + int recorderId; +}; + +/************************************************************************* +* Sound device management +*/ + +/** + * Audio device information structure. + */ +struct AudioDevInfo +{ + /** + * The device name + */ + string name; + + /** + * Maximum number of input channels supported by this device. If the + * value is zero, the device does not support input operation (i.e. + * it is a playback only device). + */ + unsigned inputCount; + + /** + * Maximum number of output channels supported by this device. If the + * value is zero, the device does not support output operation (i.e. + * it is an input only device). + */ + unsigned outputCount; + + /** + * Default sampling rate. + */ + unsigned defaultSamplesPerSec; + + /** + * The underlying driver name + */ + string driver; + + /** + * Device capabilities, as bitmask combination of pjmedia_aud_dev_cap. + */ + unsigned caps; + + /** + * Supported audio device routes, as bitmask combination of + * pjmedia_aud_dev_route. The value may be zero if the device + * does not support audio routing. + */ + unsigned routes; + + /** + * Array of supported extended audio formats + */ + MediaFormatVector extFmt; + + /** + * Construct from pjmedia_aud_dev_info. + */ + void fromPj(const pjmedia_aud_dev_info &dev_info); + + /** + * Destructor. + */ + ~AudioDevInfo(); +}; + +/** Array of audio device info */ +typedef std::vector<AudioDevInfo*> AudioDevInfoVector; + +/** + * Audio device manager. + */ +class AudDevManager +{ +public: + /** + * Get currently active capture sound devices. If sound devices has not been + * created, it is possible that the function returns -1 as device IDs. + * + * @return Device ID of the capture device. + */ + int getCaptureDev() const throw(Error); + + /** + * Get the AudioMedia of the capture audio device. + * + * @return Audio media for the capture device. + */ + AudioMedia &getCaptureDevMedia() throw(Error); + + /** + * Get currently active playback sound devices. If sound devices has not + * been created, it is possible that the function returns -1 as device IDs. + * + * @return Device ID of the playback device. + */ + int getPlaybackDev() const throw(Error); + + /** + * Get the AudioMedia of the speaker/playback audio device. + * + * @return Audio media for the speaker/playback device. + */ + AudioMedia &getPlaybackDevMedia() throw(Error); + + /** + * Select or change capture sound device. Application may call this + * function at any time to replace current sound device. + * + * @param capture_dev Device ID of the capture device. + */ + void setCaptureDev(int capture_dev) const throw(Error); + + /** + * Select or change playback sound device. Application may call this + * function at any time to replace current sound device. + * + * @param playback_dev Device ID of the playback device. + */ + void setPlaybackDev(int playback_dev) const throw(Error); + + /** + * Enum all audio devices installed in the system. + * + * @return The list of audio device info. + */ + const AudioDevInfoVector &enumDev() throw(Error); + + /** + * Set pjsua to use null sound device. The null sound device only provides + * the timing needed by the conference bridge, and will not interract with + * any hardware. + * + */ + void setNullDev() throw(Error); + + /** + * Disconnect the main conference bridge from any sound devices, and let + * application connect the bridge to it's own sound device/master port. + * + * @return The port interface of the conference bridge, + * so that application can connect this to it's + * own sound device or master port. + */ + MediaPort *setNoDev(); + + /** + * Change the echo cancellation settings. + * + * The behavior of this function depends on whether the sound device is + * currently active, and if it is, whether device or software AEC is + * being used. + * + * If the sound device is currently active, and if the device supports AEC, + * this function will forward the change request to the device and it will + * be up to the device on whether support the request. If software AEC is + * being used (the software EC will be used if the device does not support + * AEC), this function will change the software EC settings. In all cases, + * the setting will be saved for future opening of the sound device. + * + * If the sound device is not currently active, this will only change the + * default AEC settings and the setting will be applied next time the + * sound device is opened. + * + * @param tail_msec The tail length, in miliseconds. Set to zero to + * disable AEC. + * @param options Options to be passed to pjmedia_echo_create(). + * Normally the value should be zero. + * + */ + void setEcOptions(unsigned tail_msec, unsigned options) throw(Error); + + /** + * Get current echo canceller tail length. + * + * @return The EC tail length in milliseconds, + * If AEC is disabled, the value will be zero. + */ + unsigned getEcTail() const throw(Error); + + /** + * Check whether the sound device is currently active. The sound device + * may be inactive if the application has set the auto close feature to + * non-zero (the sndAutoCloseTime setting in MediaConfig), or + * if null sound device or no sound device has been configured via the + * setNoDev() function. + */ + bool sndIsActive() const; + + /** + * Refresh the list of sound devices installed in the system. This method + * will only refresh the list of audio device so all active audio streams + * will be unaffected. After refreshing the device list, application MUST + * make sure to update all index references to audio devices before calling + * any method that accepts audio device index as its parameter. + * + */ + void refreshDevs() throw(Error); + + /** + * Get the number of sound devices installed in the system. + * + * @return The number of sound devices installed in the + * system. + * + */ + unsigned getDevCount() const; + + /** + * Get device information. + * + * @param id The audio device ID. + * + * @return The device information which will be filled in + * by this method once it returns successfully. + */ + AudioDevInfo getDevInfo(int id) const throw(Error); + + /** + * Lookup device index based on the driver and device name. + * + * @param drv_name The driver name. + * @param dev_name The device name. + * + * @return The device ID. If the device is not found, + * Error will be thrown. + */ + int lookupDev(const string &drv_name, + const string &dev_name) const throw(Error); + + /** + * Get string info for the specified capability. + * + * @param cap The capability ID. + * + * @return Capability name. + */ + string capName(pjmedia_aud_dev_cap cap) const; + + /** + * This will configure audio format capability (other than PCM) to the + * sound device being used. If sound device is currently active, the method + * will forward the setting to the sound device instance to be applied + * immediately, if it supports it. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_EXT_FORMAT capability in AudioDevInfo.caps flags, + * otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param format The audio format. + * @param keep Specify whether the setting is to be kept for + * future use. + * + */ + void + setExtFormat(const MediaFormatAudio &format, bool keep=true) throw(Error); + + /** + * Get the audio format capability (other than PCM) of the sound device + * being used. If sound device is currently active, the method will forward + * the request to the sound device. If sound device is currently inactive, + * and if application had previously set the setting and mark the setting + * as kept, then that setting will be returned. Otherwise, this method + * will raise error. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_EXT_FORMAT capability in AudioDevInfo.caps flags, + * otherwise Error will be thrown. + * + * @return The audio format. + * + */ + MediaFormatAudio getExtFormat() const throw(Error); + + /** + * This will configure audio input latency control or query capability to + * the sound device being used. If sound device is currently active, + * the method will forward the setting to the sound device instance to be + * applied immediately, if it supports it. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY capability in AudioDevInfo.caps flags, + * otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param latency_msec The input latency. + * @param keep Specify whether the setting is to be kept + * for future use. + */ + void + setInputLatency(unsigned latency_msec, bool keep=true) throw(Error); + + /** + * Get the audio input latency control or query capability of the sound + * device being used. If sound device is currently active, the method will + * forward the request to the sound device. If sound device is currently + * inactive, and if application had previously set the setting and mark the + * setting as kept, then that setting will be returned. Otherwise, this + * method will raise error. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY capability in AudioDevInfo.caps flags, + * otherwise Error will be thrown. + * + * @return The audio input latency. + * + */ + unsigned getInputLatency() const throw(Error); + + /** + * This will configure audio output latency control or query capability to + * the sound device being used. If sound device is currently active, + * the method will forward the setting to the sound device instance to be + * applied immediately, if it supports it. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY capability in AudioDevInfo.caps flags, + * otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param latency_msec The output latency. + * @param keep Specify whether the setting is to be kept + * for future use. + * + */ + void + setOutputLatency(unsigned latency_msec, bool keep=true) throw(Error); + + /** + * Get the audio output latency control or query capability of the sound + * device being used. If sound device is currently active, the method will + * forward the request to the sound device. If sound device is currently + * inactive, and if application had previously set the setting and mark the + * setting as kept, then that setting will be returned. Otherwise, this + * method will raise error. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY capability in AudioDevInfo.caps flags, + * otherwise Error will be thrown. + * + * @return The audio output latency. + * + */ + unsigned getOutputLatency() const throw(Error); + + /** + * This will configure audio input volume level capability to the + * sound device being used. + * If sound device is currently active, the method will forward the + * setting to the sound device instance to be applied immediately, + * if it supports it. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param volume The input volume level, in percent. + * @param keep Specify whether the setting is to be kept for + * future use. + * + */ + void setInputVolume(unsigned volume, bool keep=true) throw(Error); + + /** + * Get the audio input volume level capability of the sound device being + * used. If sound device is currently active, the method will forward the + * request to the sound device. If sound device is currently inactive, + * and if application had previously set the setting and mark the setting + * as kept, then that setting will be returned. Otherwise, this method + * will raise error. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. * + + * @return The audio input volume level, in percent. + * + */ + unsigned getInputVolume() const throw(Error); + + /** + * This will configure audio output volume level capability to the sound + * device being used. If sound device is currently active, the method will + * forward the setting to the sound device instance to be applied + * immediately, if it supports it. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param volume The output volume level, in percent. + * @param keep Specify whether the setting is to be kept + * for future use. + * + */ + void setOutputVolume(unsigned volume, bool keep=true) throw(Error); + + /** + * Get the audio output volume level capability of the sound device being + * used. If sound device is currently active, the method will forward the + * request to the sound device. If sound device is currently inactive, + * and if application had previously set the setting and mark the setting + * as kept, then that setting will be returned. Otherwise, this method + * will raise error. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. + * + * @return The audio output volume level, in percent. + * + */ + unsigned getOutputVolume() const throw(Error); + + /** + * Get the audio input signal level capability of the sound device being + * used. If sound device is currently active, the method will forward the + * request to the sound device. If sound device is currently inactive, + * and if application had previously set the setting and mark the setting + * as kept, then that setting will be returned. Otherwise, this method + * will raise error. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_INPUT_SIGNAL_METER capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. + * + * @return The audio input signal level, in percent. + * + */ + unsigned getInputSignal() const throw(Error); + + /** + * Get the audio output signal level capability of the sound device being + * used. If sound device is currently active, the method will forward the + * request to the sound device. If sound device is currently inactive, + * and if application had previously set the setting and mark the setting + * as kept, then that setting will be returned. Otherwise, this method + * will raise error. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_OUTPUT_SIGNAL_METER capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. + * + * @return The audio output signal level, in percent. + * + */ + unsigned getOutputSignal() const throw(Error); + + /** + * This will configure audio input route capability to the sound device + * being used. If sound device is currently active, the method will + * forward the setting to the sound device instance to be applied + * immediately, if it supports it. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param route The audio input route. + * @param keep Specify whether the setting is to be kept + * for future use. + * + */ + void + setInputRoute(pjmedia_aud_dev_route route, bool keep=true) throw(Error); + + /** + * Get the audio input route capability of the sound device being used. + * If sound device is currently active, the method will forward the + * request to the sound device. If sound device is currently inactive, + * and if application had previously set the setting and mark the setting + * as kept, then that setting will be returned. Otherwise, this method + * will raise error. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. + * + * @return The audio input route. + * + */ + pjmedia_aud_dev_route getInputRoute() const throw(Error); + + /** + * This will configure audio output route capability to the sound device + * being used. If sound device is currently active, the method will + * forward the setting to the sound device instance to be applied + * immediately, if it supports it. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param route The audio output route. + * @param keep Specify whether the setting is to be kept + * for future use. + * + */ + void + setOutputRoute(pjmedia_aud_dev_route route, bool keep=true) throw(Error); + + /** + * Get the audio output route capability of the sound device being used. + * If sound device is currently active, the method will forward the + * request to the sound device. If sound device is currently inactive, + * and if application had previously set the setting and mark the setting + * as kept, then that setting will be returned. Otherwise, this method + * will raise error. + * + * This method is only valid if the device has + * PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE capability in AudioDevInfo.caps + * flags, otherwise Error will be thrown. + * + * @return The audio output route. + * + */ + pjmedia_aud_dev_route getOutputRoute() const throw(Error); + + /** + * This will configure audio voice activity detection capability to + * the sound device being used. If sound device is currently active, + * the method will forward the setting to the sound device instance + * to be applied immediately, if it supports it. + * + * This method is only valid if the device has PJMEDIA_AUD_DEV_CAP_VAD + * capability in AudioDevInfo.caps flags, otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param enable Enable/disable voice activity detection + * feature. Set true to enable. + * @param keep Specify whether the setting is to be kept for + * future use. + * + */ + void setVad(bool enable, bool keep=true) throw(Error); + + /** + * Get the audio voice activity detection capability of the sound device + * being used. If sound device is currently active, the method will + * forward the request to the sound device. If sound device is currently + * inactive, and if application had previously set the setting and mark + * the setting as kept, then that setting will be returned. Otherwise, + * this method will raise error. + * + * This method is only valid if the device has PJMEDIA_AUD_DEV_CAP_VAD + * capability in AudioDevInfo.caps flags, otherwise Error will be thrown. + * + * @return The audio voice activity detection feature. + * + */ + bool getVad() const throw(Error); + + /** + * This will configure audio comfort noise generation capability to + * the sound device being used. If sound device is currently active, + * the method will forward the setting to the sound device instance + * to be applied immediately, if it supports it. + * + * This method is only valid if the device has PJMEDIA_AUD_DEV_CAP_CNG + * capability in AudioDevInfo.caps flags, otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param enable Enable/disable comfort noise generation + * feature. Set true to enable. + * @param keep Specify whether the setting is to be kept for + * future use. + * + */ + void setCng(bool enable, bool keep=true) throw(Error); + + /** + * Get the audio comfort noise generation capability of the sound device + * being used. If sound device is currently active, the method will + * forward the request to the sound device. If sound device is currently + * inactive, and if application had previously set the setting and mark + * the setting as kept, then that setting will be returned. Otherwise, + * this method will raise error. + * + * This method is only valid if the device has PJMEDIA_AUD_DEV_CAP_CNG + * capability in AudioDevInfo.caps flags, otherwise Error will be thrown. + * + * @return The audio comfort noise generation feature. + * + */ + bool getCng() const throw(Error); + + /** + * This will configure audio packet loss concealment capability to + * the sound device being used. If sound device is currently active, + * the method will forward the setting to the sound device instance + * to be applied immediately, if it supports it. + * + * This method is only valid if the device has PJMEDIA_AUD_DEV_CAP_PLC + * capability in AudioDevInfo.caps flags, otherwise Error will be thrown. + * + * Note that in case the setting is kept for future use, it will be applied + * to any devices, even when application has changed the sound device to be + * used. + * + * @param enable Enable/disable packet loss concealment + * feature. Set true to enable. + * @param keep Specify whether the setting is to be kept for + * future use. + * + */ + void setPlc(bool enable, bool keep=true) throw(Error); + + /** + * Get the audio packet loss concealment capability of the sound device + * being used. If sound device is currently active, the method will + * forward the request to the sound device. If sound device is currently + * inactive, and if application had previously set the setting and mark + * the setting as kept, then that setting will be returned. Otherwise, + * this method will raise error. + * + * This method is only valid if the device has PJMEDIA_AUD_DEV_CAP_PLC + * capability in AudioDevInfo.caps flags, otherwise Error will be thrown. + * + * @return The audio packet loss concealment feature. + * + */ + bool getPlc() const throw(Error); + +private: + AudioDevInfoVector audioDevList; + AudioMedia *devMedia; + + /** + * Constructor. + */ + AudDevManager(); + + /** + * Destructor. + */ + ~AudDevManager(); + + void clearAudioDevList(); + int getActiveDev(bool is_capture) const throw(Error); + + friend class Endpoint; +}; + +/************************************************************************* +* Codec management +*/ + +/** + * This structure describes codec information. + */ +struct CodecInfo +{ + /** + * Codec unique identification. + */ + string codecId; + + /** + * Codec priority (integer 0-255). + */ + pj_uint8_t priority; + + /** + * Codec description. + */ + string desc; + + /** + * Construct from pjsua_codec_info. + */ + void fromPj(const pjsua_codec_info &codec_info); +}; + +/** Array of codec info */ +typedef std::vector<CodecInfo*> CodecInfoVector; + +/** + * Codec parameters, corresponds to pjmedia_codec_param or + * pjmedia_vid_codec_param. + */ +typedef void *CodecParam; + + +/** + * @} // PJSUA2_MED + */ + +} // namespace pj + +#endif /* __PJSUA2_MEDIA_HPP__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/persistent.hpp b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/persistent.hpp new file mode 100644 index 0000000000000000000000000000000000000000..504393f44a7e2ebf7bc9ce8e3ae4f84f38125733 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/persistent.hpp @@ -0,0 +1,689 @@ +/* $Id: persistent.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA2_PERSISTENT_HPP__ +#define __PJSUA2_PERSISTENT_HPP__ + +/** + * @file pjsua2/persistent.hpp + * @brief PJSUA2 Persistent Services + */ +#include <pjsua2/types.hpp> + +#include <string> +#include <vector> + +/** PJSUA2 API is inside pj namespace */ +namespace pj +{ + +/** + * @defgroup PJSUA2_PERSISTENT Persistent API + * @ingroup PJSUA2_Ref + * @{ + * The persistent API provides functionality to read/write data from/to + * a document (string or file). The data can be simple data types such + * as boolean, number, string, and string arrays, or a user defined object. + * Currently the implementation supports reading and writing from/to JSON + * document, but the framework allows application to extend the API to + * support other document formats. + */ + +using std::string; +using std::vector; + +/* Forward declaration for ContainerNode */ +class ContainerNode; + +/** + * This is the abstract base class of objects that can be serialized to/from + * persistent document. + */ +class PersistentObject +{ +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error) = 0; + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error) = 0; +}; + + +/** + * This a the abstract base class for a persistent document. A document + * is created either by loading from a string or a file, or by constructing + * it manually when writing data to it. The document then can be saved + * to either string or to a file. A document contains one root ContainerNode + * where all data are stored under. + * + * Document is read and written serially, hence the order of reading must be + * the same as the order of writing. The PersistentDocument class provides + * API to read and write to the root node, but for more flexible operations + * application can use the ContainerNode methods instead. Indeed the read + * and write API in PersistentDocument is just a shorthand which calls the + * relevant methods in the ContainerNode. As a tip, normally application only + * uses the readObject() and writeObject() methods declared here to read/write + * top level objects, and use the macros that are explained in ContainerNode + * documentation to read/write more detailed data. + */ +class PersistentDocument +{ +public: + /** + * Virtual destructor + */ + virtual ~PersistentDocument() + {} + + /** + * Load this document from a file. + * + * @param filename The file name. + */ + virtual void loadFile(const string &filename) throw(Error) = 0; + + /** + * Load this document from string. + * + * @param input The string. + */ + virtual void loadString(const string &input) throw(Error) = 0; + + /** + * Write this document to a file. + * + * @param filename The file name. + */ + virtual void saveFile(const string &filename) throw(Error) = 0; + + /** + * Write this document to string. + * + * @return The string document. + */ + virtual string saveString() throw(Error) = 0; + + /** + * Get the root container node for this document + * + * @return The root node. + */ + virtual ContainerNode & getRootContainer() const = 0; + + + /* + * Shorthand functions for reading and writing from/to the root container + */ + + + /** + * Determine if there is unread element. If yes, then app can use one of + * the readXxx() functions to read it. + * + * @return True if there is. + */ + bool hasUnread() const; + + /** + * Get the name of the next unread element. It will throw Error if there + * is no more element to read. + * + * @return The name of the next element . + */ + string unreadName() const throw(Error); + + /** + * Read an integer value from the document and return the value. + * This will throw Error if the current element is not a number. + * The read position will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + int readInt(const string &name="") const throw(Error); + + /** + * Read a float value from the document and return the value. + * This will throw Error if the current element is not a number. + * The read position will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + float readNumber(const string &name="") const throw(Error); + + /** + * Read a boolean value from the container and return the value. + * This will throw Error if the current element is not a boolean. + * The read position will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + bool readBool(const string &name="") const throw(Error); + + /** + * Read a string value from the container and return the value. + * This will throw Error if the current element is not a string. + * The read position will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + string readString(const string &name="") const throw(Error); + + /** + * Read a string array from the container. This will throw Error + * if the current element is not a string array. The read position + * will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + StringVector readStringVector(const string &name="") const + throw(Error); + + /** + * Read the specified object from the container. This is equal to + * calling PersistentObject.readObject(ContainerNode); + * + * @param obj The object to read. + */ + void readObject(PersistentObject &obj) const throw(Error); + + /** + * Read a container from the container. This will throw Error if the + * current element is not an object. The read position will be advanced + * to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return Container object. + */ + ContainerNode readContainer(const string &name="") const + throw(Error); + + /** + * Read array container from the container. This will throw Error if the + * current element is not an array. The read position will be advanced + * to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return Container object. + */ + ContainerNode readArray(const string &name="") const + throw(Error); + + /** + * Write a number value to the container. + * + * @param name The name for the value in the container. + * @param num The value to be written. + */ + void writeNumber(const string &name, + float num) throw(Error); + + /** + * Write a number value to the container. + * + * @param name The name for the value in the container. + * @param num The value to be written. + */ + void writeInt(const string &name, + int num) throw(Error); + + /** + * Write a boolean value to the container. + * + * @param name The name for the value in the container. + * @param value The value to be written. + */ + void writeBool(const string &name, + bool value) throw(Error); + + /** + * Write a string value to the container. + * + * @param name The name for the value in the container. + * @param value The value to be written. + */ + void writeString(const string &name, + const string &value) throw(Error); + + /** + * Write string vector to the container. + * + * @param name The name for the value in the container. + * @param arr The vector to be written. + */ + void writeStringVector(const string &name, + const StringVector &arr) + throw(Error); + + /** + * Write an object to the container. This is equal to calling + * PersistentObject.writeObject(ContainerNode); + * + * @param obj The object to be written + */ + void writeObject(const PersistentObject &obj) throw(Error); + + /** + * Create and write an empty Object node that can be used as parent + * for subsequent write operations. + * + * @param name The name for the new container in the container. + * + * @return A sub-container. + */ + ContainerNode writeNewContainer(const string &name) + throw(Error); + + /** + * Create and write an empty array node that can be used as parent + * for subsequent write operations. + * + * @param name The name for the array. + * + * @return A sub-container. + */ + ContainerNode writeNewArray(const string &name) + throw(Error); +}; + + +/** + * Forward declaration of container_node_op. + */ +struct container_node_op; + + +/** + * Internal data for ContainerNode. See ContainerNode implementation notes + * for more info. + */ +struct container_node_internal_data +{ + void *doc; /**< The document. */ + void *data1; /**< Internal data 1 */ + void *data2; /**< Internal data 2 */ +}; + +/** + * A container node is a placeholder for storing other data elements, which + * could be boolean, number, string, array of strings, or another container. + * Each data in the container is basically a name/value pair, with a type + * internally associated with it so that written data can be read in the + * correct type. Data is read and written serially, hence the order of + * reading must be the same as the order of writing. + * + * Application can read data from it by using the various read methods, and + * write data to it using the various write methods. Alternatively, it + * may be more convenient to use the provided macros below to read and write + * the data, because these macros set the name automatically: + * - NODE_READ_BOOL(node,item) + * - NODE_READ_UNSIGNED(node,item) + * - NODE_READ_INT(node,item) + * - NODE_READ_FLOAT(node,item) + * - NODE_READ_NUM_T(node,type,item) + * - NODE_READ_STRING(node,item) + * - NODE_READ_STRINGV(node,item) + * - NODE_READ_OBJ(node,item) + * - NODE_WRITE_BOOL(node,item) + * - NODE_WRITE_UNSIGNED(node,item) + * - NODE_WRITE_INT(node,item) + * - NODE_WRITE_FLOAT(node,item) + * - NODE_WRITE_NUM_T(node,type,item) + * - NODE_WRITE_STRING(node,item) + * - NODE_WRITE_STRINGV(node,item) + * - NODE_WRITE_OBJ(node,item) + * + * Implementation notes: + * + * The ContainerNode class is subclass-able, but not in the usual C++ way. + * With the usual C++ inheritance, some methods will be made pure virtual + * and must be implemented by the actual class. However, doing so will + * require dynamic instantiation of the ContainerNode class, which means + * we will need to pass around the class as pointer, for example as the + * return value of readContainer() and writeNewContainer() methods. Then + * we will need to establish who needs or how to delete these objects, or + * use shared pointer mechanism, each of which is considered too inconvenient + * or complicated for the purpose. + * + * So hence we use C style "inheritance", where the methods are declared in + * container_node_op and the data in container_node_internal_data structures. + * An implementation of ContainerNode class will need to set up these members + * with values that makes sense to itself. The methods in container_node_op + * contains the pointer to the actual implementation of the operation, which + * would be specific according to the format of the document. The methods in + * this ContainerNode class are just thin wrappers which call the + * implementation in the container_node_op structure. + * + */ +class ContainerNode +{ +public: + /** + * Determine if there is unread element. If yes, then app can use one of + * the readXxx() functions to read it. + */ + bool hasUnread() const; + + /** + * Get the name of the next unread element. + */ + string unreadName() const throw(Error); + + /** + * Read an integer value from the document and return the value. + * This will throw Error if the current element is not a number. + * The read position will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + int readInt(const string &name="") const throw(Error); + + /** + * Read a number value from the document and return the value. + * This will throw Error if the current element is not a number. + * The read position will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + float readNumber(const string &name="") const throw(Error); + + /** + * Read a boolean value from the container and return the value. + * This will throw Error if the current element is not a boolean. + * The read position will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + bool readBool(const string &name="") const throw(Error); + + /** + * Read a string value from the container and return the value. + * This will throw Error if the current element is not a string. + * The read position will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + string readString(const string &name="") const throw(Error); + + /** + * Read a string array from the container. This will throw Error + * if the current element is not a string array. The read position + * will be advanced to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return The value. + */ + StringVector readStringVector(const string &name="") const + throw(Error); + + /** + * Read the specified object from the container. This is equal to + * calling PersistentObject.readObject(ContainerNode); + * + * @param obj The object to read. + */ + void readObject(PersistentObject &obj) const throw(Error); + + /** + * Read a container from the container. This will throw Error if the + * current element is not a container. The read position will be advanced + * to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return Container object. + */ + ContainerNode readContainer(const string &name="") const + throw(Error); + + /** + * Read array container from the container. This will throw Error if the + * current element is not an array. The read position will be advanced + * to the next element. + * + * @param name If specified, then the function will check if the + * name of the next element matches the specified + * name and throw Error if it doesn't match. + * + * @return Container object. + */ + ContainerNode readArray(const string &name="") const + throw(Error); + + /** + * Write a number value to the container. + * + * @param name The name for the value in the container. + * @param num The value to be written. + */ + void writeNumber(const string &name, + float num) throw(Error); + + /** + * Write a number value to the container. + * + * @param name The name for the value in the container. + * @param num The value to be written. + */ + void writeInt(const string &name, + int num) throw(Error); + + /** + * Write a boolean value to the container. + * + * @param name The name for the value in the container. + * @param value The value to be written. + */ + void writeBool(const string &name, + bool value) throw(Error); + + /** + * Write a string value to the container. + * + * @param name The name for the value in the container. + * @param value The value to be written. + */ + void writeString(const string &name, + const string &value) throw(Error); + + /** + * Write string vector to the container. + * + * @param name The name for the value in the container. + * @param arr The vector to be written. + */ + void writeStringVector(const string &name, + const StringVector &arr) + throw(Error); + + /** + * Write an object to the container. This is equal to calling + * PersistentObject.writeObject(ContainerNode); + * + * @param obj The object to be written + */ + void writeObject(const PersistentObject &obj) throw(Error); + + /** + * Create and write an empty Object node that can be used as parent + * for subsequent write operations. + * + * @param name The name for the new container in the container. + * + * @return A sub-container. + */ + ContainerNode writeNewContainer(const string &name) + throw(Error); + + /** + * Create and write an empty array node that can be used as parent + * for subsequent write operations. + * + * @param name The name for the array. + * + * @return A sub-container. + */ + ContainerNode writeNewArray(const string &name) + throw(Error); + +public: + /* internal data */ + container_node_op *op; /**< Method table. */ + container_node_internal_data data; /**< Internal data */ +}; + + +/** + * Pointer to actual ContainerNode implementation. See ContainerNode + * implementation notes for more info. + */ +//! @cond Doxygen_Suppress +struct container_node_op +{ + bool (*hasUnread)(const ContainerNode*); + string (*unreadName)(const ContainerNode*) + throw(Error); + float (*readNumber)(const ContainerNode*, + const string&) + throw(Error); + bool (*readBool)(const ContainerNode*, + const string&) + throw(Error); + string (*readString)(const ContainerNode*, + const string&) + throw(Error); + StringVector (*readStringVector)(const ContainerNode*, + const string&) + throw(Error); + ContainerNode (*readContainer)(const ContainerNode*, + const string &) + throw(Error); + ContainerNode (*readArray)(const ContainerNode*, + const string &) + throw(Error); + void (*writeNumber)(ContainerNode*, + const string &name, + float num) + throw(Error); + void (*writeBool)(ContainerNode*, + const string &name, + bool value) + throw(Error); + void (*writeString)(ContainerNode*, + const string &name, + const string &value) + throw(Error); + void (*writeStringVector)(ContainerNode*, + const string &name, + const StringVector &value) + throw(Error); + ContainerNode (*writeNewContainer)(ContainerNode*, + const string &name) + throw(Error); + ContainerNode (*writeNewArray)(ContainerNode*, + const string &name) + throw(Error); +}; + +/* + * Convenient macros. + */ +#define NODE_READ_BOOL(node,item) item = node.readBool(#item) +#define NODE_READ_UNSIGNED(node,item) item = (unsigned)node.readNumber(#item) +#define NODE_READ_INT(node,item) item = (int) node.readNumber(#item) +#define NODE_READ_FLOAT(node,item) item = node.readNumber(#item) +#define NODE_READ_NUM_T(node,T,item) item = (T)(int)node.readNumber(#item) +#define NODE_READ_STRING(node,item) item = node.readString(#item) +#define NODE_READ_STRINGV(node,item) item = node.readStringVector(#item) +#define NODE_READ_OBJ(node,item) node.readObject(item) + +#define NODE_WRITE_BOOL(node,item) node.writeBool(#item, item) +#define NODE_WRITE_UNSIGNED(node,item) node.writeNumber(#item, (float)item) +#define NODE_WRITE_INT(node,item) node.writeNumber(#item, (float)item) +#define NODE_WRITE_NUM_T(node,T,item) node.writeNumber(#item, (float)item) +#define NODE_WRITE_FLOAT(node,item) node.writeNumber(#item, item) +#define NODE_WRITE_STRING(node,item) node.writeString(#item, item) +#define NODE_WRITE_STRINGV(node,item) node.writeStringVector(#item, item) +#define NODE_WRITE_OBJ(node,item) node.writeObject(item) + +//! @endcond + +/** + * @} PJSUA2 + */ + +} // namespace pj + + + +#endif /* __PJSUA2_PERSISTENT_HPP__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/presence.hpp b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/presence.hpp new file mode 100644 index 0000000000000000000000000000000000000000..17b0fb4461a5e306d22aa5dfba84f47460567ed3 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/presence.hpp @@ -0,0 +1,296 @@ +/* $Id: presence.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA2_PRESENCE_HPP__ +#define __PJSUA2_PRESENCE_HPP__ + +/** + * @file pjsua2/presence.hpp + * @brief PJSUA2 Presence Operations + */ +#include <pjsua2/persistent.hpp> +#include <pjsua2/siptypes.hpp> + +/** PJSUA2 API is inside pj namespace */ +namespace pj +{ + +/** + * @defgroup PJSUA2_PRES Presence + * @ingroup PJSUA2_Ref + * @{ + */ + +using std::string; +using std::vector; + + +/** + * This describes presence status. + */ +struct PresenceStatus +{ + /** + * Buddy's online status. + */ + pjsua_buddy_status status; + + /** + * Text to describe buddy's online status. + */ + string statusText; + + /** + * Activity type. + */ + pjrpid_activity activity; + + /** + * Optional text describing the person/element. + */ + string note; + + /** + * Optional RPID ID string. + */ + string rpidId; + +public: + /** + * Constructor. + */ + PresenceStatus(); +}; + + +/** + * This structure describes buddy configuration when adding a buddy to + * the buddy list with Buddy::create(). + */ +struct BuddyConfig : public PersistentObject +{ + /** + * Buddy URL or name address. + */ + string uri; + + /** + * Specify whether presence subscription should start immediately. + */ + bool subscribe; + +public: + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + + +/** + * This structure describes buddy info, which can be retrieved by via + * Buddy::getInfo(). + */ +struct BuddyInfo +{ + /** + * The full URI of the buddy, as specified in the configuration. + */ + string uri; + + /** + * Buddy's Contact, only available when presence subscription has + * been established to the buddy. + */ + string contact; + + /** + * Flag to indicate that we should monitor the presence information for + * this buddy (normally yes, unless explicitly disabled). + */ + bool presMonitorEnabled; + + /** + * If \a presMonitorEnabled is true, this specifies the last state of + * the presence subscription. If presence subscription session is currently + * active, the value will be PJSIP_EVSUB_STATE_ACTIVE. If presence + * subscription request has been rejected, the value will be + * PJSIP_EVSUB_STATE_TERMINATED, and the termination reason will be + * specified in \a subTermReason. + */ + pjsip_evsub_state subState; + + /** + * String representation of subscription state. + */ + string subStateName; + + /** + * Specifies the last presence subscription termination code. This would + * return the last status of the SUBSCRIBE request. If the subscription + * is terminated with NOTIFY by the server, this value will be set to + * 200, and subscription termination reason will be given in the + * \a subTermReason field. + */ + pjsip_status_code subTermCode; + + /** + * Specifies the last presence subscription termination reason. If + * presence subscription is currently active, the value will be empty. + */ + string subTermReason; + + /** + * Presence status. + */ + PresenceStatus presStatus; + +public: + /** Import from pjsip structure */ + void fromPj(const pjsua_buddy_info &pbi); +}; + + +/** + * Buddy. + */ +class Buddy +{ +public: + /** + * Constructor. + */ + Buddy(); + + /** + * Destructor. Note that if the Buddy instance is deleted, it will also + * delete the corresponding buddy in the PJSUA-LIB. + */ + virtual ~Buddy(); + + /** + * Create buddy and register the buddy to PJSUA-LIB. + * + * @param acc The account for this buddy. + * @param cfg The buddy config. + */ + void create(Account &acc, const BuddyConfig &cfg) throw(Error); + + /** + * Check if this buddy is valid. + * + * @return True if it is. + */ + bool isValid() const; + + /** + * Get detailed buddy info. + * + * @return Buddy info. + */ + BuddyInfo getInfo() const throw(Error); + + /** + * Enable/disable buddy's presence monitoring. Once buddy's presence is + * subscribed, application will be informed about buddy's presence status + * changed via \a onBuddyState() callback. + * + * @param subscribe Specify true to activate presence + * subscription. + */ + void subscribePresence(bool subscribe) throw(Error); + + /** + * Update the presence information for the buddy. Although the library + * periodically refreshes the presence subscription for all buddies, + * some application may want to refresh the buddy's presence subscription + * immediately, and in this case it can use this function to accomplish + * this. + * + * Note that the buddy's presence subscription will only be initiated + * if presence monitoring is enabled for the buddy. See + * subscribePresence() for more info. Also if presence subscription for + * the buddy is already active, this function will not do anything. + * + * Once the presence subscription is activated successfully for the buddy, + * application will be notified about the buddy's presence status in the + * \a onBuddyState() callback. + */ + void updatePresence(void) throw(Error); + + /** + * Send instant messaging outside dialog, using this buddy's specified + * account for route set and authentication. + * + * @param prm Sending instant message parameter. + */ + void sendInstantMessage(const SendInstantMessageParam &prm) throw(Error); + + /** + * Send typing indication outside dialog. + * + * @param prm Sending instant message parameter. + */ + void sendTypingIndication(const SendTypingIndicationParam &prm) + throw(Error); + +public: + /* + * Callbacks + */ + + /** + * Notify application when the buddy state has changed. + * Application may then query the buddy info to get the details. + */ + virtual void onBuddyState() + {} + +private: + /** + * Buddy ID. + */ + pjsua_buddy_id id; + + /** + * Account. + */ + Account *acc; +}; + + +/** Array of buddies */ +typedef std::vector<Buddy*> BuddyVector; + + +/** + * @} // PJSUA2_PRES + */ + +} // namespace pj + +#endif /* __PJSUA2_PRESENCE_HPP__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/siptypes.hpp b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/siptypes.hpp new file mode 100644 index 0000000000000000000000000000000000000000..6c89861730a0dba468c6437e5de887f512d000f8 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/siptypes.hpp @@ -0,0 +1,910 @@ +/* $Id: siptypes.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2032 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA2_SIPTYPES_HPP__ +#define __PJSUA2_SIPTYPES_HPP__ + +/** + * @file pjsua2/types.hpp + * @brief PJSUA2 Base Types + */ +#include <pjsua2/types.hpp> +#include <pjsua2/persistent.hpp> + +#include <string> +#include <vector> + +/** PJSUA2 API is inside pj namespace */ +namespace pj +{ + +/** + * @defgroup PJSUA2_SIP_Types SIP Types + * @ingroup PJSUA2_DS + * @{ + */ + +/** + * Credential information. Credential contains information to authenticate + * against a service. + */ +struct AuthCredInfo : public PersistentObject +{ + /** + * The authentication scheme (e.g. "digest"). + */ + string scheme; + + /** + * Realm on which this credential is to be used. Use "*" to make + * a credential that can be used to authenticate against any challenges. + */ + string realm; + + /** + * Authentication user name. + */ + string username; + + /** + * Type of data that is contained in the "data" field. Use 0 if the data + * contains plain text password. + */ + int dataType; + + /** + * The data, which can be a plain text password or a hashed digest. + */ + string data; + + /* + * Digest AKA credential information. Note that when AKA credential + * is being used, the \a data field of this pjsip_cred_info is + * not used, but it still must be initialized to an empty string. + * Please see PJSIP_AUTH_AKA_API for more information. + */ + + /** Permanent subscriber key. */ + string akaK; + + /** Operator variant key. */ + string akaOp; + + /** Authentication Management Field */ + string akaAmf; + +public: + /** Default constructor */ + AuthCredInfo(); + + /** Construct a credential with the specified parameters */ + AuthCredInfo(const string &scheme, + const string &realm, + const string &user_name, + const int data_type, + const string data); + + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + + +////////////////////////////////////////////////////////////////////////////// + +/** + * TLS transport settings, to be specified in TransportConfig. + */ +struct TlsConfig : public PersistentObject +{ + /** + * Certificate of Authority (CA) list file. + */ + string CaListFile; + + /** + * Public endpoint certificate file, which will be used as client- + * side certificate for outgoing TLS connection, and server-side + * certificate for incoming TLS connection. + */ + string certFile; + + /** + * Optional private key of the endpoint certificate to be used. + */ + string privKeyFile; + + /** + * Password to open private key. + */ + string password; + + /** + * TLS protocol method from pjsip_ssl_method. + * + * Default is PJSIP_SSL_UNSPECIFIED_METHOD (0), which in turn will + * use PJSIP_SSL_DEFAULT_METHOD, which default value is + * PJSIP_TLSV1_METHOD. + */ + pjsip_ssl_method method; + + /** + * Ciphers and order preference. The Endpoint::utilSslGetAvailableCiphers() + * can be used to check the available ciphers supported by backend. + * If the array is empty, then default cipher list of the backend + * will be used. + */ + IntVector ciphers; + + /** + * Specifies TLS transport behavior on the server TLS certificate + * verification result: + * - If \a verifyServer is disabled, TLS transport will just notify + * the application via pjsip_tp_state_callback with state + * PJSIP_TP_STATE_CONNECTED regardless TLS verification result. + * - If \a verifyServer is enabled, TLS transport will be shutdown + * and application will be notified with state + * PJSIP_TP_STATE_DISCONNECTED whenever there is any TLS verification + * error, otherwise PJSIP_TP_STATE_CONNECTED will be notified. + * + * In any cases, application can inspect pjsip_tls_state_info in the + * callback to see the verification detail. + * + * Default value is false. + */ + bool verifyServer; + + /** + * Specifies TLS transport behavior on the client TLS certificate + * verification result: + * - If \a verifyClient is disabled, TLS transport will just notify + * the application via pjsip_tp_state_callback with state + * PJSIP_TP_STATE_CONNECTED regardless TLS verification result. + * - If \a verifyClient is enabled, TLS transport will be shutdown + * and application will be notified with state + * PJSIP_TP_STATE_DISCONNECTED whenever there is any TLS verification + * error, otherwise PJSIP_TP_STATE_CONNECTED will be notified. + * + * In any cases, application can inspect pjsip_tls_state_info in the + * callback to see the verification detail. + * + * Default value is PJ_FALSE. + */ + bool verifyClient; + + /** + * When acting as server (incoming TLS connections), reject incoming + * connection if client doesn't supply a TLS certificate. + * + * This setting corresponds to SSL_VERIFY_FAIL_IF_NO_PEER_CERT flag. + * Default value is PJ_FALSE. + */ + bool requireClientCert; + + /** + * TLS negotiation timeout to be applied for both outgoing and incoming + * connection, in milliseconds. If zero, the SSL negotiation doesn't + * have a timeout. + * + * Default: zero + */ + unsigned msecTimeout; + + /** + * QoS traffic type to be set on this transport. When application wants + * to apply QoS tagging to the transport, it's preferable to set this + * field rather than \a qosParam fields since this is more portable. + * + * Default value is PJ_QOS_TYPE_BEST_EFFORT. + */ + pj_qos_type qosType; + + /** + * Set the low level QoS parameters to the transport. This is a lower + * level operation than setting the \a qosType field and may not be + * supported on all platforms. + * + * By default all settings in this structure are disabled. + */ + pj_qos_params qosParams; + + /** + * Specify if the transport should ignore any errors when setting the QoS + * traffic type/parameters. + * + * Default: PJ_TRUE + */ + bool qosIgnoreError; + +public: + /** Default constructor initialises with default values */ + TlsConfig(); + + /** Convert to pjsip */ + pjsip_tls_setting toPj() const; + + /** Convert from pjsip */ + void fromPj(const pjsip_tls_setting &prm); + + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + + +/** + * Parameters to create a transport instance. + */ +struct TransportConfig : public PersistentObject +{ + /** + * UDP port number to bind locally. This setting MUST be specified + * even when default port is desired. If the value is zero, the + * transport will be bound to any available port, and application + * can query the port by querying the transport info. + */ + unsigned port; + + /** + * Specify the port range for socket binding, relative to the start + * port number specified in \a port. Note that this setting is only + * applicable when the start port number is non zero. + * + * Default value is zero. + */ + unsigned portRange; + + /** + * Optional address to advertise as the address of this transport. + * Application can specify any address or hostname for this field, + * for example it can point to one of the interface address in the + * system, or it can point to the public address of a NAT router + * where port mappings have been configured for the application. + * + * Note: this option can be used for both UDP and TCP as well! + */ + string publicAddress; + + /** + * Optional address where the socket should be bound to. This option + * SHOULD only be used to selectively bind the socket to particular + * interface (instead of 0.0.0.0), and SHOULD NOT be used to set the + * published address of a transport (the public_addr field should be + * used for that purpose). + * + * Note that unlike public_addr field, the address (or hostname) here + * MUST correspond to the actual interface address in the host, since + * this address will be specified as bind() argument. + */ + string boundAddress; + + /** + * This specifies TLS settings for TLS transport. It is only be used + * when this transport config is being used to create a SIP TLS + * transport. + */ + TlsConfig tlsConfig; + + /** + * QoS traffic type to be set on this transport. When application wants + * to apply QoS tagging to the transport, it's preferable to set this + * field rather than \a qosParam fields since this is more portable. + * + * Default is QoS not set. + */ + pj_qos_type qosType; + + /** + * Set the low level QoS parameters to the transport. This is a lower + * level operation than setting the \a qosType field and may not be + * supported on all platforms. + * + * Default is QoS not set. + */ + pj_qos_params qosParams; + +public: + /** Default constructor initialises with default values */ + TransportConfig(); + + /** Convert from pjsip */ + void fromPj(const pjsua_transport_config &prm); + + /** Convert to pjsip */ + pjsua_transport_config toPj() const; + + /** + * Read this object from a container node. + * + * @param node Container to read values from. + */ + virtual void readObject(const ContainerNode &node) throw(Error); + + /** + * Write this object to a container node. + * + * @param node Container to write values to. + */ + virtual void writeObject(ContainerNode &node) const throw(Error); +}; + +/** + * This structure describes transport information returned by + * Endpoint::transportGetInfo() function. + */ +struct TransportInfo +{ + /** PJSUA transport identification. */ + TransportId id; + + /** Transport type. */ + pjsip_transport_type_e type; + + /** Transport type name. */ + string typeName; + + /** Transport string info/description. */ + string info; + + /** Transport flags (see pjsip_transport_flags_e). */ + unsigned flags; + + /** Local/bound address. */ + SocketAddress localAddress; + + /** Published address (or transport address name). */ + SocketAddress localName; + + /** Current number of objects currently referencing this transport. */ + unsigned usageCount; + +public: + /** Construct from pjsua_transport_info */ + void fromPj(const pjsua_transport_info &info); +}; + +////////////////////////////////////////////////////////////////////////////// + +/** + * This structure describes an incoming SIP message. It corresponds to the + * pjsip_rx_data structure in PJSIP library. + */ +struct SipRxData +{ + /** + * A short info string describing the request, which normally contains + * the request method and its CSeq. + */ + string info; + + /** + * The whole message data as a string, containing both the header section + * and message body section. + */ + string wholeMsg; + + /** + * Source address of the message. + */ + SocketAddress srcAddress; + + /** + * Pointer to original pjsip_rx_data. Only valid when the struct + * is constructed from PJSIP's pjsip_rx_data. + */ + void *pjRxData; + +public: + /** + * Default constructor. + */ + SipRxData(); + + /** + * Construct from PJSIP's pjsip_rx_data + */ + void fromPj(pjsip_rx_data &rdata); +}; + +/** + * This structure describes an outgoing SIP message. It corresponds to the + * pjsip_tx_data structure in PJSIP library. + */ +struct SipTxData +{ + /** + * A short info string describing the request, which normally contains + * the request method and its CSeq. + */ + string info; + + /** + * The whole message data as a string, containing both the header section + * and message body section. + */ + string wholeMsg; + + /** + * Destination address of the message. + */ + SocketAddress dstAddress; + + /** + * Pointer to original pjsip_tx_data. Only valid when the struct + * is constructed from PJSIP's pjsip_tx_data. + */ + void *pjTxData; + +public: + /** + * Default constructor. + */ + SipTxData(); + + /** + * Construct from PJSIP's pjsip_tx_data + */ + void fromPj(pjsip_tx_data &tdata); +}; + +/** + * This structure describes SIP transaction object. It corresponds to the + * pjsip_transaction structure in PJSIP library. + */ +struct SipTransaction +{ + /* Transaction identification. */ + pjsip_role_e role; /**< Role (UAS or UAC) */ + string method; /**< The method. */ + + /* State and status. */ + int statusCode; /**< Last status code seen. */ + string statusText; /**< Last reason phrase. */ + pjsip_tsx_state_e state; /**< State. */ + + /* Messages and timer. */ + SipTxData lastTx; /**< Msg kept for retrans. */ + + /* Original pjsip_transaction. */ + void *pjTransaction; /**< pjsip_transaction. */ + +public: + /** + * Default constructor. + */ + SipTransaction(); + + /** + * Construct from PJSIP's pjsip_transaction + */ + void fromPj(pjsip_transaction &tsx); +}; + +/** + * This structure describes timer event. + */ +struct TimerEvent +{ + TimerEntry entry; /**< The timer entry. */ +}; + +/** + * This structure describes transaction state changed event. + */ +struct TsxStateEvent +{ + struct + { + SipRxData rdata; /**< The incoming message. */ + SipTxData tdata; /**< The outgoing message. */ + TimerEntry timer; /**< The timer. */ + pj_status_t status; /**< Transport error status. */ + GenericData data; /**< Generic data. */ + } src; /**< Event source. */ + SipTransaction tsx; /**< The transaction. */ + pjsip_tsx_state_e prevState; /**< Previous state. */ + pjsip_event_id_e type; /**< Type of event source: + * - PJSIP_EVENT_TX_MSG + * - PJSIP_EVENT_RX_MSG, + * - PJSIP_EVENT_TRANSPORT_ERROR + * - PJSIP_EVENT_TIMER + * - PJSIP_EVENT_USER + */ +}; + +/** + * This structure describes message transmission event. + */ +struct TxMsgEvent +{ + SipTxData tdata; /**< The transmit data buffer. */ +}; + +/** + * This structure describes transmission error event. + */ +struct TxErrorEvent +{ + SipTxData tdata; /**< The transmit data. */ + SipTransaction tsx; /**< The transaction. */ +}; + +/** + * This structure describes message arrival event. + */ +struct RxMsgEvent +{ + SipRxData rdata; /**< The receive data buffer. */ +}; + +/** + * This structure describes user event. + */ +struct UserEvent +{ + GenericData user1; /**< User data 1. */ + GenericData user2; /**< User data 2. */ + GenericData user3; /**< User data 3. */ + GenericData user4; /**< User data 4. */ +}; + +/** + * This structure describe event descriptor to fully identify a SIP event. It + * corresponds to the pjsip_event structure in PJSIP library. + */ +struct SipEvent +{ + /** + * The event type, can be any value of \b pjsip_event_id_e. + */ + pjsip_event_id_e type; + + /** + * The event body, which fields depends on the event type. + */ + struct + { + /** + * Timer event. + */ + TimerEvent timer; + + /** + * Transaction state has changed event. + */ + TsxStateEvent tsxState; + + /** + * Message transmission event. + */ + TxMsgEvent txMsg; + + /** + * Transmission error event. + */ + TxErrorEvent txError; + + /** + * Message arrival event. + */ + RxMsgEvent rxMsg; + + /** + * User event. + */ + UserEvent user; + + } body; + + /** + * Pointer to its original pjsip_event. Only valid when the struct is + * constructed from PJSIP's pjsip_event. + */ + void *pjEvent; + +public: + /** + * Default constructor. + */ + SipEvent(); + + /** + * Construct from PJSIP's pjsip_event + */ + void fromPj(const pjsip_event &ev); +}; + +////////////////////////////////////////////////////////////////////////////// + +/** + * SIP media type containing type and subtype. For example, for + * "application/sdp", the type is "application" and the subtype is "sdp". + */ +struct SipMediaType +{ + /** Media type. */ + string type; + + /** Media subtype. */ + string subType; + +public: + /** + * Construct from PJSIP's pjsip_media_type + */ + void fromPj(const pjsip_media_type &prm); + + /** + * Convert to PJSIP's pjsip_media_type. + */ + pjsip_media_type toPj() const; +}; + +/** + * Simple SIP header. + */ +struct SipHeader +{ + /** + * Header name. + */ + string hName; + + /** + * Header value. + */ + string hValue; + +public: + /** + * Initiaize from PJSIP header. + */ + void fromPj(const pjsip_hdr *) throw(Error); + + /** + * Convert to PJSIP header. + */ + pjsip_generic_string_hdr &toPj() const; + +private: + /** Interal buffer for conversion to PJSIP header */ + mutable pjsip_generic_string_hdr pjHdr; +}; + + +/** Array of strings */ +typedef std::vector<SipHeader> SipHeaderVector; + +/** + * This describes each multipart part. + */ +struct SipMultipartPart +{ + /** + * Optional headers to be put in this multipart part. + */ + SipHeaderVector headers; + + /** + * The MIME type of the body part of this multipart part. + */ + SipMediaType contentType; + + /** + * The body part of tthis multipart part. + */ + string body; + +public: + /** + * Initiaize from PJSIP's pjsip_multipart_part. + */ + void fromPj(const pjsip_multipart_part &prm) throw(Error); + + /** + * Convert to PJSIP's pjsip_multipart_part. + */ + pjsip_multipart_part& toPj() const; + +private: + /** Interal buffer for conversion to PJSIP pjsip_multipart_part */ + mutable pjsip_multipart_part pjMpp; + mutable pjsip_msg_body pjMsgBody; +}; + +/** Array of multipart parts */ +typedef std::vector<SipMultipartPart> SipMultipartPartVector; + +/** + * Additional options when sending outgoing SIP message. This corresponds to + * pjsua_msg_data structure in PJSIP library. + */ +struct SipTxOption +{ + /** + * Optional remote target URI (i.e. Target header). If empty (""), the + * target will be set to the remote URI (To header). At the moment this + * field is only used when sending initial INVITE and MESSAGE requests. + */ + string targetUri; + + /** + * Additional message headers to be included in the outgoing message. + */ + SipHeaderVector headers; + + /** + * MIME type of the message body, if application specifies the messageBody + * in this structure. + */ + string contentType; + + /** + * Optional message body to be added to the message, only when the + * message doesn't have a body. + */ + string msgBody; + + /** + * Content type of the multipart body. If application wants to send + * multipart message bodies, it puts the parts in multipartParts and set + * the content type in multipartContentType. If the message already + * contains a body, the body will be added to the multipart bodies. + */ + SipMediaType multipartContentType; + + /** + * Array of multipart parts. If application wants to send multipart + * message bodies, it puts the parts in \a parts and set the content + * type in \a multipart_ctype. If the message already contains a body, + * the body will be added to the multipart bodies. + */ + SipMultipartPartVector multipartParts; + +public: + /** + * Check if the options are empty. If the options are set with empty + * values, there will be no additional information sent with outgoing + * SIP message. + * + * @return True if the options are empty. + */ + bool isEmpty() const; + + /** + * Initiaize from PJSUA's pjsua_msg_data. + */ + void fromPj(const pjsua_msg_data &prm) throw(Error); + + /** + * Convert to PJSUA's pjsua_msg_data. + */ + void toPj(pjsua_msg_data &msg_data) const; +}; + +////////////////////////////////////////////////////////////////////////////// + +/** + * This structure contains parameters for sending instance message methods, + * e.g: Buddy::sendInstantMessage(), Call:sendInstantMessage(). + */ +struct SendInstantMessageParam +{ + /** + * MIME type. Default is "text/plain". + */ + string contentType; + + /** + * The message content. + */ + string content; + + /** + * List of headers etc to be included in outgoing request. + */ + SipTxOption txOption; + + /** + * User data, which will be given back when the IM callback is called. + */ + Token userData; + +public: + /** + * Default constructor initializes with zero/empty values. + */ + SendInstantMessageParam(); +}; + + +/** + * This structure contains parameters for sending typing indication methods, + * e.g: Buddy::sendTypingIndication(), Call:sendTypingIndication(). + */ +struct SendTypingIndicationParam +{ + /** + * True to indicate to remote that local person is currently typing an IM. + */ + bool isTyping; + + /** + * List of headers etc to be included in outgoing request. + */ + SipTxOption txOption; + +public: + /** + * Default constructor initializes with zero/empty values. + */ + SendTypingIndicationParam(); +}; + + +/* Utilities */ +#ifndef SWIG +//! @cond Doxygen_Suppress +void readIntVector( ContainerNode &node, + const string &array_name, + IntVector &v) throw(Error); +void writeIntVector(ContainerNode &node, + const string &array_name, + const IntVector &v) throw(Error); +void readQosParams( ContainerNode &node, + pj_qos_params &qos) throw(Error); +void writeQosParams( ContainerNode &node, + const pj_qos_params &qos) throw(Error); +void readSipHeaders( const ContainerNode &node, + const string &array_name, + SipHeaderVector &headers) throw(Error); +void writeSipHeaders(ContainerNode &node, + const string &array_name, + const SipHeaderVector &headers) throw(Error); +//! @endcond +#endif // SWIG + +/** + * @} PJSUA2 + */ + +} // namespace pj + + + +#endif /* __PJSUA2_SIPTYPES_HPP__ */ diff --git a/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/types.hpp b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/types.hpp new file mode 100644 index 0000000000000000000000000000000000000000..d8bb7c3d7e77006050ecff7996d479a56cc94de9 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/include/pjsua2/types.hpp @@ -0,0 +1,266 @@ +/* $Id: types.hpp 4742 2014-02-12 05:18:31Z bennylp $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSUA2_TYPES_HPP__ +#define __PJSUA2_TYPES_HPP__ + +#ifdef _MSC_VER +# pragma warning( disable : 4290 ) // exception spec ignored +# pragma warning( disable : 4512 ) // can't generate assignment op +#endif + +/** + * @file pjsua2/types.hpp + * @brief PJSUA2 Base Types + */ +#include <pjsua2/config.hpp> + +#include <string> +#include <vector> + +/** PJSUA2 API is inside pj namespace */ +namespace pj +{ + +/** + * @defgroup PJSUA2_TYPES General Data Structure + * @ingroup PJSUA2_DS + * @{ + */ + +using std::string; +using std::vector; + +/** Array of strings */ +typedef std::vector<std::string> StringVector; + +/** Array of integers */ +typedef std::vector<int> IntVector; + +/** + * Type of token, i.e. arbitrary application user data + */ +typedef void *Token; + +/** + * Socket address, encoded as string. The socket address contains host + * and port number in "host[:port]" format. The host part may contain + * hostname, domain name, IPv4 or IPv6 address. For IPv6 address, the + * address will be enclosed with square brackets, e.g. "[::1]:5060". + */ +typedef string SocketAddress; + +/** + * Transport ID is an integer. + */ +typedef int TransportId; + +/** + * Transport handle, corresponds to pjsip_transport instance. + */ +typedef void *TransportHandle; + +/** + * Timer entry, corresponds to pj_timer_entry + */ +typedef void *TimerEntry; + +/** + * Generic data + */ +typedef void *GenericData; + +/* + * Forward declaration of Account and Call to be used + * by Endpoint. + */ +class Account; +class Call; + + +/** + * Constants + */ +enum +{ + /** Invalid ID, equal to PJSUA_INVALID_ID */ + INVALID_ID = -1, + + /** Success, equal to PJ_SUCCESS */ + SUCCESS = 0 +}; + +////////////////////////////////////////////////////////////////////////////// + +/** + * This structure contains information about an error that is thrown + * as an exception. + */ +struct Error +{ + /** The error code. */ + pj_status_t status; + + /** The PJSUA API operation that throws the error. */ + string title; + + /** The error message */ + string reason; + + /** The PJSUA source file that throws the error */ + string srcFile; + + /** The line number of PJSUA source file that throws the error */ + int srcLine; + + /** Build error string. */ + string info(bool multi_line=false) const; + + /** Default constructor */ + Error(); + + /** + * Construct an Error instance from the specified parameters. If + * \a prm_reason is empty, it will be filled with the error description + * for the status code. + */ + Error(pj_status_t prm_status, + const string &prm_title, + const string &prm_reason, + const string &prm_src_file, + int prm_src_line); +}; + + +/* + * Error utilities. + */ +#if PJSUA2_ERROR_HAS_EXTRA_INFO +# define PJSUA2_RAISE_ERROR(status) \ + PJSUA2_RAISE_ERROR2(status, __FUNCTION__) + +# define PJSUA2_RAISE_ERROR2(status,op) \ + PJSUA2_RAISE_ERROR3(status, op, string()) + +# define PJSUA2_RAISE_ERROR3(status,op,txt) \ + do { \ + Error err_ = Error(status, op, txt, __FILE__, __LINE__); \ + PJ_LOG(1,(THIS_FILE, "%s", err_.info().c_str())); \ + throw err_; \ + } while (0) + +#else + /** Raise Error exception */ +# define PJSUA2_RAISE_ERROR(status) \ + PJSUA2_RAISE_ERROR2(status, string()) + +/** Raise Error exception */ +# define PJSUA2_RAISE_ERROR2(status,op) \ + PJSUA2_RAISE_ERROR3(status, op, string()) + +/** Raise Error exception */ +# define PJSUA2_RAISE_ERROR3(status,op,txt) \ + do { \ + Error err_ = Error(status, op, txt, string(), 0); \ + PJ_LOG(1,(THIS_FILE, "%s", err_.info().c_str())); \ + throw err_; \ + } while (0) + +#endif + +/** Raise Error exception if the expression fails */ +#define PJSUA2_CHECK_RAISE_ERROR2(status, op) \ + do { \ + if (status != PJ_SUCCESS) { \ + PJSUA2_RAISE_ERROR2(status, op); \ + } \ + } while (0) + +/** Raise Error exception if the status fails */ +#define PJSUA2_CHECK_RAISE_ERROR(status) \ + PJSUA2_CHECK_RAISE_ERROR2(status, "") + +/** Raise Error exception if the expression fails */ +#define PJSUA2_CHECK_EXPR(expr) \ + do { \ + pj_status_t the_status = expr; \ + PJSUA2_CHECK_RAISE_ERROR2(the_status, #expr); \ + } while (0) + +////////////////////////////////////////////////////////////////////////////// +/** + * Version information. + */ +struct Version +{ + /** Major number */ + int major; + + /** Minor number */ + int minor; + + /** Additional revision number */ + int rev; + + /** Version suffix (e.g. "-svn") */ + string suffix; + + /** The full version info (e.g. "2.1.0-svn") */ + string full; + + /** + * PJLIB version number as three bytes with the following format: + * 0xMMIIRR00, where MM: major number, II: minor number, RR: revision + * number, 00: always zero for now. + */ + unsigned numeric; +}; + +////////////////////////////////////////////////////////////////////////////// + +/** + * Representation of time value. + */ +struct TimeVal +{ + /** + * The seconds part of the time. + */ + long sec; + + /** + * The miliseconds fraction of the time. + */ + long msec; + +public: + /** + * Convert from pjsip + */ + void fromPj(const pj_time_val &prm); +}; + +/** + * @} PJSUA2 + */ + +} // namespace pj + + + +#endif /* __PJSUA2_TYPES_HPP__ */ diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/errno.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/errno.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/errno.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/errno.c index e1bdb95390e5ecb5f02ba99dd5046d8954c983bc..eee8575a0b927995bcd81ff8cd7c3519584722c0 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/errno.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/errno.c @@ -1,4 +1,4 @@ -/* $Id: errno.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: errno.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -110,7 +110,8 @@ PJ_DEF(pj_str_t) pjsipsimple_strerror( pj_status_t statcode, errstr.slen = pj_ansi_snprintf(buf, bufsize, "Unknown pjsip-simple error %d", statcode); - + if (errstr.slen < 1 || errstr.slen >= (pj_ssize_t)bufsize) + errstr.slen = bufsize - 1; return errstr; } diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/evsub.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/evsub.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/evsub.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/evsub.c index b1dfca5d91e9205aac121bb1aa39e694e70a3f0e..eb9dfaa867c6a5822bb1b2b95574fd470c592107 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/evsub.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/evsub.c @@ -1,4 +1,4 @@ -/* $Id: evsub.c 4082 2012-04-24 13:09:14Z bennylp $ */ +/* $Id: evsub.c 4747 2014-02-18 01:33:17Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -32,6 +32,7 @@ #include <pj/log.h> #include <pj/os.h> #include <pj/pool.h> +#include <pj/rand.h> #include <pj/string.h> @@ -251,7 +252,7 @@ struct dlgsub /* Static vars. */ static const pj_str_t STR_EVENT = { "Event", 5 }; -static const pj_str_t STR_EVENT_S = { "Event", 5 }; +static const pj_str_t STR_EVENT_S = { "o", 1 }; static const pj_str_t STR_SUB_STATE = { "Subscription-State", 18 }; static const pj_str_t STR_TERMINATED = { "terminated", 10 }; static const pj_str_t STR_ACTIVE = { "active", 6 }; @@ -592,6 +593,9 @@ static void set_state( pjsip_evsub *sub, pjsip_evsub_state state, if (state == PJSIP_EVSUB_STATE_TERMINATED && prev_state != PJSIP_EVSUB_STATE_TERMINATED) { + /* Kill any timer. */ + set_timer(sub, TIMER_TYPE_NONE, 0); + if (sub->pending_tsx == 0) { evsub_destroy(sub); } @@ -1146,6 +1150,14 @@ PJ_DEF(pj_status_t) pjsip_evsub_accept( pjsip_evsub *sub, if (status != PJ_SUCCESS) goto on_return; + /* Set UAS timeout timer, when status code is 2xx and state is not + * terminated. + */ + if (st_code/100 == 2 && sub->state != PJSIP_EVSUB_STATE_TERMINATED) { + PJ_LOG(5,(sub->obj_name, "UAS timeout in %d seconds", + sub->expires->ivalue)); + set_timer(sub, TIMER_TYPE_UAS_TIMEOUT, sub->expires->ivalue); + } on_return: @@ -1425,8 +1437,18 @@ static pjsip_evsub *on_new_transaction( pjsip_transaction *tsx, if (pj_strcmp(&dlgsub->sub->event->id_param, &event_hdr->id_param)==0) { - - break; + /* Skip this subscription if it has no event ID and has been + * terminated (see ticket #1647). + */ + if ((dlgsub->sub->option & PJSIP_EVSUB_NO_EVENT_ID) && + (pjsip_evsub_get_state(dlgsub->sub)== + PJSIP_EVSUB_STATE_TERMINATED)) + { + dlgsub = dlgsub->next; + continue; + } else { + break; + } } /* @@ -1739,6 +1761,10 @@ static void on_tsx_state_uac( pjsip_evsub *sub, pjsip_transaction *tsx, unsigned timeout = (sub->expires->ivalue > TIME_UAC_REFRESH) ? sub->expires->ivalue - TIME_UAC_REFRESH : sub->expires->ivalue; + /* Reduce timeout by about 1 - 10 secs (randomized) */ + if (timeout > 10) + timeout += -10 + (pj_rand() % 10); + PJ_LOG(5,(sub->obj_name, "Will refresh in %d seconds", timeout)); set_timer(sub, TIMER_TYPE_UAC_REFRESH, timeout); @@ -1787,9 +1813,6 @@ static void on_tsx_state_uac( pjsip_evsub *sub, pjsip_transaction *tsx, return; } - /* Kill any timer. */ - set_timer(sub, TIMER_TYPE_NONE, 0); - /* Set state to TERMINATED */ set_state(sub, PJSIP_EVSUB_STATE_TERMINATED, NULL, event, &tsx->status_text); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/evsub_msg.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/evsub_msg.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/evsub_msg.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/evsub_msg.c index d91afa9cc88d229cafe0037a9b90d2a9274207b5..fc9f0937337b57d50ba550b4966487664e9f916e 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/evsub_msg.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/evsub_msg.c @@ -1,4 +1,4 @@ -/* $Id: evsub_msg.c 3841 2011-10-24 09:28:13Z ming $ */ +/* $Id: evsub_msg.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -62,7 +62,7 @@ static int pjsip_event_hdr_print( pjsip_event_hdr *hdr, { char *p = buf; char *endbuf = buf+size; - int printed; + pj_ssize_t printed; const pjsip_parser_const_t *pc = pjsip_parser_const(); copy_advance(p, hdr->name); @@ -76,10 +76,10 @@ static int pjsip_event_hdr_print( pjsip_event_hdr *hdr, &pc->pjsip_TOKEN_SPEC, &pc->pjsip_TOKEN_SPEC, ';'); if (printed < 0) - return printed; + return (int)printed; p += printed; - return p - buf; + return (int)(p - buf); } static pjsip_event_hdr* pjsip_event_hdr_clone( pj_pool_t *pool, @@ -161,7 +161,7 @@ static int pjsip_sub_state_hdr_print(pjsip_sub_state_hdr *hdr, { char *p = buf; char *endbuf = buf+size; - int printed; + pj_ssize_t printed; const pjsip_parser_const_t *pc = pjsip_parser_const(); copy_advance(p, hdr->name); @@ -189,11 +189,11 @@ static int pjsip_sub_state_hdr_print(pjsip_sub_state_hdr *hdr, &pc->pjsip_TOKEN_SPEC, ';'); if (printed < 0) - return printed; + return (int)printed; p += printed; - return p - buf; + return (int)(p - buf); } static pjsip_sub_state_hdr* diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/iscomposing.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/iscomposing.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/iscomposing.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/iscomposing.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/mwi.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/mwi.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/mwi.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/mwi.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/pidf.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/pidf.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/pidf.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/pidf.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/presence.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/presence.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/presence.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/presence.c index 5b96ec7c1fd7ed563ee9a1b5cce555949bd46e05..8792d42f9555a5096237b2679d86a0f77dca0a6a 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/presence.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/presence.c @@ -1,4 +1,4 @@ -/* $Id: presence.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: presence.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -130,13 +130,13 @@ static pjsip_evsub_user pres_user = /* * Some static constants. */ -const pj_str_t STR_EVENT = { "Event", 5 }; -const pj_str_t STR_PRESENCE = { "presence", 8 }; -const pj_str_t STR_APPLICATION = { "application", 11 }; -const pj_str_t STR_PIDF_XML = { "pidf+xml", 8}; -const pj_str_t STR_XPIDF_XML = { "xpidf+xml", 9}; -const pj_str_t STR_APP_PIDF_XML = { "application/pidf+xml", 20 }; -const pj_str_t STR_APP_XPIDF_XML = { "application/xpidf+xml", 21 }; +static const pj_str_t STR_EVENT = { "Event", 5 }; +static const pj_str_t STR_PRESENCE = { "presence", 8 }; +static const pj_str_t STR_APPLICATION = { "application", 11 }; +static const pj_str_t STR_PIDF_XML = { "pidf+xml", 8}; +static const pj_str_t STR_XPIDF_XML = { "xpidf+xml", 9}; +static const pj_str_t STR_APP_PIDF_XML = { "application/pidf+xml", 20 }; +static const pj_str_t STR_APP_XPIDF_XML = { "application/xpidf+xml", 21 }; /* diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/presence_body.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/presence_body.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/presence_body.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/presence_body.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/publishc.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/publishc.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/publishc.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/publishc.c index ab007baaecbc80e8ae33cfcac9987def892b7593..0048bc6e44b6e142c28adff85f1401e229245165 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/publishc.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/publishc.c @@ -1,4 +1,4 @@ -/* $Id: publishc.c 4206 2012-07-16 02:45:09Z ming $ */ +/* $Id: publishc.c 4530 2013-05-30 09:27:49Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -61,7 +61,8 @@ const pjsip_method pjsip_publish_method = */ typedef struct pending_publish { - PJ_DECL_LIST_MEMBER(pjsip_tx_data); + PJ_DECL_LIST_MEMBER(struct pending_publish); + pjsip_tx_data *tdata; } pending_publish; @@ -108,6 +109,7 @@ struct pjsip_publishc /* Pending PUBLISH request */ pending_publish pending_reqs; + pending_publish pending_reqs_empty; }; @@ -180,6 +182,7 @@ PJ_DEF(pj_status_t) pjsip_publishc_create( pjsip_endpoint *endpt, } pj_memcpy(&pubc->opt, opt, sizeof(*opt)); pj_list_init(&pubc->pending_reqs); + pj_list_init(&pubc->pending_reqs_empty); status = pj_mutex_create_recursive(pubc->pool, "pubc%p", &pubc->mutex); if (status != PJ_SUCCESS) { @@ -683,8 +686,14 @@ static void tsx_callback(void *token, pjsip_event *event) /* If we have pending request(s), send them now */ pj_mutex_lock(pubc->mutex); while (!pj_list_empty(&pubc->pending_reqs)) { - pjsip_tx_data *tdata = pubc->pending_reqs.next; - pj_list_erase(tdata); + pending_publish *pp = pubc->pending_reqs.next; + pjsip_tx_data *tdata = pp->tdata; + + /* Remove the request from pending request list, + * and keep the unused entry into pending_reqs_empty pool. + */ + pj_list_erase(pp); + pj_list_push_back(&pubc->pending_reqs_empty, pp); /* Add SIP-If-Match if we have etag and the request doesn't have * one (http://trac.pjsip.org/repos/ticket/996) @@ -712,7 +721,6 @@ static void tsx_callback(void *token, pjsip_event *event) status = pjsip_publishc_send(pubc, tdata); if (status == PJ_EPENDING) { pj_assert(!"Not expected"); - pj_list_erase(tdata); pjsip_tx_data_dec_ref(tdata); } else if (status == PJ_SUCCESS) { break; @@ -744,7 +752,15 @@ PJ_DEF(pj_status_t) pjsip_publishc_send(pjsip_publishc *pubc, pj_mutex_lock(pubc->mutex); if (pubc->pending_tsx) { if (pubc->opt.queue_request) { - pj_list_push_back(&pubc->pending_reqs, tdata); + pending_publish *pp = NULL; + if (pj_list_empty(&pubc->pending_reqs_empty)) { + pp = PJ_POOL_ZALLOC_T(pubc->pool, pending_publish); + } else { + pp = pubc->pending_reqs_empty.next; + pj_list_erase(pp); + } + pp->tdata = tdata; + pj_list_push_back(&pubc->pending_reqs, pp); pj_mutex_unlock(pubc->mutex); PJ_LOG(4,(THIS_FILE, "Request is queued, pubc has another " "transaction pending")); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/rpid.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/rpid.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/rpid.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/rpid.c index 9ec3bb0a214b857c311570a789787209222fe26d..8e6320598e149fb53e8fd7d1f2980e907d4bf9e3 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/rpid.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/rpid.c @@ -1,4 +1,4 @@ -/* $Id: rpid.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: rpid.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -66,7 +66,7 @@ static void update_namespaces(pjpidf_pres *pres, /* Comparison function to find node name substring */ static pj_bool_t substring_match(const pj_xml_node *node, const char *part_name, - int part_len) + pj_ssize_t part_len) { pj_str_t end_name; @@ -88,7 +88,7 @@ static pj_xml_node *find_node(const pj_xml_node *parent, { const pj_xml_node *node = parent->node_head.next, *head = (pj_xml_node*) &parent->node_head; - int part_len = pj_ansi_strlen(part_name); + pj_ssize_t part_len = pj_ansi_strlen(part_name); while (node != head) { if (substring_match(node, part_name, part_len)) diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/xpidf.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/xpidf.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-simple/xpidf.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-simple/xpidf.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_100rel.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_100rel.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_100rel.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_100rel.c index f64ef19a880d43d9be271288168a6b852b28da29..8a3c8c4e33865f91db4838921af5647bb36ba1a5 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_100rel.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_100rel.c @@ -1,4 +1,4 @@ -/* $Id: sip_100rel.c 4208 2012-07-18 07:52:33Z ming $ */ +/* $Id: sip_100rel.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -50,9 +50,9 @@ static void on_retransmit(pj_timer_heap_t *timer_heap, struct pj_timer_entry *entry); -const pj_str_t tag_100rel = { "100rel", 6 }; -const pj_str_t RSEQ = { "RSeq", 4 }; -const pj_str_t RACK = { "RAck", 4 }; +static const pj_str_t tag_100rel = { "100rel", 6 }; +static const pj_str_t RSEQ = { "RSeq", 4 }; +static const pj_str_t RACK = { "RAck", 4 }; /* 100rel module */ @@ -344,6 +344,9 @@ PJ_DEF(pj_status_t) pjsip_100rel_create_prack( pjsip_inv_session *inv, rseq, rdata->msg_info.cseq->cseq, (int)tsx->method.name.slen, tsx->method.name.ptr); + if (rack.slen < 1 || rack.slen >= (int)sizeof(rack_buf)) { + return PJ_ETOOSMALL; + } rack_hdr = pjsip_generic_string_hdr_create(tdata->pool, &RACK, &rack); pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*) rack_hdr); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_inv.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_inv.c similarity index 91% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_inv.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_inv.c index dec4ee5b923d9b8d5ca5acdd45605ce13e59010d..60190fef75d0d9aae6a291dc90936a0c885d7a07 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_inv.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_inv.c @@ -1,4 +1,4 @@ -/* $Id: sip_inv.c 4367 2013-02-21 20:49:19Z nanang $ */ +/* $Id: sip_inv.c 4791 2014-03-11 07:45:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -192,8 +192,8 @@ static pj_status_t mod_inv_unload(void) /* * Set session state. */ -void inv_set_state(pjsip_inv_session *inv, pjsip_inv_state state, - pjsip_event *e) +static void inv_set_state(pjsip_inv_session *inv, pjsip_inv_state state, + pjsip_event *e) { pjsip_inv_state prev_state = inv->state; pj_bool_t dont_notify = PJ_FALSE; @@ -263,6 +263,10 @@ void inv_set_state(pjsip_inv_session *inv, pjsip_inv_state state, pjsip_tx_data_dec_ref(inv->invite_req); inv->invite_req = NULL; } + if (inv->pending_bye) { + pjsip_tx_data_dec_ref(inv->pending_bye); + inv->pending_bye = NULL; + } pjsip_100rel_end_session(inv); pjsip_timer_end_session(inv); pjsip_dlg_dec_session(inv->dlg, &mod_inv.mod); @@ -279,8 +283,8 @@ void inv_set_state(pjsip_inv_session *inv, pjsip_inv_state state, /* * Set cause code. */ -void inv_set_cause(pjsip_inv_session *inv, int cause_code, - const pj_str_t *cause_text) +static void inv_set_cause(pjsip_inv_session *inv, int cause_code, + const pj_str_t *cause_text) { if (cause_code > inv->cause) { inv->cause = (pjsip_status_code) cause_code; @@ -355,6 +359,26 @@ static const pjmedia_sdp_session *inv_has_pending_answer(pjsip_inv_session *inv, return sdp; } +/* Process pending disconnection + * http://trac.pjsip.org/repos/ticket/1712 + */ +static void inv_perform_pending_bye(pjsip_inv_session *inv) +{ + if (inv->pending_bye) { + pjsip_tx_data *bye = inv->pending_bye; + pj_status_t status; + + PJ_LOG(4,(inv->dlg->obj_name, "Sending pending BYE")); + + inv->pending_bye = NULL; + status = pjsip_inv_send_msg(inv, bye); + + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(inv->dlg->obj_name, status, + "Failed sending pending BYE")); + } + } +} /* * Send ACK for 2xx response. @@ -374,6 +398,11 @@ static pj_status_t inv_send_ack(pjsip_inv_session *inv, pjsip_event *e) return PJ_EBUG; } + /* Note that with https://trac.pjsip.org/repos/ticket/1725, this + * function can be called to send ACK for previous INVITE 200/OK + * retransmission + */ + PJ_LOG(5,(inv->obj_name, "Received %s, sending ACK", pjsip_rx_data_get_info(rdata))); @@ -528,6 +557,14 @@ static pj_bool_t mod_inv_on_rx_request(pjsip_rx_data *rdata) PJSIP_EVENT_INIT_RX_MSG(event, rdata); inv_set_state(inv, PJSIP_INV_STATE_CONFIRMED, &event); + + /* Send pending BYE if any: + * http://trac.pjsip.org/repos/ticket/1712 + * Do this after setting the state to CONFIRMED, so that we + * have consistent CONFIRMED state between caller and callee. + */ + if (inv->pending_bye) + inv_perform_pending_bye(inv); } } @@ -586,15 +623,23 @@ static pj_bool_t mod_inv_on_rx_response(pjsip_rx_data *rdata) * If it is, we need to send ACK. */ if (msg->type == PJSIP_RESPONSE_MSG && msg->line.status.code/100==2 && - rdata->msg_info.cseq->method.id == PJSIP_INVITE_METHOD && - inv->invite_tsx == NULL) + rdata->msg_info.cseq->method.id == PJSIP_INVITE_METHOD) { - pjsip_event e; - - PJSIP_EVENT_INIT_RX_MSG(e, rdata); - inv_send_ack(inv, &e); - return PJ_TRUE; + /* The code inside "if" is called the second time 200/OK + * retransmission is received. Also handle the situation + * when we have another re-INVITE on going and 200/OK + * retransmission is received. See: + * https://trac.pjsip.org/repos/ticket/1725 + */ + if (inv->invite_tsx == NULL || + (inv->last_ack && inv->last_ack_cseq==rdata->msg_info.cseq->cseq)) + { + pjsip_event e; + PJSIP_EVENT_INIT_RX_MSG(e, rdata); + inv_send_ack(inv, &e); + return PJ_TRUE; + } } /* No other processing needs to be done here. */ @@ -623,17 +668,37 @@ static void mod_inv_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) /* Call state handler for the invite session. */ (*inv_state_handler[inv->state])(inv, e); - /* Call on_tsx_state */ - if (mod_inv.cb.on_tsx_state_changed && inv->notify) + /* Clear invite transaction when tsx is terminated. + * Necessary for app that wants to send a new re-INVITE request immediately + * after the transaction is terminated. + */ + if (tsx->state==PJSIP_TSX_STATE_TERMINATED && tsx == inv->invite_tsx) { + inv->invite_tsx = NULL; + + if (inv->last_answer) { + pjsip_tx_data_dec_ref(inv->last_answer); + inv->last_answer = NULL; + } + } + + /* Call on_tsx_state. CANCEL request is a special case and has been + * reported earlier in inv_respond_incoming_cancel() + */ + if (mod_inv.cb.on_tsx_state_changed && inv->notify && + !(tsx->method.id==PJSIP_CANCEL_METHOD && + e->body.tsx_state.type==PJSIP_EVENT_RX_MSG)) + { (*mod_inv.cb.on_tsx_state_changed)(inv, tsx, e); + } /* Clear invite transaction when tsx is confirmed. * Previously we set invite_tsx to NULL only when transaction has * terminated, but this didn't work when ACK has the same Via branch * value as the INVITE (see http://www.pjsip.org/trac/ticket/113) */ - if (tsx->state>=PJSIP_TSX_STATE_CONFIRMED && tsx == inv->invite_tsx) { - inv->invite_tsx = NULL; + if (tsx->state>=PJSIP_TSX_STATE_CONFIRMED && tsx == inv->invite_tsx) { + inv->invite_tsx = NULL; + if (inv->last_answer) { pjsip_tx_data_dec_ref(inv->last_answer); inv->last_answer = NULL; @@ -1735,35 +1800,40 @@ static pj_status_t inv_check_sdp_in_incoming_msg( pjsip_inv_session *inv, */ if (tsx_inv_data->sdp_done) { pj_str_t res_tag; + int st_code; res_tag = rdata->msg_info.to->tag; + st_code = rdata->msg_info.msg->line.status.code; - /* Allow final response after SDP has been negotiated in early - * media, IF this response is a final response with different + /* Allow final/early response after SDP has been negotiated in early + * media, IF this response is a final/early response with different * tag. */ if (tsx->role == PJSIP_ROLE_UAC && - rdata->msg_info.msg->line.status.code/100 == 2 && + (st_code/100 == 2 || + (st_code==183 && pjsip_cfg()->endpt.follow_early_media_fork)) && tsx_inv_data->done_early && pj_stricmp(&tsx_inv_data->done_tag, &res_tag)) { const pjmedia_sdp_session *reoffer_sdp = NULL; - PJ_LOG(4,(inv->obj_name, "Received forked final response " + PJ_LOG(4,(inv->obj_name, "Received forked %s response " "after SDP negotiation has been done in early " - "media. Renegotiating SDP..")); + "media. Renegotiating SDP..", + (st_code==183? "early" : "final" ))); /* Retrieve original SDP offer from INVITE request */ reoffer_sdp = (const pjmedia_sdp_session*) tsx->last_tx->msg->body->data; /* Feed the original offer to negotiator */ - status = pjmedia_sdp_neg_modify_local_offer(inv->pool_prov, - inv->neg, - reoffer_sdp); + status = pjmedia_sdp_neg_modify_local_offer2(inv->pool_prov, + inv->neg, + inv->sdp_neg_flags, + reoffer_sdp); if (status != PJ_SUCCESS) { PJ_LOG(1,(inv->obj_name, "Error updating local offer for " - "forked 2xx response (err=%d)", status)); + "forked 2xx/183 response (err=%d)", status)); return status; } @@ -1824,6 +1894,17 @@ static pj_status_t inv_check_sdp_in_incoming_msg( pjsip_inv_session *inv, if (pjmedia_sdp_neg_get_state(inv->neg) != PJMEDIA_SDP_NEG_STATE_WAIT_NEGO) { + if (mod_inv.cb.on_rx_reinvite && inv->notify && + msg->type == PJSIP_REQUEST_MSG && + msg->line.req.method.id == PJSIP_INVITE_METHOD) + { + /* Do not return failure first, allow the application + * to set the answer in the on_rx_reinvite() callback. + */ + PJ_LOG(5,(inv->obj_name, "Ignoring on_rx_offer() status " + "because on_rx_reinvite() is implemented")); + return PJ_SUCCESS; + } return PJ_EINVALIDOP; } @@ -1961,6 +2042,16 @@ static pj_status_t process_answer( pjsip_inv_session *inv, } } + /* Cancel SDP negotiation if this is a negative reply to a re-INVITE */ + if (st_code >= 300 && inv->neg != NULL && + inv->state == PJSIP_INV_STATE_CONFIRMED) + { + pjmedia_sdp_neg_state neg_state; + neg_state = pjmedia_sdp_neg_get_state(inv->neg); + if (neg_state == PJMEDIA_SDP_NEG_STATE_REMOTE_OFFER) { + pjmedia_sdp_neg_cancel_offer(inv->neg); + } + } return PJ_SUCCESS; } @@ -2041,8 +2132,7 @@ on_return: /* - * Answer initial INVITE - * Re-INVITE will be answered automatically, and will not use this function. + * Answer INVITE request. */ PJ_DEF(pj_status_t) pjsip_inv_answer( pjsip_inv_session *inv, int st_code, @@ -2120,8 +2210,9 @@ PJ_DEF(pj_status_t) pjsip_inv_set_local_sdp(pjsip_inv_session *inv, { status = pjsip_inv_set_sdp_answer(inv, sdp); } else if (neg_state == PJMEDIA_SDP_NEG_STATE_DONE) { - status = pjmedia_sdp_neg_modify_local_offer(inv->pool, - inv->neg, sdp); + status = pjmedia_sdp_neg_modify_local_offer2(inv->pool, inv->neg, + inv->sdp_neg_flags, + sdp); } else return PJMEDIA_SDPNEG_EINSTATE; } else { @@ -2267,6 +2358,62 @@ PJ_DEF(pj_status_t) pjsip_inv_end_session( pjsip_inv_session *inv, return PJ_SUCCESS; } +/* + * Cancel re-INVITE transaction. + */ +PJ_DEF(pj_status_t) pjsip_inv_cancel_reinvite( pjsip_inv_session *inv, + pjsip_tx_data **p_tdata ) +{ + pjsip_tx_data *tdata; + pj_status_t status; + + /* Verify arguments. */ + PJ_ASSERT_RETURN(inv && p_tdata, PJ_EINVAL); + + pj_log_push_indent(); + + /* Create appropriate message. */ + switch (inv->state) { + case PJSIP_INV_STATE_CONFIRMED: + /* MUST have the original UAC INVITE transaction */ + PJ_ASSERT_RETURN(inv->invite_tsx != NULL, PJ_EBUG); + + /* CANCEL should only be called when we have received a + * provisional response. + */ + if (inv->invite_tsx->status_code < 100) { + inv->cancelling = PJ_TRUE; + inv->pending_cancel = PJ_TRUE; + *p_tdata = NULL; + PJ_LOG(4, (inv->obj_name, "Delaying CANCEL since no " + "provisional response is received yet")); + pj_log_pop_indent(); + return PJ_SUCCESS; + } + + status = pjsip_endpt_create_cancel(inv->dlg->endpt, + inv->invite_tsx->last_tx, + &tdata); + if (status != PJ_SUCCESS) { + pj_log_pop_indent(); + return status; + } + break; + + default: + /* We cannot send CANCEL to a re-INVITE if the INVITE session is + * not confirmed. + */ + pj_log_pop_indent(); + return PJ_EINVALIDOP; + } + + pj_log_pop_indent(); + + *p_tdata = tdata; + return PJ_SUCCESS; +} + /* Following redirection recursion, get next target from the target set and * notify user. * @@ -2458,7 +2605,7 @@ PJ_DEF(pj_status_t) pjsip_inv_process_redirect( pjsip_inv_session *inv, dlg->remote.info->uri, tmp, TMP_LEN); if (len < 1) { pj_ansi_strcpy(tmp, "<-error: uri too long->"); - len = pj_ansi_strlen(tmp); + len = (int)pj_ansi_strlen(tmp); } pj_strdup2_with_null(dlg->pool, &dlg->remote.info_str, tmp); @@ -2588,9 +2735,9 @@ PJ_DEF(pj_status_t) pjsip_inv_reinvite( pjsip_inv_session *inv, break; case PJMEDIA_SDP_NEG_STATE_DONE: - status = pjmedia_sdp_neg_modify_local_offer(inv->pool_prov, - inv->neg, - new_offer); + status = pjmedia_sdp_neg_modify_local_offer2( + inv->pool_prov, inv->neg, + inv->sdp_neg_flags, new_offer); if (status != PJ_SUCCESS) goto on_return; break; @@ -2650,8 +2797,8 @@ PJ_DEF(pj_status_t) pjsip_inv_update ( pjsip_inv_session *inv, /* Notify negotiator about the new offer. This will fix the offer * with correct SDP origin. */ - status = pjmedia_sdp_neg_modify_local_offer(inv->pool_prov, inv->neg, - offer); + status = pjmedia_sdp_neg_modify_local_offer2(inv->pool_prov, inv->neg, + inv->sdp_neg_flags, offer); if (status != PJ_SUCCESS) goto on_error; @@ -2801,6 +2948,25 @@ PJ_DEF(pj_status_t) pjsip_inv_send_msg( pjsip_inv_session *inv, goto on_error; } + /* Don't send BYE before ACK is received + * http://trac.pjsip.org/repos/ticket/1712 + */ + if (tdata->msg->line.req.method.id == PJSIP_BYE_METHOD && + inv->role == PJSIP_ROLE_UAS && + inv->state == PJSIP_INV_STATE_CONNECTING && + inv->cause != PJSIP_SC_REQUEST_TIMEOUT && + inv->cause != PJSIP_SC_TSX_TRANSPORT_ERROR) + { + if (inv->pending_bye) + pjsip_tx_data_dec_ref(inv->pending_bye); + + inv->pending_bye = tdata; + PJ_LOG(4, (inv->obj_name, "Delaying BYE request until " + "ACK is received")); + pjsip_dlg_dec_lock(inv->dlg); + goto on_return; + } + /* Associate our data in outgoing invite transaction */ tsx_inv_data = PJ_POOL_ZALLOC_T(inv->pool, struct tsx_inv_data); tsx_inv_data->inv = inv; @@ -2836,6 +3002,7 @@ PJ_DEF(pj_status_t) pjsip_inv_send_msg( pjsip_inv_session *inv, } /* Done */ +on_return: pj_log_pop_indent(); return PJ_SUCCESS; @@ -2850,13 +3017,29 @@ on_error: */ static void inv_respond_incoming_cancel(pjsip_inv_session *inv, pjsip_transaction *cancel_tsx, - pjsip_rx_data *rdata) + pjsip_event *e) { pjsip_tx_data *tdata; pjsip_transaction *invite_tsx; + pjsip_rx_data *rdata; pj_str_t key; pj_status_t status; + pj_assert(e->body.tsx_state.type == PJSIP_EVENT_RX_MSG); + rdata = e->body.tsx_state.src.rdata; + + /* https://trac.pjsip.org/repos/ticket/1651 + * Special treatment for CANCEL. Since here we're responding to CANCEL + * automatically (including 487 to INVITE), application will see the + * 200/OK response to CANCEL first in the callback, and then 487 to + * INVITE, before the CANCEL request itself. And worse, pjsua application + * may not see the CANCEL request at all because by the time the CANCEL + * request is reported, call has been disconnected and further events + * from the INVITE session has been suppressed. + */ + if (mod_inv.cb.on_tsx_state_changed && inv->notify) + (*mod_inv.cb.on_tsx_state_changed)(inv, cancel_tsx, e); + /* See if we have matching INVITE server transaction: */ pjsip_tsx_create_key(rdata->tp_info.pool, &key, PJSIP_ROLE_UAS, @@ -2910,7 +3093,7 @@ static void inv_respond_incoming_cancel(pjsip_inv_session *inv, } if (invite_tsx) - pj_mutex_unlock(invite_tsx->mutex); + pj_grp_lock_release(invite_tsx->grp_lock); } @@ -3157,13 +3340,32 @@ static pj_bool_t inv_handle_update_response( pjsip_inv_session *inv, /* Process 2xx response */ else if (tsx->state == PJSIP_TSX_STATE_COMPLETED && - tsx->status_code/100 == 2 && - e->body.tsx_state.src.rdata->msg_info.msg->body) + tsx->status_code/100 == 2) { - status = handle_timer_response(inv, e->body.tsx_state.src.rdata, - PJ_FALSE); - status = inv_check_sdp_in_incoming_msg(inv, tsx, - e->body.tsx_state.src.rdata); + pjsip_rx_data *rdata = e->body.tsx_state.src.rdata; + status = handle_timer_response(inv, rdata, PJ_FALSE); + + if (rdata->msg_info.msg->body) { + /* Only process remote SDP if we have sent local offer */ + if (inv->neg && pjmedia_sdp_neg_get_state(inv->neg) == + PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER) + { + status = inv_check_sdp_in_incoming_msg(inv, tsx, rdata); + } else { + PJ_LOG(5,(THIS_FILE, "Ignored message body in %s as no local " + "offer was sent", + pjsip_rx_data_get_info(rdata))); + } + } + handled = PJ_TRUE; + } + + /* Process 502/503 error */ + else if ((tsx->state == PJSIP_TSX_STATE_TERMINATED) && + (tsx->status_code == 503 || tsx->status_code == 502)) + { + status = pjsip_timer_handle_refresh_error(inv, e); + handled = PJ_TRUE; } @@ -3290,11 +3492,11 @@ static void inv_on_state_null( pjsip_inv_session *inv, pjsip_event *e) if (dlg->role == PJSIP_ROLE_UAC) { - /* Save the original INVITE request, if on_redirected() callback - * is implemented. We may need to resend the INVITE if we receive - * redirection response. + /* Save the original INVITE request. + * We may need to resend the INVITE if we receive redirection + * or session timer too small response. */ - if (mod_inv.cb.on_redirected) { + if (1) { if (inv->invite_req) { pjsip_tx_data_dec_ref(inv->invite_req); inv->invite_req = NULL; @@ -3438,7 +3640,16 @@ static pj_bool_t handle_uac_tsx_response(pjsip_inv_session *inv, return PJ_TRUE; /* Handled */ - } else { + } + /* Process 502/503 error */ + else if ((tsx->state == PJSIP_TSX_STATE_TERMINATED) && + (tsx->status_code == 503 || tsx->status_code == 502)) + { + pjsip_timer_handle_refresh_error(inv, e); + + return PJ_TRUE; + } + else { return PJ_FALSE; /* Unhandled */ } } @@ -3531,7 +3742,9 @@ static void handle_uac_call_rejection(pjsip_inv_session *inv, pjsip_event *e) * Resend the request with requested session timer setting. */ status = handle_timer_response(inv, e->body.tsx_state.src.rdata, - PJ_TRUE); + PJ_FALSE); + if (status != PJ_SUCCESS) + goto terminate_session; } else if (PJSIP_IS_STATUS_IN_CLASS(tsx->status_code, 600)) { /* Global error */ @@ -3680,6 +3893,16 @@ static void inv_on_state_calling( pjsip_inv_session *inv, pjsip_event *e) inv_set_cause(inv, tsx->status_code, &tsx->status_text); inv_set_state(inv, PJSIP_INV_STATE_DISCONNECTED, e); } + } else if (tsx->role == PJSIP_ROLE_UAS && + tsx->state == PJSIP_TSX_STATE_TRYING && + pjsip_method_cmp(&tsx->method, &pjsip_update_method)==0) + { + /* + * Handle a very early UPDATE + */ + inv_respond_incoming_update(inv, e->body.tsx_state.src.rdata); + + } } @@ -3750,7 +3973,7 @@ static void inv_on_state_incoming( pjsip_inv_session *inv, pjsip_event *e) * Handle incoming CANCEL request. */ - inv_respond_incoming_cancel(inv, tsx, e->body.tsx_state.src.rdata); + inv_respond_incoming_cancel(inv, tsx, e); } } @@ -3861,6 +4084,7 @@ static void inv_on_state_early( pjsip_inv_session *inv, pjsip_event *e) default: pj_assert(!"Unexpected INVITE tsx state"); + break; } } else if (inv->role == PJSIP_ROLE_UAS && @@ -3874,7 +4098,7 @@ static void inv_on_state_early( pjsip_inv_session *inv, pjsip_event *e) * Handle incoming CANCEL request. */ - inv_respond_incoming_cancel(inv, tsx, e->body.tsx_state.src.rdata); + inv_respond_incoming_cancel(inv, tsx, e); } else if (tsx->role == PJSIP_ROLE_UAS && tsx->state == PJSIP_TSX_STATE_TRYING && @@ -3976,6 +4200,15 @@ static void inv_on_state_connecting( pjsip_inv_session *inv, pjsip_event *e) } inv_set_state(inv, PJSIP_INV_STATE_CONFIRMED, e); + + /* Send pending BYE if any: + * http://trac.pjsip.org/repos/ticket/1712 + * Do this after setting the state to CONFIRMED, so that we + * have consistent CONFIRMED state between caller and callee. + */ + if (inv->pending_bye) + inv_perform_pending_bye(inv); + } break; @@ -3992,6 +4225,8 @@ static void inv_on_state_connecting( pjsip_inv_session *inv, pjsip_event *e) pjsip_tx_data *bye; pj_status_t status; + inv_set_cause(inv, tsx->status_code, &tsx->status_text); + /* Send BYE */ status = pjsip_dlg_create_request(inv->dlg, pjsip_get_bye_method(), @@ -4009,6 +4244,7 @@ static void inv_on_state_connecting( pjsip_inv_session *inv, pjsip_event *e) default: pj_assert(!"Unexpected state"); + break; } } else if (tsx->role == PJSIP_ROLE_UAS && @@ -4042,17 +4278,9 @@ static void inv_on_state_connecting( pjsip_inv_session *inv, pjsip_event *e) { /* - * Handle strandled incoming CANCEL. + * Handle strandled incoming CANCEL or CANCEL for re-INVITE */ - pjsip_rx_data *rdata = e->body.tsx_state.src.rdata; - pjsip_tx_data *tdata; - pj_status_t status; - - status = pjsip_dlg_create_response(dlg, rdata, 200, NULL, &tdata); - if (status != PJ_SUCCESS) return; - - status = pjsip_dlg_send_response(dlg, tsx, tdata); - if (status != PJ_SUCCESS) return; + inv_respond_incoming_cancel(inv, tsx, e); } else if (tsx->role == PJSIP_ROLE_UAS && tsx->state == PJSIP_TSX_STATE_TRYING && @@ -4163,18 +4391,9 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) { /* - * Handle strandled incoming CANCEL. + * Handle strandled incoming CANCEL or CANCEL for re-INVITE */ - pjsip_rx_data *rdata = e->body.tsx_state.src.rdata; - pjsip_tx_data *tdata; - pj_status_t status; - - status = pjsip_dlg_create_response(dlg, rdata, 200, NULL, &tdata); - if (status != PJ_SUCCESS) return; - - status = pjsip_dlg_send_response(dlg, tsx, tdata); - if (status != PJ_SUCCESS) return; - + inv_respond_incoming_cancel(inv, tsx, e); } else if (tsx->method.id == PJSIP_INVITE_METHOD && tsx->role == PJSIP_ROLE_UAS) @@ -4188,7 +4407,7 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) pjsip_rx_data *rdata = e->body.tsx_state.src.rdata; pjsip_tx_data *tdata; pj_status_t status; - pjsip_rdata_sdp_info *sdp_info; + pjsip_rdata_sdp_info *sdp_info = NULL; pjsip_status_code st_code; /* Check if we have INVITE pending. */ @@ -4261,6 +4480,33 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) /* Process SDP in incoming message. */ status = inv_check_sdp_in_incoming_msg(inv, tsx, rdata); + if (status == PJ_SUCCESS && mod_inv.cb.on_rx_reinvite && + inv->notify) + { + pj_status_t rc; + + sdp_info = pjsip_rdata_get_sdp_info(rdata); + rc = (*mod_inv.cb.on_rx_reinvite)(inv, sdp_info->sdp, + rdata); + if (rc == PJ_SUCCESS) { + /* Application will send its own response. + * Our job is done. */ + PJ_LOG(5,(inv->obj_name, "on_rx_reinvite() returns %d", + rc)); + return; + } + + /* If application lets us answer the re-INVITE, + * application must set the SDP answer with + * #pjsip_inv_set_sdp_answer(). + */ + if (pjmedia_sdp_neg_get_state(inv->neg) != + PJMEDIA_SDP_NEG_STATE_WAIT_NEGO) + { + status = PJ_EINVALIDOP; + } + } + if (status != PJ_SUCCESS) { /* Not Acceptable */ @@ -4302,7 +4548,8 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) /* If the INVITE request has SDP body, send answer. * Otherwise generate offer from local active SDP. */ - sdp_info = pjsip_rdata_get_sdp_info(rdata); + if (!sdp_info) + sdp_info = pjsip_rdata_get_sdp_info(rdata); if (sdp_info->sdp != NULL) { status = process_answer(inv, 200, tdata, NULL); } else { @@ -4320,9 +4567,9 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) * fix the offer with correct SDP origin. */ status = - pjmedia_sdp_neg_modify_local_offer(inv->pool_prov, - inv->neg, - sdp); + pjmedia_sdp_neg_modify_local_offer2( + inv->pool_prov, inv->neg, + inv->sdp_neg_flags, sdp); /* Retrieve the "fixed" offer from negotiator */ if (status==PJ_SUCCESS) { @@ -4419,6 +4666,20 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) /* Save pending invite transaction */ inv->invite_tsx = tsx; + } else if (tsx->state == PJSIP_TSX_STATE_PROCEEDING) { + + /* CANCEL the re-INVITE if necessary */ + if (inv->pending_cancel) { + pj_status_t status; + pjsip_tx_data *cancel; + + inv->pending_cancel = PJ_FALSE; + + status = pjsip_inv_cancel_reinvite(inv, &cancel); + if (status == PJ_SUCCESS && cancel) + status = pjsip_inv_send_msg(inv, cancel); + } + } else if (tsx->state == PJSIP_TSX_STATE_TERMINATED && tsx->status_code/100 == 2) { @@ -4452,7 +4713,13 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) /* Handle response that terminates dialog */ /* Nothing to do (already handled) */ - } else if (tsx->status_code >= 300 && tsx->status_code < 700) { + } else if (tsx->status_code >= 300 && tsx->status_code < 700 && + e->body.tsx_state.prev_state != PJSIP_TSX_STATE_COMPLETED) + { + /* Ticket #1654: do not cancel SDP offer when tsx state changing + * from 'completed' to 'terminated', as it should have already + * been cancelled when tsx state is 'completed'. + */ pjmedia_sdp_neg_state neg_state; struct tsx_inv_data *tsx_inv_data; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_reg.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_reg.c similarity index 89% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_reg.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_reg.c index b76a1f6bad5016345e1aad546634d4a1828cfd80..286b13d9d9c5804339b84d5c5b1c180a6a8d7ef2 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_reg.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_reg.c @@ -1,4 +1,4 @@ -/* $Id: sip_reg.c 4319 2013-01-16 10:20:55Z bennylp $ */ +/* $Id: sip_reg.c 4586 2013-09-04 10:07:45Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -75,6 +75,7 @@ struct pjsip_regc void *token; pjsip_regc_cb *cb; + pjsip_regc_tsx_cb *tsx_cb; pj_str_t str_srv_url; pjsip_uri *srv_url; @@ -727,6 +728,26 @@ PJ_DEF(pj_status_t) pjsip_regc_update_expires( pjsip_regc *regc, return PJ_SUCCESS; } +static void cbparam_init( struct pjsip_regc_cbparam *cbparam, + pjsip_regc *regc, + pj_status_t status, int st_code, + const pj_str_t *reason, + pjsip_rx_data *rdata, pj_int32_t expiration, + int contact_cnt, pjsip_contact_hdr *contact[]) +{ + cbparam->regc = regc; + cbparam->token = regc->token; + cbparam->status = status; + cbparam->code = st_code; + cbparam->reason = *reason; + cbparam->rdata = rdata; + cbparam->contact_cnt = contact_cnt; + cbparam->expiration = expiration; + if (contact_cnt) { + pj_memcpy( cbparam->contact, contact, + contact_cnt*sizeof(pjsip_contact_hdr*)); + } +} static void call_callback(pjsip_regc *regc, pj_status_t status, int st_code, const pj_str_t *reason, @@ -735,23 +756,11 @@ static void call_callback(pjsip_regc *regc, pj_status_t status, int st_code, { struct pjsip_regc_cbparam cbparam; - if (!regc->cb) return; - cbparam.regc = regc; - cbparam.token = regc->token; - cbparam.status = status; - cbparam.code = st_code; - cbparam.reason = *reason; - cbparam.rdata = rdata; - cbparam.contact_cnt = contact_cnt; - cbparam.expiration = expiration; - if (contact_cnt) { - pj_memcpy( cbparam.contact, contact, - contact_cnt*sizeof(pjsip_contact_hdr*)); - } - + cbparam_init(&cbparam, regc, status, st_code, reason, rdata, expiration, + contact_cnt, contact); (*regc->cb)(&cbparam); } @@ -792,6 +801,9 @@ static void schedule_registration ( pjsip_regc *regc, pj_int32_t expiration ) if (regc->auto_reg && expiration > 0) { pj_time_val delay = { 0, 0}; + pj_timer_heap_cancel_if_active(pjsip_endpt_get_timer_heap(regc->endpt), + ®c->timer, 0); + delay.sec = expiration - regc->delay_before_refresh; if (regc->expires != PJSIP_REGC_EXPIRATION_NOT_SPECIFIED && delay.sec > (pj_int32_t)regc->expires) @@ -810,6 +822,15 @@ static void schedule_registration ( pjsip_regc *regc, pj_int32_t expiration ) } } +PJ_DEF(pj_status_t) pjsip_regc_set_reg_tsx_cb( pjsip_regc *regc, + pjsip_regc_tsx_cb *tsx_cb) +{ + PJ_ASSERT_RETURN(regc, PJ_EINVAL); + regc->tsx_cb = tsx_cb; + return PJ_SUCCESS; +} + + PJ_DEF(pj_status_t) pjsip_regc_set_via_sent_by( pjsip_regc *regc, pjsip_host_port *via_addr, pjsip_transport *via_tp) @@ -837,6 +858,8 @@ pjsip_regc_set_delay_before_refresh( pjsip_regc *regc, if (delay > regc->expires) return PJ_ETOOBIG; + pj_lock_acquire(regc->lock); + if (regc->delay_before_refresh != delay) { regc->delay_before_refresh = delay; @@ -851,6 +874,8 @@ pjsip_regc_set_delay_before_refresh( pjsip_regc *regc, } } + pj_lock_release(regc->lock); + return PJ_SUCCESS; } @@ -995,7 +1020,7 @@ static pj_int32_t calculate_response_expiration(const pjsip_regc *regc, * if we don't have exact Contact header count, or * from the request as the last resort. */ - unsigned our_contact_cnt; + pj_size_t our_contact_cnt; our_contact_cnt = pj_list_size(®c->contact_hdr_list); @@ -1028,6 +1053,7 @@ static void regc_tsx_callback(void *token, pjsip_event *event) pjsip_regc *regc = (pjsip_regc*) token; pjsip_transaction *tsx = event->body.tsx_state.tsx; pj_bool_t handled = PJ_TRUE; + pj_bool_t update_contact = PJ_FALSE; pj_atomic_inc(regc->busy_ctr); pj_lock_acquire(regc->lock); @@ -1049,6 +1075,49 @@ static void regc_tsx_callback(void *token, pjsip_event *event) } } + if (regc->_delete_flag == 0 && regc->tsx_cb && + regc->current_op == REGC_REGISTERING) + { + struct pjsip_regc_tsx_cb_param param; + + param.contact_cnt = -1; + cbparam_init(¶m.cbparam, regc, PJ_SUCCESS, tsx->status_code, + &tsx->status_text, + (event->body.tsx_state.type==PJSIP_EVENT_RX_MSG) ? + event->body.tsx_state.src.rdata : NULL, + -1, 0, NULL); + + /* Call regc tsx callback before handling any response */ + pj_lock_release(regc->lock); + (*regc->tsx_cb)(¶m); + pj_lock_acquire(regc->lock); + + if (param.contact_cnt >= 0) { + /* Since we receive non-2xx response, it means that (some) contact + * bindings haven't been established so we can safely remove these + * contact headers. This is to avoid removing non-existent contact + * bindings later. + */ + if (tsx->status_code/100 != 2) { + pjsip_contact_hdr *h; + + h = regc->contact_hdr_list.next; + while (h != ®c->contact_hdr_list) { + pjsip_contact_hdr *next = h->next; + + if (h->expires == -1) { + pj_list_erase(h); + } + h = next; + } + } + + /* Update contact address */ + pjsip_regc_update_contact(regc, param.contact_cnt, param.contact); + update_contact = PJ_TRUE; + } + } + /* Handle 401/407 challenge (even when _delete_flag is set) */ if (tsx->status_code == PJSIP_SC_PROXY_AUTHENTICATION_REQUIRED || tsx->status_code == PJSIP_SC_UNAUTHORIZED) @@ -1059,7 +1128,49 @@ static void regc_tsx_callback(void *token, pjsip_event *event) /* reset current op */ regc->current_op = REGC_IDLE; - status = pjsip_auth_clt_reinit_req( ®c->auth_sess, + if (update_contact) { + pjsip_msg *msg; + pjsip_hdr *hdr, *ins_hdr; + pjsip_contact_hdr *chdr; + + /* Delete Contact headers, but we shouldn't delete headers + * which are supposed to remove contact bindings since + * we cannot reconstruct those headers. + */ + msg = tsx->last_tx->msg; + hdr = msg->hdr.next; + ins_hdr = &msg->hdr; + while (hdr != &msg->hdr) { + pjsip_hdr *next = hdr->next; + + if (hdr->type == PJSIP_H_CONTACT) { + chdr = (pjsip_contact_hdr *)hdr; + if (chdr->expires != 0) { + pj_list_erase(hdr); + ins_hdr = next; + } + } + hdr = next; + } + + /* Add Contact headers. */ + chdr = regc->contact_hdr_list.next; + while (chdr != ®c->contact_hdr_list) { + pj_list_insert_before(ins_hdr, (pjsip_hdr*) + pjsip_hdr_shallow_clone(tsx->last_tx->pool, chdr)); + chdr = chdr->next; + } + + /* Also add bindings which are to be removed */ + while (!pj_list_empty(®c->removed_contact_hdr_list)) { + chdr = regc->removed_contact_hdr_list.next; + pj_list_insert_before(ins_hdr, (pjsip_hdr*) + pjsip_hdr_clone(tsx->last_tx->pool, chdr)); + pj_list_erase(chdr); + } + } + + status = pjsip_auth_clt_reinit_req( ®c->auth_sess, rdata, tsx->last_tx, &tdata); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_replaces.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_replaces.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_replaces.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_replaces.c index a37546f9194dc87969eb2bf8aeb7ebad6235e65f..121b2bd95ebd28bf8e6c107467d0d9d2b5712cb7 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_replaces.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_replaces.c @@ -1,4 +1,4 @@ -/* $Id: sip_replaces.c 4268 2012-09-28 08:56:08Z nanang $ */ +/* $Id: sip_replaces.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -72,7 +72,7 @@ static int replaces_hdr_print( pjsip_replaces_hdr *hdr, { char *p = buf; char *endbuf = buf+size; - int printed; + pj_ssize_t printed; const pjsip_parser_const_t *pc = pjsip_parser_const(); copy_advance(p, hdr->name); @@ -92,10 +92,10 @@ static int replaces_hdr_print( pjsip_replaces_hdr *hdr, &pc->pjsip_TOKEN_SPEC, &pc->pjsip_TOKEN_SPEC, ';'); if (printed < 0) - return printed; + return (int)printed; p += printed; - return p - buf; + return (int)(p - buf); } static pjsip_replaces_hdr* replaces_hdr_clone( pj_pool_t *pool, diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_timer.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_timer.c similarity index 89% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_timer.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_timer.c index a48c71d4c9cb08e1216f6a8c5a41d800b099e2c5..f217900965a2ef3fb1c1b513142a099f8bbb99cd 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_timer.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_timer.c @@ -1,4 +1,4 @@ -/* $Id: sip_timer.c 4213 2012-07-23 13:31:26Z nanang $ */ +/* $Id: sip_timer.c 4715 2014-01-24 09:32:27Z riza $ */ /* * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) * @@ -19,6 +19,8 @@ #include <pjsip-ua/sip_timer.h> #include <pjsip/print_util.h> #include <pjsip/sip_endpoint.h> +#include <pjsip/sip_event.h> +#include <pjsip/sip_transaction.h> #include <pj/log.h> #include <pj/math.h> #include <pj/os.h> @@ -28,8 +30,8 @@ /* Constant of Session Timers */ -#define ABS_MIN_SE 90 /* Absolute Min-SE, in seconds */ - +#define ABS_MIN_SE 90 /* Absolute Min-SE, in seconds */ +#define REFRESHER_EXPIRE_TIMER_ID 2 /* Refresher expire timer id */ /* String definitions */ static const pj_str_t STR_SE = {"Session-Expires", 15}; @@ -61,8 +63,11 @@ struct pjsip_timer refresh the session */ pj_bool_t with_sdp; /**< SDP in UPDATE? */ pjsip_role_e role; /**< Role in last INVITE/ - UPDATE transaction. */ - + UPDATE transaction. */ + void *refresh_tdata; /**< The tdata of refresh + request */ + pj_timer_entry expire_timer; /**< Timer entry for expire + refresher */ }; /* External global vars */ @@ -117,7 +122,7 @@ static int se_hdr_print(pjsip_sess_expires_hdr *hdr, { char *p = buf; char *endbuf = buf+size; - int printed; + pj_ssize_t printed; const pjsip_parser_const_t *pc = pjsip_parser_const(); const pj_str_t *hname = pjsip_use_compact_form? &hdr->sname : &hdr->name; @@ -149,10 +154,10 @@ static int se_hdr_print(pjsip_sess_expires_hdr *hdr, &pc->pjsip_TOKEN_SPEC, &pc->pjsip_TOKEN_SPEC, ';'); if (printed < 0) - return printed; + return (int)printed; p += printed; - return p - buf; + return (int)(p - buf); } static pjsip_sess_expires_hdr* se_hdr_clone(pj_pool_t *pool, @@ -183,7 +188,7 @@ static int min_se_hdr_print(pjsip_min_se_hdr *hdr, { char *p = buf; char *endbuf = buf+size; - int printed; + pj_ssize_t printed; const pjsip_parser_const_t *pc = pjsip_parser_const(); /* Print header name and value */ @@ -202,10 +207,10 @@ static int min_se_hdr_print(pjsip_min_se_hdr *hdr, &pc->pjsip_TOKEN_SPEC, &pc->pjsip_TOKEN_SPEC, ';'); if (printed < 0) - return printed; + return (int)printed; p += printed; - return p - buf; + return (int)(p - buf); } static pjsip_min_se_hdr* min_se_hdr_clone(pj_pool_t *pool, @@ -331,8 +336,6 @@ static void timer_cb(pj_timer_heap_t *timer_heap, struct pj_timer_entry *entry) pj_assert(inv); - inv->timer->timer.id = 0; - PJ_UNUSED_ARG(timer_heap); /* Lock dialog. */ @@ -341,18 +344,27 @@ static void timer_cb(pj_timer_heap_t *timer_heap, struct pj_timer_entry *entry) /* Check our role */ as_refresher = (inv->timer->refresher == TR_UAC && inv->timer->role == PJSIP_ROLE_UAC) || - (inv->timer->refresher == TR_UAS && inv->timer->role == PJSIP_ROLE_UAS); - - /* Do action based on role, refresher or refreshee */ - if (as_refresher) { + (inv->timer->refresher == TR_UAS && inv->timer->role == PJSIP_ROLE_UAS); + + /* Do action based on role(refresher or refreshee). + * As refresher: + * - send refresh, or + * - end session if there is no response to the refresh request. + * As refreshee: + * - end session if there is no refresh request received. + */ + if (as_refresher && (entry->id != REFRESHER_EXPIRE_TIMER_ID)) { pj_time_val now; /* As refresher, reshedule the refresh request on the following: - * - msut not send re-INVITE if another INVITE or SDP negotiation + * - must not send re-INVITE if another INVITE or SDP negotiation * is in progress. * - must not send UPDATE with SDP if SDP negotiation is in progress */ pjmedia_sdp_neg_state neg_state = pjmedia_sdp_neg_get_state(inv->neg); + + inv->timer->timer.id = 0; + if ( (!inv->timer->use_update && ( inv->invite_tsx != NULL || neg_state != PJMEDIA_SDP_NEG_STATE_DONE) @@ -410,16 +422,23 @@ static void timer_cb(pj_timer_heap_t *timer_heap, struct pj_timer_entry *entry) pj_time_val now; - /* Refreshee, terminate the session */ + if (as_refresher) + inv->timer->expire_timer.id = 0; + else + inv->timer->timer.id = 0; + + /* Terminate the session */ status = pjsip_inv_end_session(inv, PJSIP_SC_REQUEST_TIMEOUT, NULL, &tdata); pj_gettimeofday(&now); PJ_LOG(3, (inv->pool->obj_name, - "No session refresh received after %ds " + "No session %s received after %ds " "(expiration period=%ds), stopping session now!", + (as_refresher?"refresh response":"refresh"), (now.sec-inv->timer->last_refresh.sec), inv->timer->setting.sess_expires)); + } /* Unlock dialog. */ @@ -427,14 +446,17 @@ static void timer_cb(pj_timer_heap_t *timer_heap, struct pj_timer_entry *entry) /* Send message, if any */ if (tdata && status == PJ_SUCCESS) { - status = pjsip_inv_send_msg(inv, tdata); + inv->timer->refresh_tdata = tdata; + + status = pjsip_inv_send_msg(inv, tdata); } /* Print error message, if any */ if (status != PJ_SUCCESS) { PJ_PERROR(2, (inv->pool->obj_name, status, - "Error in %s session timer", - (as_refresher? "refreshing" : "terminating"))); + "Error in %s session timer", + ((as_refresher && entry->id != REFRESHER_EXPIRE_TIMER_ID)? + "refreshing" : "terminating"))); } } @@ -466,6 +488,17 @@ static void start_timer(pjsip_inv_session *inv) if ((timer->refresher == TR_UAC && inv->timer->role == PJSIP_ROLE_UAC) || (timer->refresher == TR_UAS && inv->timer->role == PJSIP_ROLE_UAS)) { + /* Add refresher expire timer */ + pj_timer_entry_init(&timer->expire_timer, + REFRESHER_EXPIRE_TIMER_ID, /* id */ + inv, /* user data */ + timer_cb); /* callback */ + + delay.sec = timer->setting.sess_expires; + /* Schedule the timer */ + pjsip_endpt_schedule_timer(inv->dlg->endpt, &timer->expire_timer, + &delay); + /* Next refresh, the delay is half of session expire */ delay.sec = timer->setting.sess_expires / 2; } else { @@ -490,7 +523,12 @@ static void stop_timer(pjsip_inv_session *inv) { if (inv->timer->timer.id != 0) { pjsip_endpt_cancel_timer(inv->dlg->endpt, &inv->timer->timer); - inv->timer->timer.id = 0; + inv->timer->timer.id = 0; + } + + if (inv->timer->expire_timer.id != 0) { + pjsip_endpt_cancel_timer(inv->dlg->endpt, &inv->timer->expire_timer); + inv->timer->expire_timer.id = 0; } } @@ -709,7 +747,7 @@ PJ_DEF(pj_status_t) pjsip_timer_process_resp(pjsip_inv_session *inv, { return PJ_SUCCESS; } - + if (msg->line.status.code == PJSIP_SC_SESSION_TIMER_TOO_SMALL) { /* Our Session-Expires is too small, let's update it based on * Min-SE header in the response. @@ -723,8 +761,13 @@ PJ_DEF(pj_status_t) pjsip_timer_process_resp(pjsip_inv_session *inv, min_se_hdr = (pjsip_min_se_hdr*) pjsip_msg_find_hdr_by_name(msg, &STR_MIN_SE, NULL); if (min_se_hdr == NULL) { - /* Response 422 should contain Min-SE header */ - return PJ_SUCCESS; + /* Response 422 MUST contain Min-SE header */ + PJ_LOG(3, (inv->pool->obj_name, + "Received 422 (Session Interval Too Small) response " + "without Min-SE header!")); + + pjsip_timer_end_session(inv); + return PJSIP_EMISSINGHDR; } /* Session Timers should have been initialized here */ @@ -887,6 +930,59 @@ PJ_DEF(pj_status_t) pjsip_timer_process_resp(pjsip_inv_session *inv, return PJ_SUCCESS; } +PJ_DEF(pj_status_t) pjsip_timer_handle_refresh_error( + pjsip_inv_session *inv, + pjsip_event *event) +{ + PJ_ASSERT_RETURN(inv && event, PJ_EINVAL); + + /* Check if Session Timers is supported */ + if ((inv->options & PJSIP_INV_SUPPORT_TIMER) == 0) + return PJ_SUCCESS; + + pj_assert(is_initialized); + + if (inv->timer && inv->timer->active) { + pj_bool_t as_refresher; + + /* Check our role */ + as_refresher = ((inv->timer->refresher == TR_UAC) && + (inv->timer->role == PJSIP_ROLE_UAC)) || + ((inv->timer->refresher == TR_UAS) && + (inv->timer->role == PJSIP_ROLE_UAS)); + + + if ((as_refresher) && (event->type == PJSIP_EVENT_TSX_STATE) && + (inv->timer->refresh_tdata == event->body.tsx_state.tsx->last_tx)) + { + pjsip_status_code st_code; + pjsip_tx_data *bye; + pj_status_t status; + + st_code = + (pjsip_status_code)event->body.tsx_state.tsx->status_code; + + PJ_LOG(3, (inv->pool->obj_name, + "Receive error %d for refresh request %.*s/cseq=%d, " + "stopping session now", st_code, + event->body.tsx_state.tsx->method.name.slen, + event->body.tsx_state.tsx->method.name.ptr, + event->body.tsx_state.tsx->cseq)); + + status = pjsip_inv_end_session(inv, + event->body.tsx_state.tsx->status_code, + pjsip_get_status_text(st_code), + &bye); + + if (status == PJ_SUCCESS && bye) + status = pjsip_inv_send_msg(inv, bye); + + } + } + + return PJ_SUCCESS; +} + /* * Handle incoming INVITE or UPDATE request. */ diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_xfer.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_xfer.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_xfer.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_xfer.c index cfa3e10825309f18561f6eafff3de2f982258b00..fc3e0c896ae193f83ddb9cf3b77ce88682df2fa3 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip-ua/sip_xfer.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip-ua/sip_xfer.c @@ -1,4 +1,4 @@ -/* $Id: sip_xfer.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_xfer.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -76,10 +76,10 @@ PJ_DEF(const pjsip_method*) pjsip_get_refer_method() /* * String constants */ -const pj_str_t STR_REFER = { "refer", 5 }; -const pj_str_t STR_MESSAGE = { "message", 7 }; -const pj_str_t STR_SIPFRAG = { "sipfrag", 7 }; -const pj_str_t STR_SIPFRAG_VERSION = {";version=2.0", 12 }; +static const pj_str_t STR_REFER = { "refer", 5 }; +static const pj_str_t STR_MESSAGE = { "message", 7 }; +static const pj_str_t STR_SIPFRAG = { "sipfrag", 7 }; +static const pj_str_t STR_SIPFRAG_VERSION = {";version=2.0", 12 }; /* diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_aka.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_aka.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_aka.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_aka.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_client.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_client.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_client.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_client.c index 0facc7b975907d02e558093f29051f689d8a7e95..cfa0829edaafe5179c3905dcb982ecfaaad9f920 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_client.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_client.c @@ -1,5 +1,5 @@ -/* $Id: sip_auth_client.c 4322 2013-01-17 10:09:09Z bennylp $ */ -/* +/* $Id: sip_auth_client.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <pjsip/sip_auth.h> @@ -36,7 +36,8 @@ /* A macro just to get rid of type mismatch between char and unsigned char */ -#define MD5_APPEND(pms,buf,len) pj_md5_update(pms, (const pj_uint8_t*)buf, len) +#define MD5_APPEND(pms,buf,len) pj_md5_update(pms, (const pj_uint8_t*)buf, \ + (unsigned)len) /* Logging. */ #define THIS_FILE "sip_auth_client.c" @@ -136,7 +137,7 @@ static void digest2str(const unsigned char digest[], char *output) /* * Create response digest based on the parameters and store the - * digest ASCII in 'result'. + * digest ASCII in 'result'. */ PJ_DEF(void) pjsip_auth_create_digest( pj_str_t *result, const pj_str_t *nonce, @@ -158,8 +159,8 @@ PJ_DEF(void) pjsip_auth_create_digest( pj_str_t *result, AUTH_TRACE_((THIS_FILE, "Begin creating digest")); if ((cred_info->data_type & PASSWD_MASK) == PJSIP_CRED_DATA_PLAIN_PASSWD) { - /*** - *** ha1 = MD5(username ":" realm ":" password) + /*** + *** ha1 = MD5(username ":" realm ":" password) ***/ pj_md5_init(&pms); MD5_APPEND( &pms, cred_info->username.ptr, cred_info->username.slen); @@ -181,7 +182,7 @@ PJ_DEF(void) pjsip_auth_create_digest( pj_str_t *result, AUTH_TRACE_((THIS_FILE, " ha1=%.32s", ha1)); /*** - *** ha2 = MD5(method ":" req_uri) + *** ha2 = MD5(method ":" req_uri) ***/ pj_md5_init(&pms); MD5_APPEND( &pms, method->ptr, method->slen); @@ -194,7 +195,7 @@ PJ_DEF(void) pjsip_auth_create_digest( pj_str_t *result, /*** *** When qop is not used: - *** response = MD5(ha1 ":" nonce ":" ha2) + *** response = MD5(ha1 ":" nonce ":" ha2) *** *** When qop=auth is used: *** response = MD5(ha1 ":" nonce ":" nc ":" cnonce ":" qop ":" ha2) @@ -216,7 +217,7 @@ PJ_DEF(void) pjsip_auth_create_digest( pj_str_t *result, /* This is the final response digest. */ pj_md5_final(&pms, digest); - + /* Convert digest to string and store in chal->response. */ result->slen = PJSIP_MD5STRLEN; digest2str(digest, result->ptr); @@ -257,7 +258,7 @@ static pj_bool_t has_auth_qop( pj_pool_t *pool, const pj_str_t *qop_offer) } /* - * Generate response digest. + * Generate response digest. * Most of the parameters to generate the digest (i.e. username, realm, uri, * and nonce) are expected to be in the credential. Additional parameters (i.e. * password and method param) should be supplied in the argument. @@ -306,18 +307,18 @@ static pj_status_t respond_digest( pj_pool_t *pool, if ((cred_info->data_type & EXT_MASK) == PJSIP_CRED_DATA_EXT_AKA) { /* Call application callback to create the response digest */ - return (*cred_info->ext.aka.cb)(pool, chal, cred_info, + return (*cred_info->ext.aka.cb)(pool, chal, cred_info, method, cred); - } + } else { /* Convert digest to string and store in chal->response. */ - pjsip_auth_create_digest( &cred->response, &cred->nonce, NULL, - NULL, NULL, uri, &chal->realm, + pjsip_auth_create_digest( &cred->response, &cred->nonce, NULL, + NULL, NULL, uri, &chal->realm, cred_info, method); } } else if (has_auth_qop(pool, &chal->qop)) { - /* Server requires quality of protection. + /* Server requires quality of protection. * We respond with selecting "qop=auth" protection. */ cred->qop = pjsip_AUTH_STR; @@ -333,18 +334,18 @@ static pj_status_t respond_digest( pj_pool_t *pool, if ((cred_info->data_type & EXT_MASK) == PJSIP_CRED_DATA_EXT_AKA) { /* Call application callback to create the response digest */ - return (*cred_info->ext.aka.cb)(pool, chal, cred_info, + return (*cred_info->ext.aka.cb)(pool, chal, cred_info, method, cred); } else { - pjsip_auth_create_digest( &cred->response, &cred->nonce, - &cred->nc, cnonce, &pjsip_AUTH_STR, + pjsip_auth_create_digest( &cred->response, &cred->nonce, + &cred->nc, cnonce, &pjsip_AUTH_STR, uri, &chal->realm, cred_info, method ); } } else { /* Server requires quality protection that we don't support. */ - PJ_LOG(4,(THIS_FILE, "Unsupported qop offer %.*s", + PJ_LOG(4,(THIS_FILE, "Unsupported qop offer %.*s", chal->qop.slen, chal->qop.ptr)); return PJSIP_EINVALIDQOP; } @@ -356,7 +357,7 @@ static pj_status_t respond_digest( pj_pool_t *pool, /* * Update authentication session with a challenge. */ -static void update_digest_session( pj_pool_t *ses_pool, +static void update_digest_session( pj_pool_t *ses_pool, pjsip_cached_auth *cached_auth, const pjsip_www_authenticate_hdr *hdr ) { @@ -369,7 +370,7 @@ static void update_digest_session( pj_pool_t *ses_pool, /* Only update if the new challenge is "significantly different" * than the one in the cache, to reduce memory usage. */ - const pjsip_digest_challenge *d1 = + const pjsip_digest_challenge *d1 = &cached_auth->last_chal->challenge.digest; const pjsip_digest_challenge *d2 = &hdr->challenge.digest; @@ -405,14 +406,14 @@ static void update_digest_session( pj_pool_t *ses_pool, pj_assert(cached_auth->realm.slen != 0); */ if (cached_auth->realm.slen == 0) { - pj_strdup(ses_pool, &cached_auth->realm, + pj_strdup(ses_pool, &cached_auth->realm, &hdr->challenge.digest.realm); } } else { /* Update last_nonce and nonce-count */ - if (!pj_strcmp(&hdr->challenge.digest.nonce, - &cached_auth->last_chal->challenge.digest.nonce)) + if (!pj_strcmp(&hdr->challenge.digest.nonce, + &cached_auth->last_chal->challenge.digest.nonce)) { /* Same nonce, increment nonce-count */ ++cached_auth->nc; @@ -422,9 +423,9 @@ static void update_digest_session( pj_pool_t *ses_pool, &hdr->challenge.digest.nonce); /* Has the opaque changed? */ if (pj_strcmp(&cached_auth->last_chal->challenge.digest.opaque, - &hdr->challenge.digest.opaque)) + &hdr->challenge.digest.opaque)) { - pj_strdup(ses_pool, + pj_strdup(ses_pool, &cached_auth->last_chal->challenge.digest.opaque, &hdr->challenge.digest.opaque); } @@ -483,7 +484,7 @@ static const pjsip_cred_info* auth_find_cred( const pjsip_auth_clt_sess *sess, /* Init client session. */ PJ_DEF(pj_status_t) pjsip_auth_clt_init( pjsip_auth_clt_sess *sess, pjsip_endpoint *endpt, - pj_pool_t *pool, + pj_pool_t *pool, unsigned options) { PJ_ASSERT_RETURN(sess && endpt && pool && (options==0), PJ_EINVAL); @@ -508,15 +509,15 @@ PJ_DEF(pj_status_t) pjsip_auth_clt_clone( pj_pool_t *pool, PJ_ASSERT_RETURN(pool && sess && rhs, PJ_EINVAL); pjsip_auth_clt_init(sess, (pjsip_endpoint*)rhs->endpt, pool, 0); - + sess->cred_cnt = rhs->cred_cnt; sess->cred_info = (pjsip_cred_info*) - pj_pool_alloc(pool, + pj_pool_alloc(pool, sess->cred_cnt*sizeof(pjsip_cred_info)); for (i=0; i<rhs->cred_cnt; ++i) { pj_strdup(pool, &sess->cred_info[i].realm, &rhs->cred_info[i].realm); pj_strdup(pool, &sess->cred_info[i].scheme, &rhs->cred_info[i].scheme); - pj_strdup(pool, &sess->cred_info[i].username, + pj_strdup(pool, &sess->cred_info[i].username, &rhs->cred_info[i].username); sess->cred_info[i].data_type = rhs->cred_info[i].data_type; pj_strdup(pool, &sess->cred_info[i].data, &rhs->cred_info[i].data); @@ -551,7 +552,7 @@ PJ_DEF(pj_status_t) pjsip_auth_clt_set_credentials( pjsip_auth_clt_sess *sess, for (i=0; i<cred_cnt; ++i) { sess->cred_info[i].data_type = c[i].data_type; - /* When data_type is PJSIP_CRED_DATA_EXT_AKA, + /* When data_type is PJSIP_CRED_DATA_EXT_AKA, * callback must be specified. */ if ((c[i].data_type & EXT_MASK) == PJSIP_CRED_DATA_EXT_AKA) { @@ -567,11 +568,11 @@ PJ_DEF(pj_status_t) pjsip_auth_clt_set_credentials( pjsip_auth_clt_sess *sess, PJ_ASSERT_RETURN(c[i].ext.aka.cb != NULL, PJ_EINVAL); /* Verify K len */ - PJ_ASSERT_RETURN(c[i].ext.aka.k.slen <= PJSIP_AKA_KLEN, + PJ_ASSERT_RETURN(c[i].ext.aka.k.slen <= PJSIP_AKA_KLEN, PJSIP_EAUTHINAKACRED); /* Verify OP len */ - PJ_ASSERT_RETURN(c[i].ext.aka.op.slen <= PJSIP_AKA_OPLEN, + PJ_ASSERT_RETURN(c[i].ext.aka.op.slen <= PJSIP_AKA_OPLEN, PJSIP_EAUTHINAKACRED); /* Verify AMF len */ @@ -629,7 +630,7 @@ PJ_DEF(pj_status_t) pjsip_auth_clt_get_prefs(pjsip_auth_clt_sess *sess, } -/* +/* * Create Authorization/Proxy-Authorization response header based on the challege * in WWW-Authenticate/Proxy-Authenticate header. */ @@ -784,7 +785,7 @@ static pj_status_t new_auth_for_req( pjsip_tx_data *tdata, sess->pool, auth, &hauth); if (status != PJ_SUCCESS) return status; - + pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)hauth); if (p_h_auth) @@ -830,6 +831,7 @@ PJ_DEF(pj_status_t) pjsip_auth_clt_init_req( pjsip_auth_clt_sess *sess, /* Get the method. */ method = &tdata->msg->line.req.method; + PJ_UNUSED_ARG(method); /* Warning about unused var caused by #if below */ auth = sess->cached_auth.next; while (auth != &sess->cached_auth) { @@ -868,32 +870,32 @@ PJ_DEF(pj_status_t) pjsip_auth_clt_init_req( pjsip_auth_clt_sess *sess, } # endif - } + } # if defined(PJSIP_AUTH_QOP_SUPPORT) && \ defined(PJSIP_AUTH_AUTO_SEND_NEXT) && \ (PJSIP_AUTH_QOP_SUPPORT && PJSIP_AUTH_AUTO_SEND_NEXT) else if (auth->qop_value == PJSIP_AUTH_QOP_AUTH) { - /* For qop="auth", we have to re-create the authorization header. + /* For qop="auth", we have to re-create the authorization header. */ const pjsip_cred_info *cred; pjsip_authorization_hdr *hauth; pj_status_t status; - cred = auth_find_cred(sess, &auth->realm, + cred = auth_find_cred(sess, &auth->realm, &auth->last_chal->scheme); if (!cred) { auth = auth->next; continue; } - status = auth_respond( tdata->pool, auth->last_chal, - tdata->msg->line.req.uri, + status = auth_respond( tdata->pool, auth->last_chal, + tdata->msg->line.req.uri, cred, &tdata->msg->line.req.method, sess->pool, auth, &hauth); if (status != PJ_SUCCESS) return status; - + //pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)hauth); pj_list_push_back(&added, hauth); } @@ -982,7 +984,7 @@ static pj_status_t process_auth( pj_pool_t *req_pool, hdr->type == PJSIP_H_PROXY_AUTHORIZATION)) { sent_auth = (pjsip_authorization_hdr*) hdr; - if (pj_stricmp(&hchal->challenge.common.realm, + if (pj_stricmp(&hchal->challenge.common.realm, &sent_auth->credential.common.realm )==0) { /* If this authorization has empty response, remove it. */ @@ -1053,21 +1055,21 @@ static pj_status_t process_auth( pj_pool_t *req_pool, } /* Find credential to be used for the challenge. */ - cred = auth_find_cred( sess, &hchal->challenge.common.realm, + cred = auth_find_cred( sess, &hchal->challenge.common.realm, &hchal->scheme); if (!cred) { const pj_str_t *realm = &hchal->challenge.common.realm; - PJ_LOG(4,(THIS_FILE, + PJ_LOG(4,(THIS_FILE, "Unable to set auth for %s: can not find credential for %.*s/%.*s", - tdata->obj_name, + tdata->obj_name, realm->slen, realm->ptr, hchal->scheme.slen, hchal->scheme.ptr)); return PJSIP_ENOCREDENTIAL; } /* Respond to authorization challenge. */ - status = auth_respond( req_pool, hchal, uri, cred, - &tdata->msg->line.req.method, + status = auth_respond( req_pool, hchal, uri, cred, + &tdata->msg->line.req.method, sess->pool, cached_auth, h_auth); return status; } @@ -1146,7 +1148,7 @@ PJ_DEF(pj_status_t) pjsip_auth_clt_reinit_req( pjsip_auth_clt_sess *sess, /* Create authorization header for this challenge, and update * authorization session. */ - status = process_auth( tdata->pool, hchal, tdata->msg->line.req.uri, + status = process_auth( tdata->pool, hchal, tdata->msg->line.req.uri, tdata, sess, cached_auth, &hauth); if (status != PJ_SUCCESS) return status; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_msg.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_msg.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_msg.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_msg.c index 5167b46bc9f8f32f845f2be1cb75aeb1d989ca78..b13318d386f1b23eab9a721a8354ab3123ded73c 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_msg.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_msg.c @@ -1,4 +1,4 @@ -/* $Id: sip_auth_msg.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_auth_msg.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -65,7 +65,7 @@ PJ_DEF(pjsip_proxy_authorization_hdr*) pjsip_proxy_authorization_hdr_create(pj_p static int print_digest_credential(pjsip_digest_credential *cred, char *buf, pj_size_t size) { - int printed; + pj_ssize_t printed; char *startbuf = buf; char *endbuf = buf + size; const pjsip_parser_const_t *pc = pjsip_parser_const(); @@ -227,7 +227,7 @@ PJ_DEF(pjsip_proxy_authenticate_hdr*) pjsip_proxy_authenticate_hdr_create(pj_poo static int print_digest_challenge( pjsip_digest_challenge *chal, char *buf, pj_size_t size) { - int printed; + pj_ssize_t printed; char *startbuf = buf; char *endbuf = buf + size; const pjsip_parser_const_t *pc = pjsip_parser_const(); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_parser.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_parser.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_parser.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_parser.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_parser_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_parser_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_parser_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_parser_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_server.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_server.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_auth_server.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_auth_server.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_config.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_config.c similarity index 88% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_config.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_config.c index 92b880551c7c4278bea5b525c4955e75ad9d1c06..804d2467a315ed1afe146d653dd15020df6e03a2 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_config.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_config.c @@ -1,4 +1,4 @@ -/* $Id: sip_config.c 4285 2012-10-19 04:23:57Z nanang $ */ +/* $Id: sip_config.c 4770 2014-02-27 06:16:36Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -29,7 +29,10 @@ pjsip_cfg_t pjsip_sip_cfg_var = PJSIP_ACCEPT_REPLACE_IN_EARLY_STATE, 0, 0, - PJSIP_DONT_SWITCH_TO_TCP + PJSIP_DONT_SWITCH_TO_TCP, + PJSIP_DONT_SWITCH_TO_TLS, + PJSIP_FOLLOW_EARLY_MEDIA_FORK, + PJSIP_REQ_HAS_VIA_ALIAS }, /* Transaction settings */ diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_dialog.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_dialog.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_dialog.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_dialog.c index 0e70d334b0876416b830d52d739e50a601a8a61e..9ca23380f5703755417d3846429d5760025a067f 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_dialog.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_dialog.c @@ -1,5 +1,5 @@ -/* $Id: sip_dialog.c 4208 2012-07-18 07:52:33Z ming $ */ -/* +/* $Id: sip_dialog.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <pjsip/sip_dialog.h> #include <pjsip/sip_ua_layer.h> @@ -73,8 +73,8 @@ static pj_status_t create_dialog( pjsip_user_agent *ua, if (!endpt) return PJ_EINVALIDOP; - pool = pjsip_endpt_create_pool(endpt, "dlg%p", - PJSIP_POOL_LEN_DIALOG, + pool = pjsip_endpt_create_pool(endpt, "dlg%p", + PJSIP_POOL_LEN_DIALOG, PJSIP_POOL_INC_DIALOG); if (!pool) return PJ_ENOMEM; @@ -194,8 +194,8 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua, /* Init local info. */ dlg->local.info = pjsip_from_hdr_create(dlg->pool); pj_strdup_with_null(dlg->pool, &dlg->local.info_str, local_uri); - dlg->local.info->uri = pjsip_parse_uri(dlg->pool, - dlg->local.info_str.ptr, + dlg->local.info->uri = pjsip_parse_uri(dlg->pool, + dlg->local.info_str.ptr, dlg->local.info_str.slen, 0); if (!dlg->local.info->uri) { status = PJSIP_EINVALIDURI; @@ -214,10 +214,10 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua, dlg->local.cseq = dlg->local.first_cseq; /* Init local contact. */ - pj_strdup_with_null(dlg->pool, &tmp, + pj_strdup_with_null(dlg->pool, &tmp, local_contact ? local_contact : local_uri); dlg->local.contact = (pjsip_contact_hdr*) - pjsip_parse_hdr(dlg->pool, &HCONTACT, tmp.ptr, + pjsip_parse_hdr(dlg->pool, &HCONTACT, tmp.ptr, tmp.slen, NULL); if (!dlg->local.contact) { status = PJSIP_EINVALIDURI; @@ -227,8 +227,8 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua, /* Init remote info. */ dlg->remote.info = pjsip_to_hdr_create(dlg->pool); pj_strdup_with_null(dlg->pool, &dlg->remote.info_str, remote_uri); - dlg->remote.info->uri = pjsip_parse_uri(dlg->pool, - dlg->remote.info_str.ptr, + dlg->remote.info->uri = pjsip_parse_uri(dlg->pool, + dlg->remote.info_str.ptr, dlg->remote.info_str.slen, 0); if (!dlg->remote.info->uri) { status = PJSIP_EINVALIDURI; @@ -239,7 +239,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua, if (PJSIP_URI_SCHEME_IS_SIP(dlg->remote.info->uri) || PJSIP_URI_SCHEME_IS_SIPS(dlg->remote.info->uri)) { - pjsip_sip_uri *sip_uri = (pjsip_sip_uri *) + pjsip_sip_uri *sip_uri = (pjsip_sip_uri *) pjsip_uri_get_uri(dlg->remote.info->uri); if (!pj_list_empty(&sip_uri->header_param)) { pj_str_t tmp; @@ -248,10 +248,10 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua, pj_list_init(&sip_uri->header_param); /* Print URI */ - tmp.ptr = (char*) pj_pool_alloc(dlg->pool, + tmp.ptr = (char*) pj_pool_alloc(dlg->pool, dlg->remote.info_str.slen); tmp.slen = pjsip_uri_print(PJSIP_URI_IN_FROMTO_HDR, - sip_uri, tmp.ptr, + sip_uri, tmp.ptr, dlg->remote.info_str.slen); if (tmp.slen < 1) { @@ -282,7 +282,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua, pj_list_init(&dlg->route_set); /* Init client authentication session. */ - status = pjsip_auth_clt_init(&dlg->auth_sess, dlg->endpt, + status = pjsip_auth_clt_init(&dlg->auth_sess, dlg->endpt, dlg->pool, 0); if (status != PJ_SUCCESS) goto on_error; @@ -332,11 +332,11 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uas( pjsip_user_agent *ua, PJ_ASSERT_RETURN(rdata->msg_info.msg->type == PJSIP_REQUEST_MSG, PJSIP_ENOTREQUESTMSG); - /* Request must not have To tag. + /* Request must not have To tag. * This should have been checked in the user agent (or application?). */ PJ_ASSERT_RETURN(rdata->msg_info.to->tag.slen == 0, PJ_EINVALIDOP); - + /* The request must be a dialog establishing request. */ PJ_ASSERT_RETURN( pjsip_method_creates_dialog(&rdata->msg_info.msg->line.req.method), @@ -384,9 +384,9 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uas( pjsip_user_agent *ua, /* Init local contact. */ /* TODO: * Section 12.1.1, paragraph about using SIPS URI in Contact. - * If the request that initiated the dialog contained a SIPS URI - * in the Request-URI or in the top Record-Route header field value, - * if there was any, or the Contact header field if there was no + * If the request that initiated the dialog contained a SIPS URI + * in the Request-URI or in the top Record-Route header field value, + * if there was any, or the Contact header field if there was no * Record-Route header field, the Contact header field in the response * MUST be a SIPS URI. */ @@ -395,7 +395,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uas( pjsip_user_agent *ua, pj_strdup_with_null(dlg->pool, &tmp, contact); dlg->local.contact = (pjsip_contact_hdr*) - pjsip_parse_hdr(dlg->pool, &HCONTACT, tmp.ptr, + pjsip_parse_hdr(dlg->pool, &HCONTACT, tmp.ptr, tmp.slen, NULL); if (!dlg->local.contact) { status = PJSIP_EINVALIDURI; @@ -408,7 +408,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uas( pjsip_user_agent *ua, } /* Init remote info from the From header. */ - dlg->remote.info = (pjsip_fromto_hdr*) + dlg->remote.info = (pjsip_fromto_hdr*) pjsip_hdr_clone(dlg->pool, rdata->msg_info.from); pjsip_fromto_hdr_set_to(dlg->remote.info); @@ -425,7 +425,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uas( pjsip_user_agent *ua, pj_strdup(dlg->pool, &dlg->remote.info_str, &tmp); - /* Init remote's contact from Contact header. + /* Init remote's contact from Contact header. * Iterate the Contact URI until we find sip: or sips: scheme. */ do { @@ -451,7 +451,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uas( pjsip_user_agent *ua, goto on_error; } - dlg->remote.contact = (pjsip_contact_hdr*) + dlg->remote.contact = (pjsip_contact_hdr*) pjsip_hdr_clone(dlg->pool, (pjsip_hdr*)contact_hdr); /* Init remote's CSeq from CSeq header */ @@ -463,22 +463,22 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uas( pjsip_user_agent *ua, /* Initial role is UAS */ dlg->role = PJSIP_ROLE_UAS; - /* Secure? + /* Secure? * RFC 3261 Section 12.1.1: - * If the request arrived over TLS, and the Request-URI contained a + * If the request arrived over TLS, and the Request-URI contained a * SIPS URI, the 'secure' flag is set to TRUE. */ dlg->secure = PJSIP_TRANSPORT_IS_SECURE(rdata->tp_info.transport) && PJSIP_URI_SCHEME_IS_SIPS(rdata->msg_info.msg->line.req.uri); /* Call-ID */ - dlg->call_id = (pjsip_cid_hdr*) + dlg->call_id = (pjsip_cid_hdr*) pjsip_hdr_clone(dlg->pool, rdata->msg_info.cid); - /* Route set. + /* Route set. * RFC 3261 Section 12.1.1: - * The route set MUST be set to the list of URIs in the Record-Route - * header field from the request, taken in order and preserving all URI + * The route set MUST be set to the list of URIs in the Record-Route + * header field from the request, taken in order and preserving all URI * parameters. If no Record-Route header field is present in the request, * the route set MUST be set to the empty set. */ @@ -498,7 +498,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uas( pjsip_user_agent *ua, rr = rr->next; if (rr == (void*)&rdata->msg_info.msg->hdr) break; - rr = (pjsip_route_hdr*) pjsip_msg_find_hdr(rdata->msg_info.msg, + rr = (pjsip_route_hdr*) pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_RECORD_ROUTE, rr); } dlg->route_set_frozen = PJ_TRUE; @@ -620,7 +620,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_fork( const pjsip_dialog *first_dlg, /* Check arguments. */ PJ_ASSERT_RETURN(first_dlg && rdata && new_dlg, PJ_EINVAL); - + /* rdata must be response message. */ PJ_ASSERT_RETURN(msg->type == PJSIP_RESPONSE_MSG, PJSIP_ENOTRESPONSEMSG); @@ -648,7 +648,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_fork( const pjsip_dialog *first_dlg, dlg->target = (pjsip_uri*) pjsip_uri_clone(dlg->pool, contact->uri); /* Clone local info. */ - dlg->local.info = (pjsip_fromto_hdr*) + dlg->local.info = (pjsip_fromto_hdr*) pjsip_hdr_clone(dlg->pool, first_dlg->local.info); /* Clone local tag. */ @@ -660,11 +660,11 @@ PJ_DEF(pj_status_t) pjsip_dlg_fork( const pjsip_dialog *first_dlg, dlg->local.cseq = first_dlg->local.cseq; /* Clone local Contact. */ - dlg->local.contact = (pjsip_contact_hdr*) + dlg->local.contact = (pjsip_contact_hdr*) pjsip_hdr_clone(dlg->pool, first_dlg->local.contact); /* Clone remote info. */ - dlg->remote.info = (pjsip_fromto_hdr*) + dlg->remote.info = (pjsip_fromto_hdr*) pjsip_hdr_clone(dlg->pool, first_dlg->remote.info); /* Set remote tag from the response. */ @@ -689,7 +689,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_fork( const pjsip_dialog *first_dlg, dlg->secure = PJSIP_URI_SCHEME_IS_SIPS(dlg->target); /* Clone Call-ID header. */ - dlg->call_id = (pjsip_cid_hdr*) + dlg->call_id = (pjsip_cid_hdr*) pjsip_hdr_clone(dlg->pool, first_dlg->call_id); /* Get route-set from the response. */ @@ -707,7 +707,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_fork( const pjsip_dialog *first_dlg, //dlg->route_set_frozen = PJ_TRUE; /* Clone client authentication session. */ - status = pjsip_auth_clt_clone(dlg->pool, &dlg->auth_sess, + status = pjsip_auth_clt_clone(dlg->pool, &dlg->auth_sess, &first_dlg->auth_sess); if (status != PJ_SUCCESS) goto on_error; @@ -841,13 +841,13 @@ PJ_DEF(pj_status_t) pjsip_dlg_inc_session( pjsip_dialog *dlg, */ PJ_DEF(void) pjsip_dlg_inc_lock(pjsip_dialog *dlg) { - PJ_LOG(6,(dlg->obj_name, "Entering pjsip_dlg_inc_lock(), sess_count=%d", + PJ_LOG(6,(dlg->obj_name, "Entering pjsip_dlg_inc_lock(), sess_count=%d", dlg->sess_count)); pj_mutex_lock(dlg->mutex_); dlg->sess_count++; - PJ_LOG(6,(dlg->obj_name, "Leaving pjsip_dlg_inc_lock(), sess_count=%d", + PJ_LOG(6,(dlg->obj_name, "Leaving pjsip_dlg_inc_lock(), sess_count=%d", dlg->sess_count)); } @@ -858,7 +858,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_try_inc_lock(pjsip_dialog *dlg) { pj_status_t status; - PJ_LOG(6,(dlg->obj_name,"Entering pjsip_dlg_try_inc_lock(), sess_count=%d", + PJ_LOG(6,(dlg->obj_name,"Entering pjsip_dlg_try_inc_lock(), sess_count=%d", dlg->sess_count)); status = pj_mutex_trylock(dlg->mutex_); @@ -869,7 +869,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_try_inc_lock(pjsip_dialog *dlg) dlg->sess_count++; - PJ_LOG(6,(dlg->obj_name, "Leaving pjsip_dlg_try_inc_lock(), sess_count=%d", + PJ_LOG(6,(dlg->obj_name, "Leaving pjsip_dlg_try_inc_lock(), sess_count=%d", dlg->sess_count)); return PJ_SUCCESS; @@ -884,7 +884,7 @@ PJ_DEF(void) pjsip_dlg_dec_lock(pjsip_dialog *dlg) { PJ_ASSERT_ON_FAIL(dlg!=NULL, return); - PJ_LOG(6,(dlg->obj_name, "Entering pjsip_dlg_dec_lock(), sess_count=%d", + PJ_LOG(6,(dlg->obj_name, "Entering pjsip_dlg_dec_lock(), sess_count=%d", dlg->sess_count)); pj_assert(dlg->sess_count > 0); @@ -959,7 +959,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_add_usage( pjsip_dialog *dlg, PJ_EINVAL); PJ_ASSERT_RETURN(dlg->usage_cnt < PJSIP_MAX_MODULE, PJ_EBUG); - PJ_LOG(5,(dlg->obj_name, + PJ_LOG(5,(dlg->obj_name, "Module %.*s added as dialog usage, data=%p", (int)mod->name.slen, mod->name.ptr, mod_data)); @@ -976,7 +976,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_add_usage( pjsip_dialog *dlg, * call transfer on the same dialog. * So return PJ_SUCCESS here. */ - PJ_LOG(4,(dlg->obj_name, + PJ_LOG(4,(dlg->obj_name, "Module %.*s already registered as dialog usage, " "updating the data %p", (int)mod->name.slen, mod->name.ptr, mod_data)); @@ -999,7 +999,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_add_usage( pjsip_dialog *dlg, */ pj_array_insert(dlg->usage, sizeof(dlg->usage[0]), dlg->usage_cnt, index, &mod); - + /* Set module data. */ dlg->mod_data[mod->id] = mod_data; @@ -1013,7 +1013,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_add_usage( pjsip_dialog *dlg, /* - * Attach module specific data to the dialog. Application can also set + * Attach module specific data to the dialog. Application can also set * the value directly by accessing dlg->mod_data[module_id]. */ PJ_DEF(pj_status_t) pjsip_dlg_set_mod_data( pjsip_dialog *dlg, @@ -1043,7 +1043,7 @@ PJ_DEF(void*) pjsip_dlg_get_mod_data( pjsip_dialog *dlg, /* * Create a new request within dialog (i.e. after the dialog session has been - * established). The construction of such requests follows the rule in + * established). The construction of such requests follows the rule in * RFC3261 section 12.2.1. */ static pj_status_t dlg_create_request_throw( pjsip_dialog *dlg, @@ -1057,7 +1057,7 @@ static pj_status_t dlg_create_request_throw( pjsip_dialog *dlg, pj_status_t status; /* Contact Header field. - * Contact can only be present in requests that establish dialog (in the + * Contact can only be present in requests that establish dialog (in the * core SIP spec, only INVITE). */ if (pjsip_method_creates_dialog(method)) @@ -1082,7 +1082,7 @@ static pj_status_t dlg_create_request_throw( pjsip_dialog *dlg, if (status != PJ_SUCCESS) return status; - /* Just copy dialog route-set to Route header. + /* Just copy dialog route-set to Route header. * The transaction will do the processing as specified in Section 12.2.1 * of RFC 3261 in function tsx_process_route() in sip_transaction.c. */ @@ -1192,10 +1192,10 @@ PJ_DEF(pj_status_t) pjsip_dlg_send_request( pjsip_dialog *dlg, * ACK nor CANCEL. */ if (msg->line.req.method.id != PJSIP_CANCEL_METHOD && - msg->line.req.method.id != PJSIP_ACK_METHOD) + msg->line.req.method.id != PJSIP_ACK_METHOD) { pjsip_cseq_hdr *ch; - + ch = PJSIP_MSG_CSEQ_HDR(msg); PJ_ASSERT_RETURN(ch!=NULL, PJ_EBUG); @@ -1244,7 +1244,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_send_request( pjsip_dialog *dlg, pjsip_tx_data_set_transport(tdata, &dlg->tp_sel); /* Send request */ - status = pjsip_endpt_send_request_stateless(dlg->endpt, tdata, + status = pjsip_endpt_send_request_stateless(dlg->endpt, tdata, NULL, NULL); if (status != PJ_SUCCESS) goto on_error; @@ -1259,7 +1259,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_send_request( pjsip_dialog *dlg, on_error: /* Unlock dialog, may destroy dialog. */ pjsip_dlg_dec_lock(dlg); - + /* Whatever happen delete the message. */ pjsip_tx_data_dec_ref( tdata ); pj_log_pop_indent(); @@ -1286,13 +1286,13 @@ static void dlg_beautify_response(pjsip_dialog *dlg, if (add_headers && pjsip_method_creates_dialog(&cseq->method)) { /* Add Contact header for 1xx, 2xx, 3xx and 485 response. */ if (st_class==2 || st_class==3 || (st_class==1 && st_code != 100) || - st_code==485) + st_code==485) { /* Add contact header only if one is not present. */ if (pjsip_msg_find_hdr(tdata->msg, PJSIP_H_CONTACT, NULL) == 0 && - pjsip_msg_find_hdr_by_name(tdata->msg, &HCONTACT, NULL) == 0) + pjsip_msg_find_hdr_by_name(tdata->msg, &HCONTACT, NULL) == 0) { - hdr = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, + hdr = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, dlg->local.contact); pjsip_msg_add_hdr(tdata->msg, hdr); } @@ -1301,7 +1301,7 @@ static void dlg_beautify_response(pjsip_dialog *dlg, /* Add Allow header in 18x, 2xx and 405 response. */ if ((((st_code/10==18 || st_class==2) && dlg->add_allow) || st_code==405) && - pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ALLOW, NULL)==NULL) + pjsip_msg_find_hdr(tdata->msg, PJSIP_H_ALLOW, NULL)==NULL) { c_hdr = pjsip_endpt_get_capability(dlg->endpt, PJSIP_H_ALLOW, NULL); @@ -1312,8 +1312,8 @@ static void dlg_beautify_response(pjsip_dialog *dlg, } /* Add Supported header in 2xx response. */ - if (st_class==2 && - pjsip_msg_find_hdr(tdata->msg, PJSIP_H_SUPPORTED, NULL)==NULL) + if (st_class==2 && + pjsip_msg_find_hdr(tdata->msg, PJSIP_H_SUPPORTED, NULL)==NULL) { c_hdr = pjsip_endpt_get_capability(dlg->endpt, PJSIP_H_SUPPORTED, NULL); @@ -1400,7 +1400,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_modify_response( pjsip_dialog *dlg, tdata->msg->line.status.reason = *pjsip_get_status_text(st_code); } - /* Remove existing Contact header (without this, when dialog sent + /* Remove existing Contact header (without this, when dialog sent * 180 and then 302, the Contact in 302 will not get updated). */ hdr = (pjsip_hdr*) pjsip_msg_find_hdr(tdata->msg, PJSIP_H_CONTACT, NULL); @@ -1445,13 +1445,13 @@ PJ_DEF(pj_status_t) pjsip_dlg_send_response( pjsip_dialog *dlg, PJ_LOG(5,(dlg->obj_name, "Sending %s", pjsip_tx_data_get_info(tdata))); - /* Check that transaction method and cseq match the response. + /* Check that transaction method and cseq match the response. * This operation is sloooww (search CSeq header twice), that's why * we only do it in debug mode. */ #if defined(PJ_DEBUG) && PJ_DEBUG!=0 PJ_ASSERT_RETURN( PJSIP_MSG_CSEQ_HDR(tdata->msg)->cseq == tsx->cseq && - pjsip_method_cmp(&PJSIP_MSG_CSEQ_HDR(tdata->msg)->method, + pjsip_method_cmp(&PJSIP_MSG_CSEQ_HDR(tdata->msg)->method, &tsx->method)==0, PJ_EINVALIDOP); #endif @@ -1477,7 +1477,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_send_response( pjsip_dialog *dlg, /* Ask transaction to send the response */ status = pjsip_tsx_send_msg(tsx, tdata); - /* This function must decrement transmit data request counter + /* This function must decrement transmit data request counter * regardless of the operation status. The transaction only * decrements the counter if the operation is successful. */ @@ -1562,7 +1562,7 @@ void pjsip_dlg_on_rx_request( pjsip_dialog *dlg, pjsip_rx_data *rdata ) /* Check CSeq */ if (rdata->msg_info.cseq->cseq <= dlg->remote.cseq && rdata->msg_info.msg->line.req.method.id != PJSIP_ACK_METHOD && - rdata->msg_info.msg->line.req.method.id != PJSIP_CANCEL_METHOD) + rdata->msg_info.msg->line.req.method.id != PJSIP_CANCEL_METHOD) { /* Invalid CSeq. * Respond statelessly with 500 (Internal Server Error) @@ -1594,8 +1594,8 @@ void pjsip_dlg_on_rx_request( pjsip_dialog *dlg, pjsip_rx_data *rdata ) } /* Create UAS transaction for this request. */ - if (pjsip_rdata_get_tsx(rdata) == NULL && - rdata->msg_info.msg->line.req.method.id != PJSIP_ACK_METHOD) + if (pjsip_rdata_get_tsx(rdata) == NULL && + rdata->msg_info.msg->line.req.method.id != PJSIP_ACK_METHOD) { status = pjsip_tsx_create_uas(dlg->ua, rdata, &tsx); if (status != PJ_SUCCESS) { @@ -1629,7 +1629,7 @@ void pjsip_dlg_on_rx_request( pjsip_dialog *dlg, pjsip_rx_data *rdata ) pjsip_contact_hdr *contact; contact = (pjsip_contact_hdr*) - pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_CONTACT, + pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_CONTACT, NULL); if (contact && contact->uri && (dlg->remote.contact==NULL || @@ -1637,7 +1637,7 @@ void pjsip_dlg_on_rx_request( pjsip_dialog *dlg, pjsip_rx_data *rdata ) dlg->remote.contact->uri, contact->uri))) { - dlg->remote.contact = (pjsip_contact_hdr*) + dlg->remote.contact = (pjsip_contact_hdr*) pjsip_hdr_clone(dlg->pool, contact); dlg->target = dlg->remote.contact->uri; } @@ -1687,11 +1687,11 @@ on_return: static void dlg_update_routeset(pjsip_dialog *dlg, const pjsip_rx_data *rdata) { const pjsip_hdr *hdr, *end_hdr; - pj_int32_t msg_cseq; + //pj_int32_t msg_cseq; const pjsip_msg *msg; msg = rdata->msg_info.msg; - msg_cseq = rdata->msg_info.cseq->cseq; + //msg_cseq = rdata->msg_info.cseq->cseq; /* Ignore if route set has been frozen */ if (dlg->route_set_frozen) @@ -1707,7 +1707,7 @@ static void dlg_update_routeset(pjsip_dialog *dlg, const pjsip_rx_data *rdata) return; /* Ignore subsequent responses with higher CSeq than initial CSeq. - * Unfortunately this would be broken when the first request is + * Unfortunately this would be broken when the first request is * challenged! */ //if (msg_cseq != dlg->local.first_cseq) @@ -1746,8 +1746,8 @@ static void dlg_update_routeset(pjsip_dialog *dlg, const pjsip_rx_data *rdata) PJ_LOG(5,(dlg->obj_name, "Route-set updated")); - /* Freeze the route set only when the route set comes in 2xx response. - * If it is in 1xx response, prepare to recompute the route set when + /* Freeze the route set only when the route set comes in 2xx response. + * If it is in 1xx response, prepare to recompute the route set when * the 2xx response comes in. * * There is a debate whether route set should be frozen when the dialog @@ -1755,11 +1755,11 @@ static void dlg_update_routeset(pjsip_dialog *dlg, const pjsip_rx_data *rdata) * it is safer to not freeze the route set (thus recompute the route set * upon receiving 2xx response). Also RFC 3261 says so in 13.2.2.4. * - * The pjsip_method_creates_dialog() check protects from wrongly + * The pjsip_method_creates_dialog() check protects from wrongly * freezing the route set upon receiving 200/OK response for PRACK. */ if (pjsip_method_creates_dialog(&rdata->msg_info.cseq->method) && - PJSIP_IS_STATUS_IN_CLASS(msg->line.status.code, 200)) + PJSIP_IS_STATUS_IN_CLASS(msg->line.status.code, 200)) { dlg->route_set_frozen = PJ_TRUE; PJ_LOG(5,(dlg->obj_name, "Route-set frozen")); @@ -1788,7 +1788,7 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) /* Keep the response's status code */ res_code = rdata->msg_info.msg->line.status.code; - /* When we receive response that establishes dialog, update To tag, + /* When we receive response that establishes dialog, update To tag, * route set and dialog target. * * The second condition of the "if" is a workaround for forking. @@ -1802,13 +1802,13 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) * * New update: * We also need to update the dialog for 1xx responses, to handle the - * case when 100rel is used, otherwise PRACK will be sent to the + * case when 100rel is used, otherwise PRACK will be sent to the * wrong target. */ - if ((dlg->state == PJSIP_DIALOG_STATE_NULL && + if ((dlg->state == PJSIP_DIALOG_STATE_NULL && pjsip_method_creates_dialog(&rdata->msg_info.cseq->method) && (res_code > 100 && res_code < 300) && - rdata->msg_info.to->tag.slen) + rdata->msg_info.to->tag.slen) || (dlg->role==PJSIP_ROLE_UAC && !dlg->uac_has_2xx && @@ -1819,7 +1819,7 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) { pjsip_contact_hdr *contact; - /* Update remote capability info, when To tags in the dialog remote + /* Update remote capability info, when To tags in the dialog remote * info and the incoming response are different, e.g: first response * with To-tag or forking, apply strict update. */ @@ -1833,19 +1833,19 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) /* RFC 3271 Section 12.1.2: * The route set MUST be set to the list of URIs in the Record-Route - * header field from the response, taken in reverse order and - * preserving all URI parameters. If no Record-Route header field - * is present in the response, the route set MUST be set to the + * header field from the response, taken in reverse order and + * preserving all URI parameters. If no Record-Route header field + * is present in the response, the route set MUST be set to the * empty set. This route set, even if empty, overrides any pre-existing * route set for future requests in this dialog. */ dlg_update_routeset(dlg, rdata); - /* The remote target MUST be set to the URI from the Contact header + /* The remote target MUST be set to the URI from the Contact header * field of the response. */ contact = (pjsip_contact_hdr*) - pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_CONTACT, + pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_CONTACT, NULL); if (contact && contact->uri && (dlg->remote.contact==NULL || @@ -1853,7 +1853,7 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) dlg->remote.contact->uri, contact->uri))) { - dlg->remote.contact = (pjsip_contact_hdr*) + dlg->remote.contact = (pjsip_contact_hdr*) pjsip_hdr_clone(dlg->pool, contact); dlg->target = dlg->remote.contact->uri; } @@ -1863,15 +1863,15 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) /* Prevent dialog from being updated just in case more 2xx * gets through this dialog (it shouldn't happen). */ - if (dlg->role==PJSIP_ROLE_UAC && !dlg->uac_has_2xx && - res_code/100==2) + if (dlg->role==PJSIP_ROLE_UAC && !dlg->uac_has_2xx && + res_code/100==2) { dlg->uac_has_2xx = PJ_TRUE; } } /* Update remote target (again) when receiving 2xx response messages - * that's defined as target refresh. + * that's defined as target refresh. * * Also upon receiving 2xx response, recheck again the route set. * This is for compatibility with RFC 2543, as described in Section @@ -1881,7 +1881,7 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) identifier of an existing dialog, the dialog MUST be transitioned to the "confirmed" state, and the route set for the dialog MUST be recomputed based on the 2xx response using the procedures of Section - 12.2.1.2. + 12.2.1.2. Note that the only piece of state that is recomputed is the route set. Other pieces of state such as the highest sequence numbers @@ -1896,7 +1896,7 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) pjsip_contact_hdr *contact; contact = (pjsip_contact_hdr*) pjsip_msg_find_hdr(rdata->msg_info.msg, - PJSIP_H_CONTACT, + PJSIP_H_CONTACT, NULL); if (contact && contact->uri && (dlg->remote.contact==NULL || @@ -1904,7 +1904,7 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) dlg->remote.contact->uri, contact->uri))) { - dlg->remote.contact = (pjsip_contact_hdr*) + dlg->remote.contact = (pjsip_contact_hdr*) pjsip_hdr_clone(dlg->pool, contact); dlg->target = dlg->remote.contact->uri; } @@ -1942,8 +1942,8 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) if (dlg->usage_cnt==0) { pj_status_t status; - if (rdata->msg_info.cseq->method.id==PJSIP_INVITE_METHOD && - rdata->msg_info.msg->line.status.code/100 == 2) + if (rdata->msg_info.cseq->method.id==PJSIP_INVITE_METHOD && + rdata->msg_info.msg->line.status.code/100 == 2) { pjsip_tx_data *ack; @@ -1957,11 +1957,11 @@ void pjsip_dlg_on_rx_response( pjsip_dialog *dlg, pjsip_rx_data *rdata ) { pjsip_transaction *tsx = pjsip_rdata_get_tsx(rdata); pjsip_tx_data *tdata; - - status = pjsip_auth_clt_reinit_req( &dlg->auth_sess, + + status = pjsip_auth_clt_reinit_req( &dlg->auth_sess, rdata, tsx->last_tx, &tdata); - + if (status == PJ_SUCCESS) { /* Re-send request. */ status = pjsip_dlg_send_request(dlg, tdata, -1, NULL); @@ -2014,7 +2014,7 @@ void pjsip_dlg_on_tsx_state( pjsip_dialog *dlg, * the tsx_count if we're still attached to the transaction. */ if (tsx->state == PJSIP_TSX_STATE_TERMINATED && - tsx->mod_data[dlg->ua->id] == dlg) + tsx->mod_data[dlg->ua->id] == dlg) { pj_assert(dlg->tsx_count>0); --dlg->tsx_count; @@ -2044,7 +2044,7 @@ PJ_DEF(pjsip_dialog_cap_status) pjsip_dlg_remote_has_cap( pjsip_dlg_inc_lock(dlg); - hdr = (const pjsip_generic_array_hdr*) + hdr = (const pjsip_generic_array_hdr*) pjsip_dlg_get_remote_cap_hdr(dlg, htype, hname); if (!hdr) { cap_status = PJSIP_DIALOG_CAP_UNKNOWN; @@ -2071,7 +2071,7 @@ PJ_DEF(pj_status_t) pjsip_dlg_update_remote_cap(pjsip_dialog *dlg, const pjsip_msg *msg, pj_bool_t strict) { - pjsip_hdr_e htypes[] = + pjsip_hdr_e htypes[] = { PJSIP_H_ACCEPT, PJSIP_H_ALLOW, PJSIP_H_SUPPORTED }; unsigned i; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_dialog_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_dialog_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_dialog_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_dialog_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_endpoint.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_endpoint.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_endpoint.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_endpoint.c index ae559908f6e95e8a3a18fa0d7e2ebe5dfe7204f0..68a30ecaaf90a713ae454511a4f322688cf8a023 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_endpoint.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_endpoint.c @@ -1,4 +1,4 @@ -/* $Id: sip_endpoint.c 4411 2013-03-04 04:34:38Z nanang $ */ +/* $Id: sip_endpoint.c 4704 2014-01-16 05:30:46Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -558,6 +558,7 @@ on_error: pj_mutex_destroy(endpt->mutex); endpt->mutex = NULL; } + deinit_sip_parser(); if (endpt->mod_mutex) { pj_rwmutex_destroy(endpt->mod_mutex); endpt->mod_mutex = NULL; @@ -915,12 +916,15 @@ on_return: * receives a message from the network. */ static void endpt_on_rx_msg( pjsip_endpoint *endpt, - pj_status_t status, - pjsip_rx_data *rdata ) + pj_status_t status, + pjsip_rx_data *rdata ) { + pjsip_msg *msg = rdata->msg_info.msg; pjsip_process_rdata_param proc_prm; pj_bool_t handled = PJ_FALSE; + PJ_UNUSED_ARG(msg); + if (status != PJ_SUCCESS) { char info[30]; char errmsg[PJ_ERR_MSG_SIZE]; @@ -1202,7 +1206,7 @@ PJ_DEF(void) pjsip_endpt_log_error( pjsip_endpoint *endpt, { #if PJ_LOG_MAX_LEVEL > 0 char newformat[256]; - int len; + pj_size_t len; va_list marker; va_start(marker, format); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_endpoint_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_endpoint_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_endpoint_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_endpoint_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_errno.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_errno.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_errno.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_errno.c index 211db393eb8b660e574186ae8b87093ac7701312..09a91cbf50cc84db6c6cfe808fc40d9ce8688e77 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_errno.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_errno.c @@ -1,4 +1,4 @@ -/* $Id: sip_errno.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_errno.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -204,7 +204,8 @@ PJ_DEF(pj_str_t) pjsip_strerror( pj_status_t statcode, errstr.slen = pj_ansi_snprintf(buf, bufsize, "Unknown pjsip error %d", statcode); - + if (errstr.slen < 1 || errstr.slen >= (pj_ssize_t)bufsize) + errstr.slen = bufsize - 1; return errstr; } diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_msg.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_msg.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_msg.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_msg.c index edbf3674eb2e3fd6269dc299979800e662b8a7cc..52c9010b1acaa8bfed2cb27160b8a91de9540245 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_msg.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_msg.c @@ -1,4 +1,4 @@ -/* $Id: sip_msg.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_msg.c 4550 2013-07-02 11:45:57Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -399,7 +399,7 @@ PJ_DEF(pj_ssize_t) pjsip_msg_print( const pjsip_msg *msg, char *buf, pj_size_t size) { char *p=buf, *end=buf+size; - int len; + pj_ssize_t len; pjsip_hdr *hdr; pj_str_t clen_hdr = { "Content-Length: ", 16}; @@ -497,7 +497,7 @@ PJ_DEF(pj_ssize_t) pjsip_msg_print( const pjsip_msg *msg, } pj_memcpy(p, ctype_hdr.ptr, ctype_hdr.slen); p += ctype_hdr.slen; - p += print_media_type(p, end-p, media); + p += print_media_type(p, (unsigned)(end-p), media); *p++ = '\r'; *p++ = '\n'; @@ -535,7 +535,7 @@ PJ_DEF(pj_ssize_t) pjsip_msg_print( const pjsip_msg *msg, */ if (clen_pos) { char tmp[16]; - len = pj_utoa(len, tmp); + len = pj_utoa((unsigned long)len, tmp); if (len > CLEN_SPACE) len = CLEN_SPACE; pj_memcpy(clen_pos+CLEN_SPACE-len, tmp, len); } @@ -762,7 +762,7 @@ static int pjsip_generic_string_hdr_print( pjsip_generic_string_hdr *hdr, p += hdr->hvalue.slen; *p = '\0'; - return p - buf; + return (int)(p - buf); } static pjsip_generic_string_hdr* pjsip_generic_string_hdr_clone( pj_pool_t *pool, @@ -844,7 +844,7 @@ static int pjsip_generic_int_hdr_print( pjsip_generic_int_hdr *hdr, p += pj_utoa(hdr->ivalue, p); - return p - buf; + return (int)(p - buf); } static pjsip_generic_int_hdr* pjsip_generic_int_hdr_clone( pj_pool_t *pool, @@ -923,7 +923,7 @@ static int pjsip_generic_array_hdr_print( pjsip_generic_array_hdr *hdr, } } - return p - buf; + return (int)(p - buf); } static pjsip_generic_array_hdr* pjsip_generic_array_hdr_clone( pj_pool_t *pool, @@ -1071,7 +1071,7 @@ static int pjsip_clen_hdr_print( pjsip_clen_hdr *hdr, p += len; *p = '\0'; - return p-buf; + return (int)(p-buf); } static pjsip_clen_hdr* pjsip_clen_hdr_clone( pj_pool_t *pool, const pjsip_clen_hdr *rhs) @@ -1141,7 +1141,7 @@ static int pjsip_cseq_hdr_print( pjsip_cseq_hdr *hdr, char *buf, pj_size_t size) *p = '\0'; - return p-buf; + return (int)(p-buf); } static pjsip_cseq_hdr* pjsip_cseq_hdr_clone( pj_pool_t *pool, @@ -1212,7 +1212,7 @@ static int pjsip_contact_hdr_print( pjsip_contact_hdr *hdr, char *buf, *p++ = ':'; *p++ = ' '; *p++ = '*'; - return p - buf; + return (int)(p - buf); } else { int printed; @@ -1262,15 +1262,15 @@ static int pjsip_contact_hdr_print( pjsip_contact_hdr *hdr, char *buf, buf += printed + 9; } - printed = pjsip_param_print_on(&hdr->other_param, buf, endbuf-buf, - &pc->pjsip_TOKEN_SPEC, - &pc->pjsip_TOKEN_SPEC, - ';'); + printed = (int)pjsip_param_print_on(&hdr->other_param, buf, endbuf-buf, + &pc->pjsip_TOKEN_SPEC, + &pc->pjsip_TOKEN_SPEC, + ';'); if (printed < 0) return printed; buf += printed; - return buf-startbuf; + return (int)(buf-startbuf); } } @@ -1359,7 +1359,7 @@ static int print_media_type(char *buf, unsigned len, p += printed; - return p-buf; + return (int)(p-buf); } @@ -1387,11 +1387,11 @@ static int pjsip_ctype_hdr_print( pjsip_ctype_hdr *hdr, *p++ = ':'; *p++ = ' '; - len = print_media_type(p, buf+size-p, &hdr->media); + len = print_media_type(p, (unsigned)(buf+size-p), &hdr->media); p += len; *p = '\0'; - return p-buf; + return (int)(p-buf); } static pjsip_ctype_hdr* pjsip_ctype_hdr_clone( pj_pool_t *pool, @@ -1511,7 +1511,7 @@ PJ_DEF(pjsip_to_hdr*) pjsip_fromto_hdr_set_to( pjsip_fromto_hdr *hdr ) static int pjsip_fromto_hdr_print( pjsip_fromto_hdr *hdr, char *buf, pj_size_t size) { - int printed; + pj_ssize_t printed; char *startbuf = buf; char *endbuf = buf + size; const pj_str_t *hname = pjsip_use_compact_form? &hdr->sname : &hdr->name; @@ -1538,7 +1538,7 @@ static int pjsip_fromto_hdr_print( pjsip_fromto_hdr *hdr, return -1; buf += printed; - return buf-startbuf; + return (int)(buf-startbuf); } static pjsip_fromto_hdr* pjsip_fromto_hdr_clone( pj_pool_t *pool, @@ -1692,7 +1692,7 @@ PJ_DEF(pjsip_route_hdr*) pjsip_routing_hdr_set_route( pjsip_routing_hdr *hdr ) static int pjsip_routing_hdr_print( pjsip_routing_hdr *hdr, char *buf, pj_size_t size ) { - int printed; + pj_ssize_t printed; char *startbuf = buf; char *endbuf = buf + size; const pjsip_parser_const_t *pc = pjsip_parser_const(); @@ -1734,7 +1734,7 @@ static int pjsip_routing_hdr_print( pjsip_routing_hdr *hdr, return -1; buf += printed; - return buf-startbuf; + return (int)(buf-startbuf); } static pjsip_routing_hdr* pjsip_routing_hdr_clone( pj_pool_t *pool, @@ -1831,7 +1831,7 @@ static int pjsip_retry_after_hdr_print(pjsip_retry_after_hdr *hdr, char *endbuf = buf + size; const pj_str_t *hname = &hdr->name; const pjsip_parser_const_t *pc = pjsip_parser_const(); - int printed; + pj_ssize_t printed; if ((pj_ssize_t)size < hdr->name.slen + 2+11) return -1; @@ -1866,11 +1866,11 @@ static int pjsip_retry_after_hdr_print(pjsip_retry_after_hdr *hdr, &pc->pjsip_TOKEN_SPEC, ';'); if (printed < 0) - return printed; + return (int)printed; p += printed; - return p - buf; + return (int)(p - buf); } static pjsip_retry_after_hdr* pjsip_retry_after_hdr_clone(pj_pool_t *pool, @@ -1976,7 +1976,7 @@ PJ_DEF(pjsip_via_hdr*) pjsip_via_hdr_create( pj_pool_t *pool ) static int pjsip_via_hdr_print( pjsip_via_hdr *hdr, char *buf, pj_size_t size) { - int printed; + pj_ssize_t printed; char *startbuf = buf; char *endbuf = buf + size; pj_str_t sip_ver = { "SIP/2.0/", 8 }; @@ -2064,7 +2064,7 @@ static int pjsip_via_hdr_print( pjsip_via_hdr *hdr, return -1; buf += printed; - return buf-startbuf; + return (int)(buf-startbuf); } static pjsip_via_hdr* pjsip_via_hdr_clone( pj_pool_t *pool, @@ -2208,7 +2208,7 @@ PJ_DEF(pjsip_msg_body*) pjsip_msg_body_create( pj_pool_t *pool, body->data = pj_pool_alloc(pool, text->slen); pj_memcpy(body->data, text->ptr, text->slen); - body->len = text->slen; + body->len = (unsigned)text->slen; body->clone_data = &pjsip_clone_text_data; body->print_body = &pjsip_print_text_body; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_multipart.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_multipart.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_multipart.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_multipart.c index 8fa9d7511aa517a82a704c6222e3fbcbe1963139..3c36df432e121a6c082d094815542f71628809b4 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_multipart.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_multipart.c @@ -1,4 +1,4 @@ -/* $Id: sip_multipart.c 3841 2011-10-24 09:28:13Z ming $ */ +/* $Id: sip_multipart.c 4792 2014-03-13 09:33:32Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * @@ -109,7 +109,7 @@ static int multipart_print_body(struct pjsip_msg_body *msg_body, } pj_memcpy(p, ctype_hdr.ptr, ctype_hdr.slen); p += ctype_hdr.slen; - p += pjsip_media_type_print(p, end-p, media); + p += pjsip_media_type_print(p, (unsigned)(end-p), media); *p++ = '\r'; *p++ = '\n'; @@ -168,7 +168,7 @@ static int multipart_print_body(struct pjsip_msg_body *msg_body, #undef SIZE_LEFT - return p - buf; + return (int)(p - buf); } static void* multipart_clone_data(pj_pool_t *pool, const void *data, @@ -182,6 +182,7 @@ static void* multipart_clone_data(pj_pool_t *pool, const void *data, src = (const struct multipart_data*) data; dst = PJ_POOL_ALLOC_T(pool, struct multipart_data); + pj_list_init(&dst->part_head); pj_strdup(pool, &dst->boundary, &src->boundary); @@ -489,7 +490,7 @@ static pjsip_multipart_part *parse_multipart_part(pj_pool_t *pool, if (start_body < end) { part->body->data = start_body; - part->body->len = end - start_body; + part->body->len = (unsigned)(end - start_body); } else { part->body->data = (void*)""; part->body->len = 0; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_parser.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_parser.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_parser.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_parser.c index 26f4aca4fd6ad48be40c188c68b3b60a7b7f984a..2709a80e95448d769dce2b5d693989b88c2b6c34 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_parser.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_parser.c @@ -1,4 +1,4 @@ -/* $Id: sip_parser.c 4288 2012-10-26 09:30:37Z bennylp $ */ +/* $Id: sip_parser.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -245,13 +245,13 @@ PJ_DEF(void) pjsip_concat_param_imp(pj_str_t *param, pj_pool_t *pool, int sepchar) { char *new_param, *p; - int len; + pj_size_t len; len = param->slen + pname->slen + pvalue->slen + 3; p = new_param = (char*) pj_pool_alloc(pool, len); if (param->slen) { - int old_len = param->slen; + pj_size_t old_len = param->slen; pj_memcpy(p, param->ptr, old_len); p += old_len; } @@ -560,7 +560,7 @@ static pj_status_t int_register_parser( const char *name, rec.hname[rec.hname_len] = '\0'; /* Calculate hash value. */ - rec.hname_hash = pj_hash_calc(0, rec.hname, rec.hname_len); + rec.hname_hash = pj_hash_calc(0, rec.hname, (unsigned)rec.hname_len); /* Get the pos to insert the new handler. */ for (pos=0; pos < handler_count; ++pos) { @@ -595,7 +595,8 @@ PJ_DEF(pj_status_t) pjsip_register_hdr_parser( const char *hname, const char *hshortname, pjsip_parse_hdr_func *fptr) { - unsigned i, len; + unsigned i; + pj_size_t len; char hname_lcase[PJSIP_MAX_HNAME_LEN+1]; pj_status_t status; @@ -681,7 +682,7 @@ static pjsip_parse_hdr_func* find_handler(const pj_str_t *hname) } /* First, common case, try to find handler with exact name */ - hash = pj_hash_calc(0, hname->ptr, hname->slen); + hash = pj_hash_calc(0, hname->ptr, (unsigned)hname->slen); handler = find_handler_imp(hash, hname); if (handler) return handler; @@ -1064,7 +1065,7 @@ parse_headers: &ctype_hdr->media); body->data = scanner->curptr; - body->len = scanner->end - scanner->curptr; + body->len = (unsigned)(scanner->end - scanner->curptr); body->print_body = &pjsip_print_text_body; body->clone_data = &pjsip_clone_text_data; } @@ -1684,6 +1685,14 @@ end: parse_hdr_end(scanner); } +/* Parse generic array header. */ +PJ_DEF(void) pjsip_parse_generic_array_hdr_imp( pjsip_generic_array_hdr *hdr, + pj_scanner *scanner) +{ + parse_generic_array_hdr(hdr, scanner); +} + + /* Parse generic string header. */ static void parse_generic_string_hdr( pjsip_generic_string_hdr *hdr, pjsip_parse_ctx *ctx) @@ -2270,7 +2279,7 @@ PJ_DEF(void*) pjsip_parse_hdr( pj_pool_t *pool, const pj_str_t *hname, PJ_END if (parsed_len) { - *parsed_len = (scanner.curptr - scanner.begin); + *parsed_len = (unsigned)(scanner.curptr - scanner.begin); } pj_scan_fini(&scanner); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_parser_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_parser_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_parser_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_parser_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_resolve.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_resolve.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_resolve.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_resolve.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_tel_uri.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_tel_uri.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_tel_uri.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_tel_uri.c index b98db579d07064a58e6294b85378945c697b7012..57c8e3b387682baf9512188b2713c31d766bd6fe 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_tel_uri.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_tel_uri.c @@ -1,4 +1,4 @@ -/* $Id: sip_tel_uri.c 4322 2013-01-17 10:09:09Z bennylp $ */ +/* $Id: sip_tel_uri.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -210,9 +210,9 @@ static pj_ssize_t tel_uri_print( pjsip_uri_context_e context, /* Print other parameters. */ - printed = pjsip_param_print_on(&uri->other_param, buf, (endbuf-buf), - &pjsip_TEL_PNAME_SPEC, - &pjsip_TEL_PVALUE_SPEC, ';'); + printed = (int)pjsip_param_print_on(&uri->other_param, buf, (endbuf-buf), + &pjsip_TEL_PNAME_SPEC, + &pjsip_TEL_PVALUE_SPEC, ';'); if (printed < 0) return -1; buf += printed; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_tel_uri_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_tel_uri_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_tel_uri_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_tel_uri_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transaction.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transaction.c similarity index 83% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transaction.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transaction.c index 1321d9fd1311162188b11120dd7c17c6c7739722..b684b288e1fb0ea72bbac60d69321d1264a3bdce 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transaction.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transaction.c @@ -1,4 +1,4 @@ -/* $Id: sip_transaction.c 4208 2012-07-18 07:52:33Z ming $ */ +/* $Id: sip_transaction.c 4787 2014-03-11 02:50:36Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -27,6 +27,7 @@ #include <pj/hash.h> #include <pj/pool.h> #include <pj/os.h> +#include <pj/rand.h> #include <pj/string.h> #include <pj/assert.h> #include <pj/guid.h> @@ -90,9 +91,6 @@ static struct mod_tsx_layer } }; -/* Thread Local Storage ID for transaction lock */ -static long pjsip_tsx_lock_tls_id; - /* Transaction state names */ static const char *state_str[] = { @@ -123,14 +121,6 @@ enum TSX_HAS_RESOLVED_SERVER = 16, }; -/* Transaction lock. */ -typedef struct tsx_lock_data { - struct tsx_lock_data *prev; - pjsip_transaction *tsx; - int is_alive; -} tsx_lock_data; - - /* Timer timeout value constants */ static pj_time_val t1_timer_val = { PJSIP_T1_TIMEOUT/1000, PJSIP_T1_TIMEOUT%1000 }; @@ -143,14 +133,13 @@ static pj_time_val td_timer_val = { PJSIP_TD_TIMEOUT/1000, static pj_time_val timeout_timer_val = { (64*PJSIP_T1_TIMEOUT)/1000, (64*PJSIP_T1_TIMEOUT)%1000 }; -#define TIMER_INACTIVE 0 -#define TIMER_ACTIVE 1 +#define TIMER_INACTIVE 0 +#define RETRANSMIT_TIMER 1 +#define TIMEOUT_TIMER 2 +#define TRANSPORT_ERR_TIMER 3 /* Prototypes. */ -static void lock_tsx(pjsip_transaction *tsx, struct tsx_lock_data *lck); -static pj_status_t unlock_tsx( pjsip_transaction *tsx, - struct tsx_lock_data *lck); static pj_status_t tsx_on_state_null( pjsip_transaction *tsx, pjsip_event *event); static pj_status_t tsx_on_state_calling( pjsip_transaction *tsx, @@ -177,9 +166,21 @@ static void tsx_tp_state_callback( pjsip_transport *tp, pjsip_transport_state state, const pjsip_transport_state_info *info); +static void tsx_set_state( pjsip_transaction *tsx, + pjsip_tsx_state_e state, + pjsip_event_id_e event_src_type, + void *event_src ); +static void tsx_set_state_no_notify( pjsip_transaction *tsx, + pjsip_tsx_state_e state, + pjsip_event_id_e event_src_type, + void *event_src ); +static void tsx_set_status_code(pjsip_transaction *tsx, + int code, const pj_str_t *reason); static pj_status_t tsx_create( pjsip_module *tsx_user, + pj_grp_lock_t *grp_lock, pjsip_transaction **p_tsx); -static pj_status_t tsx_destroy( pjsip_transaction *tsx ); +static void tsx_on_destroy(void *arg); +static pj_status_t tsx_shutdown( pjsip_transaction *tsx ); static void tsx_resched_retransmission( pjsip_transaction *tsx ); static pj_status_t tsx_retransmit( pjsip_transaction *tsx, int resched); static int tsx_send_msg( pjsip_transaction *tsx, @@ -270,10 +271,9 @@ static pj_status_t create_tsx_key_2543( pj_pool_t *pool, const pjsip_rx_data *rdata ) { #define SEPARATOR '$' - char *key, *p, *end; - int len; + char *key, *p; + pj_ssize_t len; pj_size_t len_required; - pjsip_uri *req_uri; pj_str_t *host; PJ_ASSERT_RETURN(pool && str && method && rdata, PJ_EINVAL); @@ -283,7 +283,6 @@ static pj_status_t create_tsx_key_2543( pj_pool_t *pool, PJ_ASSERT_RETURN(rdata->msg_info.from, PJSIP_EMISSINGHDR); host = &rdata->msg_info.via->sent_by.host; - req_uri = (pjsip_uri*)rdata->msg_info.msg->line.req.uri; /* Calculate length required. */ len_required = 9 + /* CSeq number */ @@ -293,7 +292,6 @@ static pj_status_t create_tsx_key_2543( pj_pool_t *pool, 9 + /* Via port. */ 16; /* Separator+Allowance. */ key = p = (char*) pj_pool_alloc(pool, len_required); - end = p + len_required; /* Add role. */ *p++ = (char)(role==PJSIP_ROLE_UAC ? 'c' : 's'); @@ -451,13 +449,6 @@ PJ_DEF(pj_status_t) pjsip_tsx_layer_init_module(pjsip_endpoint *endpt) //timeout_timer_val.msec = (64 * pjsip_cfg()->tsx.t1) % 1000; timeout_timer_val = td_timer_val; - /* Initialize TLS ID for transaction lock. */ - status = pj_thread_local_alloc(&pjsip_tsx_lock_tls_id); - if (status != PJ_SUCCESS) - return status; - - pj_thread_local_set(pjsip_tsx_lock_tls_id, NULL); - /* * Initialize transaction layer structure. */ @@ -482,7 +473,7 @@ PJ_DEF(pj_status_t) pjsip_tsx_layer_init_module(pjsip_endpoint *endpt) return PJ_ENOMEM; } - /* Create mutex. */ + /* Create group lock. */ status = pj_mutex_create_recursive(pool, "tsxlayer", &mod_tsx_layer.mutex); if (status != PJ_SUCCESS) { pjsip_endpt_release_pool(endpt, pool); @@ -550,7 +541,7 @@ static pj_status_t mod_tsx_layer_register_tsx( pjsip_transaction *tsx) */ if(pj_hash_get_lower(mod_tsx_layer.htable, tsx->transaction_key.ptr, - tsx->transaction_key.slen, + (unsigned)tsx->transaction_key.slen, NULL)) { pj_mutex_unlock(mod_tsx_layer.mutex); @@ -570,7 +561,8 @@ static pj_status_t mod_tsx_layer_register_tsx( pjsip_transaction *tsx) #ifdef PRECALC_HASH pj_hash_set_lower( tsx->pool, mod_tsx_layer.htable, tsx->transaction_key.ptr, - tsx->transaction_key.slen, tsx->hashed_key, tsx); + (unsigned)tsx->transaction_key.slen, + tsx->hashed_key, tsx); #else pj_hash_set_lower( tsx->pool, mod_tsx_layer.htable, tsx->transaction_key.ptr, @@ -607,7 +599,8 @@ static void mod_tsx_layer_unregister_tsx( pjsip_transaction *tsx) /* Register the transaction to the hash table. */ #ifdef PRECALC_HASH pj_hash_set_lower( NULL, mod_tsx_layer.htable, tsx->transaction_key.ptr, - tsx->transaction_key.slen, tsx->hashed_key, NULL); + (unsigned)tsx->transaction_key.slen, tsx->hashed_key, + NULL); #else pj_hash_set_lower( NULL, mod_tsx_layer.htable, tsx->transaction_key.ptr, tsx->transaction_key.slen, 0, NULL); @@ -653,20 +646,27 @@ PJ_DEF(pjsip_transaction*) pjsip_tsx_layer_find_tsx( const pj_str_t *key, pj_mutex_lock(mod_tsx_layer.mutex); tsx = (pjsip_transaction*) - pj_hash_get_lower( mod_tsx_layer.htable, key->ptr, key->slen, - &hval ); + pj_hash_get_lower( mod_tsx_layer.htable, key->ptr, + (unsigned)key->slen, &hval ); + + /* Prevent the transaction to get deleted before we have chance to lock it. + */ + if (tsx && lock) + pj_grp_lock_add_ref(tsx->grp_lock); + pj_mutex_unlock(mod_tsx_layer.mutex); TSX_TRACE_((THIS_FILE, "Finding tsx with hkey=0x%p and key=%.*s: found %p", hval, key->slen, key->ptr, tsx)); - /* Race condition! - * Transaction may gets deleted before we have chance to lock it. - */ - PJ_TODO(FIX_RACE_CONDITION_HERE); - if (tsx && lock) - pj_mutex_lock(tsx->mutex); + /* Simulate race condition! */ + PJ_RACE_ME(5); + + if (tsx && lock) { + pj_grp_lock_acquire(tsx->grp_lock); + pj_grp_lock_dec_ref(tsx->grp_lock); + } return tsx; } @@ -711,7 +711,7 @@ static pj_status_t mod_tsx_layer_stop(void) if (tsx) { pjsip_tsx_terminate(tsx, PJSIP_SC_SERVICE_UNAVAILABLE); mod_tsx_layer_unregister_tsx(tsx); - tsx_destroy(tsx); + tsx_shutdown(tsx); } it = next; } @@ -735,9 +735,6 @@ static void tsx_layer_destroy(pjsip_endpoint *endpt) /* Release pool. */ pjsip_endpt_release_pool(mod_tsx_layer.endpt, mod_tsx_layer.pool); - /* Free TLS */ - pj_thread_local_free(pjsip_tsx_lock_tls_id); - /* Mark as unregistered. */ mod_tsx_layer.endpt = NULL; @@ -788,7 +785,8 @@ static pj_bool_t mod_tsx_layer_on_rx_request(pjsip_rx_data *rdata) pj_mutex_lock( mod_tsx_layer.mutex ); tsx = (pjsip_transaction*) - pj_hash_get_lower( mod_tsx_layer.htable, key.ptr, key.slen, &hval ); + pj_hash_get_lower( mod_tsx_layer.htable, key.ptr, (unsigned)key.slen, + &hval ); TSX_TRACE_((THIS_FILE, @@ -805,17 +803,21 @@ static pj_bool_t mod_tsx_layer_on_rx_request(pjsip_rx_data *rdata) return PJ_FALSE; } + /* Prevent the transaction to get deleted before we have chance to lock it + * in pjsip_tsx_recv_msg(). + */ + pj_grp_lock_add_ref(tsx->grp_lock); + /* Unlock hash table. */ pj_mutex_unlock( mod_tsx_layer.mutex ); - /* Race condition! - * Transaction may gets deleted before we have chance to lock it - * in pjsip_tsx_recv_msg(). - */ - PJ_TODO(FIX_RACE_CONDITION_HERE); + /* Simulate race condition! */ + PJ_RACE_ME(5); /* Pass the message to the transaction. */ pjsip_tsx_recv_msg(tsx, rdata ); + + pj_grp_lock_dec_ref(tsx->grp_lock); return PJ_TRUE; } @@ -837,7 +839,8 @@ static pj_bool_t mod_tsx_layer_on_rx_response(pjsip_rx_data *rdata) pj_mutex_lock( mod_tsx_layer.mutex ); tsx = (pjsip_transaction*) - pj_hash_get_lower( mod_tsx_layer.htable, key.ptr, key.slen, &hval ); + pj_hash_get_lower( mod_tsx_layer.htable, key.ptr, (unsigned)key.slen, + &hval ); TSX_TRACE_((THIS_FILE, @@ -854,17 +857,21 @@ static pj_bool_t mod_tsx_layer_on_rx_response(pjsip_rx_data *rdata) return PJ_FALSE; } + /* Prevent the transaction to get deleted before we have chance to lock it + * in pjsip_tsx_recv_msg(). + */ + pj_grp_lock_add_ref(tsx->grp_lock); + /* Unlock hash table. */ pj_mutex_unlock( mod_tsx_layer.mutex ); - /* Race condition! - * Transaction may gets deleted before we have chance to lock it - * in pjsip_tsx_recv_msg(). - */ - PJ_TODO(FIX_RACE_CONDITION_HERE); + /* Simulate race condition! */ + PJ_RACE_ME(5); /* Pass the message to the transaction. */ pjsip_tsx_recv_msg(tsx, rdata ); + + pj_grp_lock_dec_ref(tsx->grp_lock); return PJ_TRUE; } @@ -928,43 +935,6 @@ PJ_DEF(void) pjsip_tsx_layer_dump(pj_bool_t detail) ** ***************************************************************************** **/ -/* - * Lock transaction and set the value of Thread Local Storage. - */ -static void lock_tsx(pjsip_transaction *tsx, struct tsx_lock_data *lck) -{ - struct tsx_lock_data *prev_data; - - pj_mutex_lock(tsx->mutex); - prev_data = (struct tsx_lock_data *) - pj_thread_local_get(pjsip_tsx_lock_tls_id); - lck->prev = prev_data; - lck->tsx = tsx; - lck->is_alive = 1; - pj_thread_local_set(pjsip_tsx_lock_tls_id, lck); -} - - -/* - * Unlock transaction. - * This will selectively unlock the mutex ONLY IF the transaction has not been - * destroyed. The function knows whether the transaction has been destroyed - * because when transaction is destroyed the is_alive flag for the transaction - * will be set to zero. - */ -static pj_status_t unlock_tsx( pjsip_transaction *tsx, - struct tsx_lock_data *lck) -{ - pj_assert( (void*)pj_thread_local_get(pjsip_tsx_lock_tls_id) == lck); - pj_assert( lck->tsx == tsx ); - pj_thread_local_set(pjsip_tsx_lock_tls_id, lck->prev); - if (lck->is_alive) - pj_mutex_unlock(tsx->mutex); - - return lck->is_alive ? PJ_SUCCESS : PJSIP_ETSXDESTROYED; -} - - /* Lock transaction for accessing the timeout timer only. */ static void lock_timer(pjsip_transaction *tsx) { @@ -977,10 +947,36 @@ static void unlock_timer(pjsip_transaction *tsx) pj_mutex_unlock(tsx->mutex_b); } +/* Utility: schedule a timer */ +static pj_status_t tsx_schedule_timer(pjsip_transaction *tsx, + pj_timer_entry *entry, + const pj_time_val *delay, + int active_id) +{ + pj_timer_heap_t *timer_heap = pjsip_endpt_get_timer_heap(tsx->endpt); + pj_status_t status; + + pj_assert(active_id != 0); + status = pj_timer_heap_schedule_w_grp_lock(timer_heap, entry, + delay, active_id, + tsx->grp_lock); + + return status; +} + +/* Utility: cancel a timer */ +static int tsx_cancel_timer(pjsip_transaction *tsx, + pj_timer_entry *entry) +{ + pj_timer_heap_t *timer_heap = pjsip_endpt_get_timer_heap(tsx->endpt); + return pj_timer_heap_cancel_if_active(timer_heap, entry, TIMER_INACTIVE); +} + /* Create and initialize basic transaction structure. * This function is called by both UAC and UAS creation. */ static pj_status_t tsx_create( pjsip_module *tsx_user, + pj_grp_lock_t *grp_lock, pjsip_transaction **p_tsx) { pj_pool_t *pool; @@ -1002,23 +998,29 @@ static pj_status_t tsx_create( pjsip_module *tsx_user, pj_memcpy(pool->obj_name, tsx->obj_name, sizeof(pool->obj_name)); tsx->handle_200resp = 1; - tsx->retransmit_timer.id = 0; + tsx->retransmit_timer.id = TIMER_INACTIVE; tsx->retransmit_timer.user_data = tsx; tsx->retransmit_timer.cb = &tsx_timer_callback; - tsx->timeout_timer.id = 0; + tsx->timeout_timer.id = TIMER_INACTIVE; tsx->timeout_timer.user_data = tsx; tsx->timeout_timer.cb = &tsx_timer_callback; - status = pj_mutex_create_recursive(pool, tsx->obj_name, &tsx->mutex); - if (status != PJ_SUCCESS) { - pjsip_endpt_release_pool(mod_tsx_layer.endpt, pool); - return status; + if (grp_lock) { + tsx->grp_lock = grp_lock; + } else { + status = pj_grp_lock_create(pool, NULL, &tsx->grp_lock); + if (status != PJ_SUCCESS) { + pjsip_endpt_release_pool(mod_tsx_layer.endpt, pool); + return status; + } } + pj_grp_lock_add_ref(tsx->grp_lock); + pj_grp_lock_add_handler(tsx->grp_lock, tsx->pool, tsx, &tsx_on_destroy); + status = pj_mutex_create_simple(pool, tsx->obj_name, &tsx->mutex_b); if (status != PJ_SUCCESS) { - pj_mutex_destroy(tsx->mutex); - pjsip_endpt_release_pool(mod_tsx_layer.endpt, pool); + tsx_shutdown(tsx); return status; } @@ -1026,17 +1028,28 @@ static pj_status_t tsx_create( pjsip_module *tsx_user, return PJ_SUCCESS; } - -/* Destroy transaction. */ -static pj_status_t tsx_destroy( pjsip_transaction *tsx ) +/* Really destroy transaction, when grp_lock reference is zero */ +static void tsx_on_destroy( void *arg ) { - struct tsx_lock_data *lck; + pjsip_transaction *tsx = (pjsip_transaction*)arg; + + PJ_LOG(5,(tsx->obj_name, "Transaction destroyed!")); + + pj_mutex_destroy(tsx->mutex_b); + pjsip_endpt_release_pool(tsx->endpt, tsx->pool); +} +/* Shutdown transaction. */ +static pj_status_t tsx_shutdown( pjsip_transaction *tsx ) +{ /* Release the transport */ tsx_update_transport(tsx, NULL); - /* Decrement reference counter in transport selector */ - pjsip_tpselector_dec_ref(&tsx->tp_sel); + /* Decrement reference counter in transport selector, only if + * we haven't been called before */ + if (!tsx->terminating) { + pjsip_tpselector_dec_ref(&tsx->tp_sel); + } /* Free last transmitted message. */ if (tsx->last_tx) { @@ -1044,74 +1057,104 @@ static pj_status_t tsx_destroy( pjsip_transaction *tsx ) tsx->last_tx = NULL; } /* Cancel timeout timer. */ - if (tsx->timeout_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->timeout_timer); - tsx->timeout_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->timeout_timer); + /* Cancel retransmission timer. */ - if (tsx->retransmit_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); /* Clear some pending flags. */ tsx->transport_flag &= ~(TSX_HAS_PENDING_RESCHED | TSX_HAS_PENDING_SEND); + /* Refuse to destroy transaction if it has pending resolving. */ if (tsx->transport_flag & TSX_HAS_PENDING_TRANSPORT) { tsx->transport_flag |= TSX_HAS_PENDING_DESTROY; tsx->tsx_user = NULL; PJ_LOG(4,(tsx->obj_name, "Will destroy later because transport is " "in progress")); - return PJ_EBUSY; } - /* Clear TLS, so that mutex will not be unlocked */ - lck = (struct tsx_lock_data*) pj_thread_local_get(pjsip_tsx_lock_tls_id); - while (lck) { - if (lck->tsx == tsx) { - lck->is_alive = 0; - } - lck = lck->prev; + if (!tsx->terminating) { + tsx->terminating = PJ_TRUE; + pj_grp_lock_dec_ref(tsx->grp_lock); } - pj_mutex_destroy(tsx->mutex_b); - pj_mutex_destroy(tsx->mutex); - - PJ_LOG(5,(tsx->obj_name, "Transaction destroyed!")); - - pjsip_endpt_release_pool(tsx->endpt, tsx->pool); + /* No acccess to tsx after this, it may have been destroyed */ return PJ_SUCCESS; } /* - * Callback when timer expires. + * Callback when timer expires. Transport error also piggybacks this event + * to avoid deadlock (https://trac.pjsip.org/repos/ticket/1646). */ static void tsx_timer_callback( pj_timer_heap_t *theap, pj_timer_entry *entry) { - pjsip_event event; pjsip_transaction *tsx = (pjsip_transaction*) entry->user_data; - struct tsx_lock_data lck; PJ_UNUSED_ARG(theap); - entry->id = 0; - - PJ_LOG(5,(tsx->obj_name, "%s timer event", - (entry==&tsx->retransmit_timer ? "Retransmit":"Timeout"))); - pj_log_push_indent(); + if (entry->id == TRANSPORT_ERR_TIMER) { + /* Posted transport error event */ + entry->id = 0; + if (tsx->state < PJSIP_TSX_STATE_TERMINATED) { + pjsip_tsx_state_e prev_state; + pj_grp_lock_acquire(tsx->grp_lock); + prev_state = tsx->state; - PJSIP_EVENT_INIT_TIMER(event, entry); + /* Release transport as it's no longer working. */ + tsx_update_transport(tsx, NULL); - /* Dispatch event to transaction. */ - lock_tsx(tsx, &lck); - (*tsx->state_handler)(tsx, &event); - unlock_tsx(tsx, &lck); + if (tsx->status_code < 200) { + pj_str_t err; + char errmsg[PJ_ERR_MSG_SIZE]; - pj_log_pop_indent(); + err = pj_strerror(tsx->transport_err, errmsg, sizeof(errmsg)); + tsx_set_status_code(tsx, PJSIP_SC_TSX_TRANSPORT_ERROR, &err); + } + + /* Set transaction state etc, but don't notify TU now, + * otherwise we'll get a deadlock. See: + * https://trac.pjsip.org/repos/ticket/1646 + */ + tsx_set_state_no_notify( tsx, PJSIP_TSX_STATE_TERMINATED, + PJSIP_EVENT_TRANSPORT_ERROR, NULL); + pj_grp_lock_release(tsx->grp_lock); + + /* Now notify TU about state change, WITHOUT holding the + * group lock. It should be safe to do so; transaction will + * not get destroyed because group lock reference counter + * has been incremented by the timer heap. + */ + if (tsx->tsx_user && tsx->tsx_user->on_tsx_state) { + pjsip_event e; + PJSIP_EVENT_INIT_TSX_STATE(e, tsx, + PJSIP_EVENT_TRANSPORT_ERROR, NULL, + prev_state); + (*tsx->tsx_user->on_tsx_state)(tsx, &e); + } + } + } else { + pjsip_event event; + + entry->id = 0; + + PJ_LOG(5,(tsx->obj_name, "%s timer event", + (entry==&tsx->retransmit_timer ? "Retransmit":"Timeout"))); + pj_log_push_indent(); + + + PJSIP_EVENT_INIT_TIMER(event, entry); + + /* Dispatch event to transaction. */ + pj_grp_lock_acquire(tsx->grp_lock); + (*tsx->state_handler)(tsx, &event); + pj_grp_lock_release(tsx->grp_lock); + + pj_log_pop_indent(); + } } @@ -1189,17 +1232,8 @@ static void tsx_set_state( pjsip_transaction *tsx, } lock_timer(tsx); - - /* Cancel timeout timer. */ - if (tsx->timeout_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->timeout_timer); - tsx->timeout_timer.id = 0; - } - - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer( tsx->endpt, &tsx->timeout_timer, - &timeout); - + tsx_cancel_timer(tsx, &tsx->timeout_timer); + tsx_schedule_timer( tsx, &tsx->timeout_timer, &timeout, TIMEOUT_TIMER); unlock_timer(tsx); } else if (state == PJSIP_TSX_STATE_DESTROYED) { @@ -1208,12 +1242,23 @@ static void tsx_set_state( pjsip_transaction *tsx, mod_tsx_layer_unregister_tsx(tsx); /* Destroy transaction. */ - tsx_destroy(tsx); + tsx_shutdown(tsx); } pj_log_pop_indent(); } +/* Set transaction state without notifying tsx_user */ +static void tsx_set_state_no_notify( pjsip_transaction *tsx, + pjsip_tsx_state_e state, + pjsip_event_id_e event_src_type, + void *event_src ) +{ + pjsip_module *tsx_user = tsx->tsx_user; + tsx->tsx_user = NULL; + tsx_set_state(tsx, state, event_src_type, event_src); + tsx->tsx_user = tsx_user; +} /* * Create, initialize, and register UAC transaction. @@ -1221,13 +1266,20 @@ static void tsx_set_state( pjsip_transaction *tsx, PJ_DEF(pj_status_t) pjsip_tsx_create_uac( pjsip_module *tsx_user, pjsip_tx_data *tdata, pjsip_transaction **p_tsx) +{ + return pjsip_tsx_create_uac2(tsx_user, tdata, NULL, p_tsx); +} + +PJ_DEF(pj_status_t) pjsip_tsx_create_uac2(pjsip_module *tsx_user, + pjsip_tx_data *tdata, + pj_grp_lock_t *grp_lock, + pjsip_transaction **p_tsx) { pjsip_transaction *tsx; pjsip_msg *msg; pjsip_cseq_hdr *cseq; pjsip_via_hdr *via; pjsip_host_info dst_info; - struct tsx_lock_data lck; pj_status_t status; /* Validate arguments. */ @@ -1251,13 +1303,13 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uac( pjsip_module *tsx_user, /* Create transaction instance. */ - status = tsx_create( tsx_user, &tsx); + status = tsx_create( tsx_user, grp_lock, &tsx); if (status != PJ_SUCCESS) return status; /* Lock transaction. */ - lock_tsx(tsx, &lck); + pj_grp_lock_acquire(tsx->grp_lock); /* Role is UAC. */ tsx->role = PJSIP_ROLE_UAC; @@ -1323,8 +1375,8 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uac( pjsip_module *tsx_user, */ status = pjsip_get_request_dest(tdata, &dst_info); if (status != PJ_SUCCESS) { - unlock_tsx(tsx, &lck); - tsx_destroy(tsx); + pj_grp_lock_release(tsx->grp_lock); + tsx_shutdown(tsx); return status; } tsx->is_reliable = (dst_info.flag & PJSIP_TRANSPORT_RELIABLE); @@ -1335,14 +1387,14 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uac( pjsip_module *tsx_user, /* The assertion is removed by #1090: pj_assert(!"Bug in branch_param generator (i.e. not unique)"); */ - unlock_tsx(tsx, &lck); - tsx_destroy(tsx); + pj_grp_lock_release(tsx->grp_lock); + tsx_shutdown(tsx); return status; } /* Unlock transaction and return. */ - unlock_tsx(tsx, &lck); + pj_grp_lock_release(tsx->grp_lock); pj_log_push_indent(); PJ_LOG(5,(tsx->obj_name, "Transaction created for %s", @@ -1360,13 +1412,20 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uac( pjsip_module *tsx_user, PJ_DEF(pj_status_t) pjsip_tsx_create_uas( pjsip_module *tsx_user, pjsip_rx_data *rdata, pjsip_transaction **p_tsx) +{ + return pjsip_tsx_create_uas2(tsx_user, rdata, NULL, p_tsx); +} + +PJ_DEF(pj_status_t) pjsip_tsx_create_uas2(pjsip_module *tsx_user, + pjsip_rx_data *rdata, + pj_grp_lock_t *grp_lock, + pjsip_transaction **p_tsx) { pjsip_transaction *tsx; pjsip_msg *msg; pj_str_t *branch; pjsip_cseq_hdr *cseq; pj_status_t status; - struct tsx_lock_data lck; /* Validate arguments. */ PJ_ASSERT_RETURN(rdata && rdata->msg_info.msg && p_tsx, PJ_EINVAL); @@ -1404,13 +1463,13 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uas( pjsip_module *tsx_user, /* * Create transaction instance. */ - status = tsx_create( tsx_user, &tsx); + status = tsx_create( tsx_user, grp_lock, &tsx); if (status != PJ_SUCCESS) return status; /* Lock transaction. */ - lock_tsx(tsx, &lck); + pj_grp_lock_acquire(tsx->grp_lock); /* Role is UAS */ tsx->role = PJSIP_ROLE_UAS; @@ -1427,8 +1486,8 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uas( pjsip_module *tsx_user, status = pjsip_tsx_create_key(tsx->pool, &tsx->transaction_key, PJSIP_ROLE_UAS, &tsx->method, rdata); if (status != PJ_SUCCESS) { - unlock_tsx(tsx, &lck); - tsx_destroy(tsx); + pj_grp_lock_release(tsx->grp_lock); + tsx_shutdown(tsx); return status; } @@ -1454,8 +1513,8 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uas( pjsip_module *tsx_user, /* Get response address. */ status = pjsip_get_response_addr( tsx->pool, rdata, &tsx->res_addr ); if (status != PJ_SUCCESS) { - unlock_tsx(tsx, &lck); - tsx_destroy(tsx); + pj_grp_lock_release(tsx->grp_lock); + tsx_shutdown(tsx); return status; } @@ -1476,8 +1535,8 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uas( pjsip_module *tsx_user, /* Register the transaction. */ status = mod_tsx_layer_register_tsx(tsx); if (status != PJ_SUCCESS) { - unlock_tsx(tsx, &lck); - tsx_destroy(tsx); + pj_grp_lock_release(tsx->grp_lock); + tsx_shutdown(tsx); return status; } @@ -1485,7 +1544,7 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uas( pjsip_module *tsx_user, rdata->endpt_info.mod_data[mod_tsx_layer.mod.id] = tsx; /* Unlock transaction and return. */ - unlock_tsx(tsx, &lck); + pj_grp_lock_release(tsx->grp_lock); pj_log_push_indent(); PJ_LOG(5,(tsx->obj_name, "Transaction created for %s", @@ -1504,13 +1563,11 @@ PJ_DEF(pj_status_t) pjsip_tsx_create_uas( pjsip_module *tsx_user, PJ_DEF(pj_status_t) pjsip_tsx_set_transport(pjsip_transaction *tsx, const pjsip_tpselector *sel) { - struct tsx_lock_data lck; - /* Must be UAC transaction */ PJ_ASSERT_RETURN(tsx && sel, PJ_EINVAL); /* Start locking the transaction. */ - lock_tsx(tsx, &lck); + pj_grp_lock_acquire(tsx->grp_lock); /* Decrement reference counter of previous transport selector */ pjsip_tpselector_dec_ref(&tsx->tp_sel); @@ -1522,7 +1579,7 @@ PJ_DEF(pj_status_t) pjsip_tsx_set_transport(pjsip_transaction *tsx, pjsip_tpselector_add_ref(&tsx->tp_sel); /* Unlock transaction. */ - unlock_tsx(tsx, &lck); + pj_grp_lock_release(tsx->grp_lock); return PJ_SUCCESS; } @@ -1547,8 +1604,6 @@ static void tsx_set_status_code(pjsip_transaction *tsx, */ PJ_DEF(pj_status_t) pjsip_tsx_terminate( pjsip_transaction *tsx, int code ) { - struct tsx_lock_data lck; - PJ_ASSERT_RETURN(tsx != NULL, PJ_EINVAL); PJ_LOG(5,(tsx->obj_name, "Request to terminate transaction")); @@ -1560,10 +1615,10 @@ PJ_DEF(pj_status_t) pjsip_tsx_terminate( pjsip_transaction *tsx, int code ) pj_log_push_indent(); - lock_tsx(tsx, &lck); + pj_grp_lock_acquire(tsx->grp_lock); tsx_set_status_code(tsx, code, NULL); tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, PJSIP_EVENT_USER, NULL); - unlock_tsx(tsx, &lck); + pj_grp_lock_release(tsx->grp_lock); pj_log_pop_indent(); @@ -1578,8 +1633,6 @@ PJ_DEF(pj_status_t) pjsip_tsx_terminate( pjsip_transaction *tsx, int code ) */ PJ_DEF(pj_status_t) pjsip_tsx_stop_retransmit(pjsip_transaction *tsx) { - struct tsx_lock_data lck; - PJ_ASSERT_RETURN(tsx != NULL, PJ_EINVAL); PJ_ASSERT_RETURN(tsx->role == PJSIP_ROLE_UAC && tsx->method.id == PJSIP_INVITE_METHOD, @@ -1589,13 +1642,10 @@ PJ_DEF(pj_status_t) pjsip_tsx_stop_retransmit(pjsip_transaction *tsx) pj_log_push_indent(); - lock_tsx(tsx, &lck); + pj_grp_lock_acquire(tsx->grp_lock); /* Cancel retransmission timer. */ - if (tsx->retransmit_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } - unlock_tsx(tsx, &lck); + tsx_cancel_timer(tsx, &tsx->retransmit_timer); + pj_grp_lock_release(tsx->grp_lock); pj_log_pop_indent(); @@ -1617,8 +1667,8 @@ PJ_DEF(pj_status_t) pjsip_tsx_set_timeout( pjsip_transaction *tsx, tsx->method.id == PJSIP_INVITE_METHOD, PJ_EINVALIDOP); - /* Note: must not call lock_tsx() as that would introduce deadlock. - * See #1121. + /* Note: must not call pj_grp_lock_acquire(tsx->grp_lock) as + * that would introduce deadlock. See #1121. */ lock_timer(tsx); @@ -1632,19 +1682,13 @@ PJ_DEF(pj_status_t) pjsip_tsx_set_timeout( pjsip_transaction *tsx, return PJ_EEXISTS; } - if (tsx->timeout_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->timeout_timer); - tsx->timeout_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->timeout_timer); timeout.sec = 0; timeout.msec = millisec; pj_time_val_normalize(&timeout); - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer(tsx->endpt, &tsx->timeout_timer, - &timeout); - + tsx_schedule_timer(tsx, &tsx->timeout_timer, &timeout, TIMEOUT_TIMER); unlock_timer(tsx); @@ -1659,7 +1703,6 @@ PJ_DEF(pj_status_t) pjsip_tsx_send_msg( pjsip_transaction *tsx, pjsip_tx_data *tdata ) { pjsip_event event; - struct tsx_lock_data lck; pj_status_t status; if (tdata == NULL) @@ -1675,7 +1718,7 @@ PJ_DEF(pj_status_t) pjsip_tsx_send_msg( pjsip_transaction *tsx, PJSIP_EVENT_INIT_TX_MSG(event, tdata); /* Dispatch to transaction. */ - lock_tsx(tsx, &lck); + pj_grp_lock_acquire(tsx->grp_lock); /* Set transport selector to tdata */ pjsip_tx_data_set_transport(tdata, &tsx->tp_sel); @@ -1683,7 +1726,7 @@ PJ_DEF(pj_status_t) pjsip_tsx_send_msg( pjsip_transaction *tsx, /* Dispatch to state handler */ status = (*tsx->state_handler)(tsx, &event); - unlock_tsx(tsx, &lck); + pj_grp_lock_release(tsx->grp_lock); /* Only decrement reference counter when it returns success. * (This is the specification from the .PDF design document). @@ -1706,8 +1749,6 @@ PJ_DEF(void) pjsip_tsx_recv_msg( pjsip_transaction *tsx, pjsip_rx_data *rdata) { pjsip_event event; - struct tsx_lock_data lck; - pj_status_t status; PJ_LOG(5,(tsx->obj_name, "Incoming %s in state %s", pjsip_rx_data_get_info(rdata), state_str[tsx->state])); @@ -1720,9 +1761,9 @@ PJ_DEF(void) pjsip_tsx_recv_msg( pjsip_transaction *tsx, PJSIP_EVENT_INIT_RX_MSG(event, rdata); /* Dispatch to transaction. */ - lock_tsx(tsx, &lck); - status = (*tsx->state_handler)(tsx, &event); - unlock_tsx(tsx, &lck); + pj_grp_lock_acquire(tsx->grp_lock); + (*tsx->state_handler)(tsx, &event); + pj_grp_lock_release(tsx->grp_lock); pj_log_pop_indent(); } @@ -1734,7 +1775,6 @@ static void send_msg_callback( pjsip_send_state *send_state, { pjsip_transaction *tsx = (pjsip_transaction*) send_state->token; pjsip_tx_data *tdata = send_state->tdata; - struct tsx_lock_data lck; /* Check if transaction has cancelled itself from this transmit * notification (https://trac.pjsip.org/repos/ticket/1033). @@ -1748,12 +1788,12 @@ static void send_msg_callback( pjsip_send_state *send_state, return; } + pj_grp_lock_acquire(tsx->grp_lock); + /* Reset */ tdata->mod_data[mod_tsx_layer.mod.id] = NULL; tsx->pending_tx = NULL; - lock_tsx(tsx, &lck); - if (sent > 0) { /* Successfully sent! */ pj_assert(send_state->cur_transport != NULL); @@ -1782,7 +1822,7 @@ static void send_msg_callback( pjsip_send_state *send_state, if (tsx->transport_flag & TSX_HAS_PENDING_DESTROY) { tsx_set_state( tsx, PJSIP_TSX_STATE_DESTROYED, PJSIP_EVENT_UNKNOWN, NULL ); - unlock_tsx(tsx, &lck); + pj_grp_lock_release(tsx->grp_lock); return; } @@ -1820,11 +1860,11 @@ static void send_msg_callback( pjsip_send_state *send_state, pjsip_status_code sc; pj_str_t err; - tsx->transport_err = -sent; + tsx->transport_err = (pj_status_t)-sent; - err =pj_strerror(-sent, errmsg, sizeof(errmsg)); + err =pj_strerror((pj_status_t)-sent, errmsg, sizeof(errmsg)); - PJ_LOG(2,(tsx->obj_name, + PJ_LOG(2,(tsx->obj_name, "Failed to send %s! err=%d (%s)", pjsip_tx_data_get_info(send_state->tdata), -sent, errmsg)); @@ -1862,13 +1902,10 @@ static void send_msg_callback( pjsip_send_state *send_state, } } else { - char errmsg[PJ_ERR_MSG_SIZE]; - - PJ_LOG(2,(tsx->obj_name, - "Temporary failure in sending %s, " - "will try next server. Err=%d (%s)", - pjsip_tx_data_get_info(send_state->tdata), -sent, - pj_strerror(-sent, errmsg, sizeof(errmsg)).ptr)); + PJ_PERROR(2,(tsx->obj_name, (pj_status_t)-sent, + "Temporary failure in sending %s, " + "will try next server", + pjsip_tx_data_get_info(send_state->tdata))); /* Reset retransmission count */ tsx->retransmit_count = 0; @@ -1876,14 +1913,9 @@ static void send_msg_callback( pjsip_send_state *send_state, /* And reset timeout timer */ if (tsx->timeout_timer.id) { lock_timer(tsx); - - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->timeout_timer); - tsx->timeout_timer.id = TIMER_INACTIVE; - - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer( tsx->endpt, &tsx->timeout_timer, - &timeout_timer_val); - + tsx_cancel_timer(tsx, &tsx->timeout_timer); + tsx_schedule_timer( tsx, &tsx->timeout_timer, + &timeout_timer_val, TIMEOUT_TIMER); unlock_timer(tsx); } @@ -1893,7 +1925,7 @@ static void send_msg_callback( pjsip_send_state *send_state, } } - unlock_tsx(tsx, &lck); + pj_grp_lock_release(tsx->grp_lock); } @@ -1901,31 +1933,40 @@ static void send_msg_callback( pjsip_send_state *send_state, static void transport_callback(void *token, pjsip_tx_data *tdata, pj_ssize_t sent) { + pjsip_transaction *tsx = (pjsip_transaction*) token; + + /* In other circumstances, locking tsx->grp_lock AFTER transport mutex + * will introduce deadlock if another thread is currently sending a + * SIP message to the transport. But this should be safe as there should + * be no way this callback could be called while another thread is + * sending a message. + */ + pj_grp_lock_acquire(tsx->grp_lock); + tsx->transport_flag &= ~(TSX_HAS_PENDING_TRANSPORT); + pj_grp_lock_release(tsx->grp_lock); + if (sent < 0) { - pjsip_transaction *tsx = (pjsip_transaction*) token; - struct tsx_lock_data lck; + pj_time_val delay = {0, 0}; char errmsg[PJ_ERR_MSG_SIZE]; - pj_str_t err; - - tsx->transport_err = -sent; - err = pj_strerror(-sent, errmsg, sizeof(errmsg)); + pj_strerror((pj_status_t)-sent, errmsg, sizeof(errmsg)); PJ_LOG(2,(tsx->obj_name, "Transport failed to send %s! Err=%d (%s)", - pjsip_tx_data_get_info(tdata), -sent, errmsg)); - - lock_tsx(tsx, &lck); + pjsip_tx_data_get_info(tdata), -sent, errmsg)); - /* Release transport. */ - tsx_update_transport(tsx, NULL); - - /* Terminate transaction. */ - tsx_set_status_code(tsx, PJSIP_SC_TSX_TRANSPORT_ERROR, &err); - tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, - PJSIP_EVENT_TRANSPORT_ERROR, tdata ); - - unlock_tsx(tsx, &lck); + /* Post the event for later processing, to avoid deadlock. + * See https://trac.pjsip.org/repos/ticket/1646 + */ + lock_timer(tsx); + tsx->transport_err = (pj_status_t)-sent; + tsx_cancel_timer(tsx, &tsx->timeout_timer); + tsx_schedule_timer(tsx, &tsx->timeout_timer, &delay, + TRANSPORT_ERR_TIMER); + unlock_timer(tsx); } + + /* Decrease pending send counter */ + pj_grp_lock_dec_ref(tsx->grp_lock); } @@ -1940,26 +1981,21 @@ static void tsx_tp_state_callback( pjsip_transport *tp, if (state == PJSIP_TP_STATE_DISCONNECTED) { pjsip_transaction *tsx; - struct tsx_lock_data lck; + pj_time_val delay = {0, 0}; pj_assert(tp && info && info->user_data); tsx = (pjsip_transaction*)info->user_data; - lock_tsx(tsx, &lck); - - /* Terminate transaction when transport disconnected */ - if (tsx->state < PJSIP_TSX_STATE_TERMINATED) { - pj_str_t err; - char errmsg[PJ_ERR_MSG_SIZE]; - - err = pj_strerror(info->status, errmsg, sizeof(errmsg)); - tsx_set_status_code(tsx, PJSIP_SC_TSX_TRANSPORT_ERROR, &err); - tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, - PJSIP_EVENT_TRANSPORT_ERROR, NULL); - } - - unlock_tsx(tsx, &lck); + /* Post the event for later processing, to avoid deadlock. + * See https://trac.pjsip.org/repos/ticket/1646 + */ + lock_timer(tsx); + tsx->transport_err = info->status; + tsx_cancel_timer(tsx, &tsx->timeout_timer); + tsx_schedule_timer(tsx, &tsx->timeout_timer, &delay, + TRANSPORT_ERR_TIMER); + unlock_timer(tsx); } } @@ -1980,23 +2016,39 @@ static pj_status_t tsx_send_msg( pjsip_transaction *tsx, return PJ_SUCCESS; } + /* Skip send if previous tdata transmission is pending (see #1665). */ + if (tdata->is_pending) { + PJ_LOG(2,(THIS_FILE, "Unable to send %s: message is pending", + pjsip_tx_data_get_info(tdata))); + return PJ_SUCCESS; + } + /* If we have the transport, send the message using that transport. * Otherwise perform full transport resolution. */ if (tsx->transport) { + /* Increment group lock while waiting for send operation to complete, + * to prevent us from being destroyed prematurely. See + * https://trac.pjsip.org/repos/ticket/1646 + */ + pj_grp_lock_add_ref(tsx->grp_lock); + tsx->transport_flag |= TSX_HAS_PENDING_TRANSPORT; + status = pjsip_transport_send( tsx->transport, tdata, &tsx->addr, tsx->addr_len, tsx, &transport_callback); if (status == PJ_EPENDING) status = PJ_SUCCESS; + else { + /* Operation completes immediately */ + tsx->transport_flag &= ~(TSX_HAS_PENDING_TRANSPORT); + pj_grp_lock_dec_ref(tsx->grp_lock); + } if (status != PJ_SUCCESS) { - char errmsg[PJ_ERR_MSG_SIZE]; - - PJ_LOG(2,(tsx->obj_name, - "Error sending %s: Err=%d (%s)", - pjsip_tx_data_get_info(tdata), status, - pj_strerror(status, errmsg, sizeof(errmsg)).ptr)); + PJ_PERROR(2,(tsx->obj_name, status, + "Error sending %s", + pjsip_tx_data_get_info(tdata))); /* On error, release transport to force using full transport * resolution procedure. @@ -2109,15 +2161,14 @@ static pj_status_t tsx_send_msg( pjsip_transaction *tsx, PJ_DEF(pj_status_t) pjsip_tsx_retransmit_no_state(pjsip_transaction *tsx, pjsip_tx_data *tdata) { - struct tsx_lock_data lck; pj_status_t status; - lock_tsx(tsx, &lck); + pj_grp_lock_acquire(tsx->grp_lock); if (tdata == NULL) { tdata = tsx->last_tx; } status = tsx_send_msg(tsx, tdata); - unlock_tsx(tsx, &lck); + pj_grp_lock_release(tsx->grp_lock); /* Only decrement reference counter when it returns success. * (This is the specification from the .PDF design document). @@ -2172,9 +2223,8 @@ static void tsx_resched_retransmission( pjsip_transaction *tsx ) timeout.sec = msec_time / 1000; timeout.msec = msec_time % 1000; - tsx->retransmit_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer( tsx->endpt, &tsx->retransmit_timer, - &timeout); + tsx_schedule_timer( tsx, &tsx->retransmit_timer, &timeout, + RETRANSMIT_TIMER); } } @@ -2185,6 +2235,18 @@ static pj_status_t tsx_retransmit( pjsip_transaction *tsx, int resched) { pj_status_t status; + if (resched && pj_timer_entry_running(&tsx->retransmit_timer)) { + /* We've been asked to reschedule but the timer is already rerunning. + * This can only happen in a race condition where, between removing + * this retransmit timer from the heap and actually scheduling it, + * another thread has got in and rescheduled the timer itself. In + * this scenario, the transmission has already happened and so we + * should just quit out immediately, without either resending the + * message or restarting the timer. + */ + return PJ_SUCCESS; + } + PJ_ASSERT_RETURN(tsx->last_tx!=NULL, PJ_EBUG); PJ_LOG(5,(tsx->obj_name, "Retransmiting %s, count=%d, restart?=%d", @@ -2230,10 +2292,17 @@ static void tsx_update_transport( pjsip_transaction *tsx, pjsip_transport_add_ref(tp); pjsip_transport_add_state_listener(tp, &tsx_tp_state_callback, tsx, &tsx->tp_st_key); + if (tp->is_shutdown) { + pjsip_transport_state_info info; + + pj_bzero(&info, sizeof(info)); + info.user_data = tsx; + info.status = PJSIP_SC_TSX_TRANSPORT_ERROR; + tsx_tp_state_callback(tp, PJSIP_TP_STATE_DISCONNECTED, &info); + } } } - /* * Handler for events in state Null. */ @@ -2286,9 +2355,9 @@ static pj_status_t tsx_on_state_null( pjsip_transaction *tsx, * timeout. */ lock_timer(tsx); - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer( tsx->endpt, &tsx->timeout_timer, - &timeout_timer_val); + tsx_cancel_timer( tsx, &tsx->timeout_timer ); + tsx_schedule_timer( tsx, &tsx->timeout_timer, &timeout_timer_val, + TIMEOUT_TIMER); unlock_timer(tsx); /* Start Timer A (or timer E) for retransmission only if unreliable @@ -2299,9 +2368,8 @@ static pj_status_t tsx_on_state_null( pjsip_transaction *tsx, if (tsx->transport_flag & TSX_HAS_PENDING_TRANSPORT) { tsx->transport_flag |= TSX_HAS_PENDING_RESCHED; } else { - tsx->retransmit_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer(tsx->endpt, &tsx->retransmit_timer, - &t1_timer_val); + tsx_schedule_timer(tsx, &tsx->retransmit_timer, + &t1_timer_val, RETRANSMIT_TIMER); } } @@ -2338,19 +2406,16 @@ static pj_status_t tsx_on_state_calling( pjsip_transaction *tsx, } else if (event->type == PJSIP_EVENT_TIMER && event->body.timer.entry == &tsx->timeout_timer) { - /* Cancel retransmission timer. */ - if (tsx->retransmit_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); + tsx->transport_flag &= ~(TSX_HAS_PENDING_RESCHED); /* Set status code */ tsx_set_status_code(tsx, PJSIP_SC_TSX_TIMEOUT, NULL); /* Inform TU. */ - tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, + tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, PJSIP_EVENT_TIMER, &tsx->timeout_timer); /* Transaction is destroyed */ @@ -2373,15 +2438,11 @@ static pj_status_t tsx_on_state_calling( pjsip_transaction *tsx, * timer. */ if (code >= 200) { - if (tsx->retransmit_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); if (tsx->timeout_timer.id != 0) { lock_timer(tsx); - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->timeout_timer); - tsx->timeout_timer.id = 0; + tsx_cancel_timer(tsx, &tsx->timeout_timer); unlock_timer(tsx); } @@ -2389,10 +2450,7 @@ static pj_status_t tsx_on_state_calling( pjsip_transaction *tsx, /* Cancel retransmit timer (for non-INVITE transaction, the * retransmit timer will be rescheduled at T2. */ - if (tsx->retransmit_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); /* For provisional response, only cancel retransmit when this * is an INVITE transaction. For non-INVITE, section 17.1.2.1 @@ -2404,15 +2462,13 @@ static pj_status_t tsx_on_state_calling( pjsip_transaction *tsx, /* Cancel timeout timer */ lock_timer(tsx); - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->timeout_timer); + tsx_cancel_timer(tsx, &tsx->timeout_timer); unlock_timer(tsx); } else { if (!tsx->is_reliable) { - tsx->retransmit_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer(tsx->endpt, - &tsx->retransmit_timer, - &t2_timer_val); + tsx_schedule_timer(tsx, &tsx->retransmit_timer, + &t2_timer_val, RETRANSMIT_TIMER); } } } @@ -2570,11 +2626,7 @@ static pj_status_t tsx_on_state_proceeding_uas( pjsip_transaction *tsx, { /* Stop 1xx retransmission timer, if any */ - if (tsx->retransmit_timer.id) { - pjsip_endpt_cancel_timer(tsx->endpt, - &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); /* Schedule retransmission */ tsx->retransmit_count = 0; @@ -2582,21 +2634,15 @@ static pj_status_t tsx_on_state_proceeding_uas( pjsip_transaction *tsx, tsx->transport_flag |= TSX_HAS_PENDING_RESCHED; } else { pj_time_val delay = {PJSIP_TSX_1XX_RETRANS_DELAY, 0}; - - tsx->retransmit_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer( tsx->endpt, - &tsx->retransmit_timer, - &delay); + tsx_schedule_timer( tsx, &tsx->retransmit_timer, &delay, + RETRANSMIT_TIMER); } } } else if (PJSIP_IS_STATUS_IN_CLASS(tsx->status_code, 200)) { /* Stop 1xx retransmission timer, if any */ - if (tsx->retransmit_timer.id) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); if (tsx->method.id == PJSIP_INVITE_METHOD && tsx->handle_200resp==0) { @@ -2617,10 +2663,8 @@ static pj_status_t tsx_on_state_proceeding_uas( pjsip_transaction *tsx, if (tsx->transport_flag & TSX_HAS_PENDING_TRANSPORT) { tsx->transport_flag |= TSX_HAS_PENDING_RESCHED; } else { - tsx->retransmit_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer( tsx->endpt, - &tsx->retransmit_timer, - &t1_timer_val); + tsx_schedule_timer( tsx, &tsx->retransmit_timer, + &t1_timer_val, RETRANSMIT_TIMER); } } @@ -2657,9 +2701,9 @@ static pj_status_t tsx_on_state_proceeding_uas( pjsip_transaction *tsx, } lock_timer(tsx); - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer( tsx->endpt, &tsx->timeout_timer, - &timeout); + tsx_cancel_timer(tsx, &tsx->timeout_timer); + tsx_schedule_timer( tsx, &tsx->timeout_timer, + &timeout, TIMEOUT_TIMER); unlock_timer(tsx); /* Set state to "Completed" */ @@ -2670,10 +2714,7 @@ static pj_status_t tsx_on_state_proceeding_uas( pjsip_transaction *tsx, } else if (tsx->status_code >= 300) { /* Stop 1xx retransmission timer, if any */ - if (tsx->retransmit_timer.id) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); /* 3xx-6xx class message causes transaction to move to * "Completed" state. @@ -2689,22 +2730,20 @@ static pj_status_t tsx_on_state_proceeding_uas( pjsip_transaction *tsx, * non-reliable transports, and zero for reliable transports. */ lock_timer(tsx); + tsx_cancel_timer(tsx, &tsx->timeout_timer); if (tsx->method.id == PJSIP_INVITE_METHOD) { /* Start timer H for INVITE */ - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer(tsx->endpt,&tsx->timeout_timer, - &timeout_timer_val); + tsx_schedule_timer(tsx, &tsx->timeout_timer, + &timeout_timer_val, TIMEOUT_TIMER); } else if (!tsx->is_reliable) { /* Start timer J on 64*T1 seconds for non-INVITE */ - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer(tsx->endpt,&tsx->timeout_timer, - &timeout_timer_val); + tsx_schedule_timer(tsx, &tsx->timeout_timer, + &timeout_timer_val, TIMEOUT_TIMER); } else { /* Start timer J on zero seconds for non-INVITE */ pj_time_val zero_time = { 0, 0 }; - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer(tsx->endpt,&tsx->timeout_timer, - &zero_time); + tsx_schedule_timer(tsx, &tsx->timeout_timer, + &zero_time, TIMEOUT_TIMER); } unlock_timer(tsx); @@ -2720,10 +2759,8 @@ static pj_status_t tsx_on_state_proceeding_uas( pjsip_transaction *tsx, if (tsx->transport_flag & TSX_HAS_PENDING_TRANSPORT) { tsx->transport_flag |= TSX_HAS_PENDING_RESCHED; } else { - tsx->retransmit_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer(tsx->endpt, - &tsx->retransmit_timer, - &t1_timer_val); + tsx_schedule_timer(tsx, &tsx->retransmit_timer, + &t1_timer_val, RETRANSMIT_TIMER); } } } @@ -2763,7 +2800,7 @@ static pj_status_t tsx_on_state_proceeding_uas( pjsip_transaction *tsx, tsx_set_status_code(tsx, PJSIP_SC_TSX_TIMEOUT, NULL); - tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, + tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, PJSIP_EVENT_TIMER, &tsx->timeout_timer); return PJ_EBUG; @@ -2835,7 +2872,7 @@ static pj_status_t tsx_on_state_proceeding_uac(pjsip_transaction *tsx, /* Stop timeout timer B/F. */ lock_timer(tsx); - pjsip_endpt_cancel_timer( tsx->endpt, &tsx->timeout_timer ); + tsx_cancel_timer( tsx, &tsx->timeout_timer ); unlock_timer(tsx); /* For INVITE, the state moves to Terminated state (because ACK is @@ -2861,16 +2898,12 @@ static pj_status_t tsx_on_state_proceeding_uac(pjsip_transaction *tsx, timeout.sec = timeout.msec = 0; } lock_timer(tsx); - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer( tsx->endpt, &tsx->timeout_timer, - &timeout); + tsx_schedule_timer( tsx, &tsx->timeout_timer, + &timeout, TIMEOUT_TIMER); unlock_timer(tsx); /* Cancel retransmission timer */ - if (tsx->retransmit_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); /* Move state to Completed, inform TU. */ tsx_set_state( tsx, PJSIP_TSX_STATE_COMPLETED, @@ -2881,7 +2914,7 @@ static pj_status_t tsx_on_state_proceeding_uac(pjsip_transaction *tsx, event->body.timer.entry == &tsx->timeout_timer) { /* Inform TU. */ - tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, + tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, PJSIP_EVENT_TIMER, &tsx->timeout_timer); @@ -2897,7 +2930,7 @@ static pj_status_t tsx_on_state_proceeding_uac(pjsip_transaction *tsx, pj_status_t status; /* Stop timer B. */ - pjsip_endpt_cancel_timer( tsx->endpt, &tsx->timeout_timer ); + tsx_cancel_timer( tsx, &tsx->timeout_timer ); /* Generate and send ACK for INVITE. */ if (tsx->method.id == PJSIP_INVITE_METHOD) { @@ -2930,8 +2963,7 @@ static pj_status_t tsx_on_state_proceeding_uac(pjsip_transaction *tsx, } else { timeout.sec = timeout.msec = 0; } - tsx->timeout->timer.id = TSX_TIMER_TIMEOUT; - pjsip_endpt_schedule_timer( tsx->endpt, &tsx->timeout_timer, &timeout); + tsx_schedule_timer( tsx, &tsx->timeout_timer, &timeout, TIMEOUT_TIMER); /* Inform TU. * blp: You might be tempted to move this notification before @@ -2950,15 +2982,11 @@ static pj_status_t tsx_on_state_proceeding_uac(pjsip_transaction *tsx, pjsip_tx_data *ack_tdata = NULL; /* Cancel retransmission timer */ - if (tsx->retransmit_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); /* Stop timer B. */ lock_timer(tsx); - tsx->timeout_timer.id = 0; - pjsip_endpt_cancel_timer( tsx->endpt, &tsx->timeout_timer ); + tsx_cancel_timer( tsx, &tsx->timeout_timer ); unlock_timer(tsx); /* Generate and send ACK (for INVITE) */ @@ -3011,10 +3039,9 @@ static pj_status_t tsx_on_state_proceeding_uac(pjsip_transaction *tsx, * by set_timeout() (by CANCEL). Cancel it if necessary. See: * https://trac.pjsip.org/repos/ticket/1374 */ - if (tsx->timeout_timer.id) - pjsip_endpt_cancel_timer( tsx->endpt, &tsx->timeout_timer ); - tsx->timeout_timer.id = TIMER_ACTIVE; - pjsip_endpt_schedule_timer( tsx->endpt, &tsx->timeout_timer, &timeout); + tsx_cancel_timer( tsx, &tsx->timeout_timer ); + tsx_schedule_timer( tsx, &tsx->timeout_timer, &timeout, + TIMEOUT_TIMER); unlock_timer(tsx); } else { @@ -3066,16 +3093,13 @@ static pj_status_t tsx_on_state_completed_uas( pjsip_transaction *tsx, } /* Cease retransmission. */ - if (tsx->retransmit_timer.id != 0) { - pjsip_endpt_cancel_timer(tsx->endpt, &tsx->retransmit_timer); - tsx->retransmit_timer.id = 0; - } + tsx_cancel_timer(tsx, &tsx->retransmit_timer); + tsx->transport_flag &= ~(TSX_HAS_PENDING_RESCHED); /* Reschedule timeout timer. */ lock_timer(tsx); - pjsip_endpt_cancel_timer( tsx->endpt, &tsx->timeout_timer ); - tsx->timeout_timer.id = TIMER_ACTIVE; + tsx_cancel_timer( tsx, &tsx->timeout_timer ); /* Timer I is T4 timer for unreliable transports, and * zero seconds for reliable transports. @@ -3087,8 +3111,8 @@ static pj_status_t tsx_on_state_completed_uas( pjsip_transaction *tsx, timeout.sec = t4_timer_val.sec; timeout.msec = t4_timer_val.msec; } - pjsip_endpt_schedule_timer( tsx->endpt, &tsx->timeout_timer, - &timeout); + tsx_schedule_timer( tsx, &tsx->timeout_timer, + &timeout, TIMEOUT_TIMER); unlock_timer(tsx); /* Move state to "Confirmed" */ @@ -3153,7 +3177,7 @@ static pj_status_t tsx_on_state_completed_uac( pjsip_transaction *tsx, pj_assert(event->body.timer.entry == &tsx->timeout_timer); /* Move to Terminated state. */ - tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, + tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, PJSIP_EVENT_TIMER, event->body.timer.entry ); /* Transaction has been destroyed. */ @@ -3218,16 +3242,22 @@ static pj_status_t tsx_on_state_confirmed( pjsip_transaction *tsx, msg->line.req.method.id == PJSIP_INVITE_METHOD); } else if (event->type == PJSIP_EVENT_TIMER) { - /* Must be from timeout_timer_. */ - pj_assert(event->body.timer.entry == &tsx->timeout_timer); - - /* Move to Terminated state. */ - tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, - PJSIP_EVENT_TIMER, &tsx->timeout_timer ); + /* Ignore overlapped retransmit timer. + * https://trac.pjsip.org/repos/ticket/1746 + */ + if (event->body.timer.entry == &tsx->retransmit_timer) { + /* Ignore */ + } else { + /* Must be from timeout_timer_. */ + pj_assert(event->body.timer.entry == &tsx->timeout_timer); - /* Transaction has been destroyed. */ - //return PJSIP_ETSXDESTROYED; + /* Move to Terminated state. */ + tsx_set_state( tsx, PJSIP_TSX_STATE_TERMINATED, + PJSIP_EVENT_TIMER, &tsx->timeout_timer ); + /* Transaction has been destroyed. */ + //return PJSIP_ETSXDESTROYED; + } } else { pj_assert(!"Unexpected event"); return PJ_EBUG; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport.c index 1598241840adf6144db490a55d45151fdf6f1c6e..4b2cc1a167fcf0226088089f2babea0a88d7cadb 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport.c @@ -1,4 +1,4 @@ -/* $Id: sip_transport.c 4295 2012-11-06 05:22:11Z nanang $ */ +/* $Id: sip_transport.c 4775 2014-03-04 02:18:51Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -92,6 +92,11 @@ struct pjsip_tpmgr void (*on_rx_msg)(pjsip_endpoint*, pj_status_t, pjsip_rx_data*); pj_status_t (*on_tx_msg)(pjsip_endpoint*, pjsip_tx_data*); pjsip_tp_state_callback tp_state_cb; + + /* Transmit data list, for transmit data cleanup when transport manager + * is destroyed. + */ + pjsip_tx_data tdata_list; }; @@ -125,7 +130,7 @@ typedef struct transport_data /* * Transport names. */ -struct transport_names_t +static struct transport_names_t { pjsip_transport_type_e type; /* Transport type */ pj_uint16_t port; /* Default port number */ @@ -212,7 +217,7 @@ static void tp_state_callback(pjsip_transport *tp, const pjsip_transport_state_info *info); -struct transport_names_t *get_tpname(pjsip_transport_type_e type) +static struct transport_names_t *get_tpname(pjsip_transport_type_e type) { unsigned i; for (i=0; i<PJ_ARRAY_SIZE(transport_names); ++i) { @@ -419,6 +424,14 @@ PJ_DEF(pj_status_t) pjsip_tx_data_create( pjsip_tpmgr *mgr, } pj_ioqueue_op_key_init(&tdata->op_key.key, sizeof(tdata->op_key.key)); + pj_list_init(tdata); + +#if defined(PJSIP_HAS_TX_DATA_LIST) && PJSIP_HAS_TX_DATA_LIST!=0 + /* Append this just created tdata to transmit buffer list */ + pj_lock_acquire(mgr->lock); + pj_list_push_back(&mgr->tdata_list, tdata); + pj_lock_release(mgr->lock); +#endif #if defined(PJ_DEBUG) && PJ_DEBUG!=0 pj_atomic_inc( tdata->mgr->tdata_counter ); @@ -437,6 +450,27 @@ PJ_DEF(void) pjsip_tx_data_add_ref( pjsip_tx_data *tdata ) pj_atomic_inc(tdata->ref_cnt); } +static void tx_data_destroy(pjsip_tx_data *tdata) +{ + PJ_LOG(5,(tdata->obj_name, "Destroying txdata %s", + pjsip_tx_data_get_info(tdata))); + pjsip_tpselector_dec_ref(&tdata->tp_sel); +#if defined(PJ_DEBUG) && PJ_DEBUG!=0 + pj_atomic_dec( tdata->mgr->tdata_counter ); +#endif + +#if defined(PJSIP_HAS_TX_DATA_LIST) && PJSIP_HAS_TX_DATA_LIST!=0 + /* Remove this tdata from transmit buffer list */ + pj_lock_acquire(tdata->mgr->lock); + pj_list_erase(tdata); + pj_lock_release(tdata->mgr->lock); +#endif + + pj_atomic_destroy( tdata->ref_cnt ); + pj_lock_destroy( tdata->lock ); + pjsip_endpt_release_pool( tdata->mgr->endpt, tdata->pool ); +} + /* * Decrease transport data reference, destroy it when the reference count * reaches zero. @@ -445,15 +479,7 @@ PJ_DEF(pj_status_t) pjsip_tx_data_dec_ref( pjsip_tx_data *tdata ) { pj_assert( pj_atomic_get(tdata->ref_cnt) > 0); if (pj_atomic_dec_and_get(tdata->ref_cnt) <= 0) { - PJ_LOG(5,(tdata->obj_name, "Destroying txdata %s", - pjsip_tx_data_get_info(tdata))); - pjsip_tpselector_dec_ref(&tdata->tp_sel); -#if defined(PJ_DEBUG) && PJ_DEBUG!=0 - pj_atomic_dec( tdata->mgr->tdata_counter ); -#endif - pj_atomic_destroy( tdata->ref_cnt ); - pj_lock_destroy( tdata->lock ); - pjsip_endpt_release_pool( tdata->mgr->endpt, tdata->pool ); + tx_data_destroy(tdata); return PJSIP_EBUFDESTROYED; } else { return PJ_SUCCESS; @@ -551,13 +577,15 @@ static char *get_msg_info(pj_pool_t *pool, const char *obj_name, PJ_DEF(char*) pjsip_tx_data_get_info( pjsip_tx_data *tdata ) { + PJ_ASSERT_RETURN(tdata, "NULL"); + /* tdata->info may be assigned by application so if it exists * just return it. */ if (tdata->info) return tdata->info; - if (tdata==NULL || tdata->msg==NULL) + if (tdata->msg==NULL) return "NULL"; pj_lock_acquire(tdata->lock); @@ -1063,6 +1091,7 @@ PJ_DEF(pj_status_t) pjsip_transport_shutdown(pjsip_transport *tp) { pjsip_tpmgr *mgr; pj_status_t status; + pjsip_tp_state_callback state_cb; TRACE_((THIS_FILE, "Transport %s shutting down", tp->obj_name)); @@ -1083,7 +1112,17 @@ PJ_DEF(pj_status_t) pjsip_transport_shutdown(pjsip_transport *tp) /* Instruct transport to shutdown itself */ if (tp->do_shutdown) status = tp->do_shutdown(tp); - + + /* Notify application of transport shutdown */ + state_cb = pjsip_tpmgr_get_state_cb(tp->tpmgr); + if (state_cb) { + pjsip_transport_state_info state_info; + + pj_bzero(&state_info, sizeof(state_info)); + state_info.status = status; + (*state_cb)(tp, PJSIP_TP_STATE_SHUTDOWN, &state_info); + } + if (status == PJ_SUCCESS) tp->is_shutdown = PJ_TRUE; @@ -1105,9 +1144,20 @@ PJ_DEF(pj_status_t) pjsip_transport_shutdown(pjsip_transport *tp) */ PJ_DEF(pj_status_t) pjsip_transport_destroy( pjsip_transport *tp) { + pjsip_tp_state_callback state_cb; + /* Must have no user. */ PJ_ASSERT_RETURN(pj_atomic_get(tp->ref_cnt) == 0, PJSIP_EBUSY); + /* Notify application of transport destroy */ + state_cb = pjsip_tpmgr_get_state_cb(tp->tpmgr); + if (state_cb) { + pjsip_transport_state_info state_info; + + pj_bzero(&state_info, sizeof(state_info)); + (*state_cb)(tp, PJSIP_TP_STATE_DESTROY, &state_info); + } + /* Destroy. */ return destroy_transport(tp->tpmgr, tp); } @@ -1207,6 +1257,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_create( pj_pool_t *pool, mgr->on_rx_msg = rx_cb; mgr->on_tx_msg = tx_cb; pj_list_init(&mgr->factory_list); + pj_list_init(&mgr->tdata_list); mgr->table = pj_hash_create(pool, PJSIP_TPMGR_HTABLE_SIZE); if (!mgr->table) @@ -1218,14 +1269,14 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_create( pj_pool_t *pool, #if defined(PJ_DEBUG) && PJ_DEBUG!=0 status = pj_atomic_create(pool, 0, &mgr->tdata_counter); - if (status != PJ_SUCCESS) - return status; + if (status != PJ_SUCCESS) { + pj_lock_destroy(mgr->lock); + return status; + } #endif /* Set transport state callback */ - status = pjsip_tpmgr_set_state_cb(mgr, &tp_state_callback); - if (status != PJ_SUCCESS) - return status; + pjsip_tpmgr_set_state_cb(mgr, &tp_state_callback); PJ_LOG(5, (THIS_FILE, "Transport manager created.")); @@ -1244,8 +1295,16 @@ static pj_status_t get_net_interface(pjsip_transport_type_e tp_type, af = (tp_type & PJSIP_TRANSPORT_IPV6)? PJ_AF_INET6 : PJ_AF_INET; status = pj_getipinterface(af, dst, &itf_addr, PJ_FALSE, NULL); - if (status != PJ_SUCCESS) - return status; + if (status != PJ_SUCCESS) { + /* If it fails, e.g: on WM6 (http://support.microsoft.com/kb/129065), + * just fallback using pj_gethostip(), see ticket #1660. + */ + PJ_LOG(5,(THIS_FILE,"Warning: unable to determine local " + "interface, fallback to default interface!")); + status = pj_gethostip(af, &itf_addr); + if (status != PJ_SUCCESS) + return status; + } /* Print address */ pj_sockaddr_print(&itf_addr, itf_str_addr->ptr, @@ -1489,12 +1548,6 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_destroy( pjsip_tpmgr *mgr ) } pj_lock_release(mgr->lock); - pj_lock_destroy(mgr->lock); - - /* Unregister mod_msg_print. */ - if (mod_msg_print.id != -1) { - pjsip_endpt_unregister_module(endpt, &mod_msg_print); - } #if defined(PJ_DEBUG) && PJ_DEBUG!=0 /* If you encounter assert error on this line, it means there are @@ -1508,6 +1561,30 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_destroy( pjsip_tpmgr *mgr ) } #endif + /* + * Destroy any dangling transmit buffer. + */ + if (!pj_list_empty(&mgr->tdata_list)) { + pjsip_tx_data *tdata = mgr->tdata_list.next; + while (tdata != &mgr->tdata_list) { + pjsip_tx_data *next = tdata->next; + tx_data_destroy(tdata); + tdata = next; + } + PJ_LOG(3,(THIS_FILE, "Cleaned up dangling transmit buffer(s).")); + } + +#if defined(PJ_DEBUG) && PJ_DEBUG!=0 + pj_atomic_destroy(mgr->tdata_counter); +#endif + + pj_lock_destroy(mgr->lock); + + /* Unregister mod_msg_print. */ + if (mod_msg_print.id != -1) { + pjsip_endpt_unregister_module(endpt, &mod_msg_print); + } + return PJ_SUCCESS; } @@ -1533,6 +1610,9 @@ PJ_DEF(pj_ssize_t) pjsip_tpmgr_receive_packet( pjsip_tpmgr *mgr, current_pkt = rdata->pkt_info.packet; remaining_len = rdata->pkt_info.len; + + tr->last_recv_len = rdata->pkt_info.len; + pj_get_timestamp(&tr->last_recv_ts); /* Must NULL terminate buffer. This is the requirement of the * parser etc. @@ -1573,7 +1653,7 @@ PJ_DEF(pj_ssize_t) pjsip_tpmgr_receive_packet( pjsip_tpmgr *mgr, pj_bzero(&rdata->msg_info, sizeof(rdata->msg_info)); pj_list_init(&rdata->msg_info.parse_err); rdata->msg_info.msg_buf = current_pkt; - rdata->msg_info.len = remaining_len; + rdata->msg_info.len = (int)remaining_len; /* For TCP transport, check if the whole message has been received. */ if ((tr->flag & PJSIP_TRANSPORT_DATAGRAM) == 0) { @@ -1593,7 +1673,7 @@ PJ_DEF(pj_ssize_t) pjsip_tpmgr_receive_packet( pjsip_tpmgr *mgr, } /* Update msg_info. */ - rdata->msg_info.len = msg_fragment_size; + rdata->msg_info.len = (int)msg_fragment_size; /* Null terminate packet */ saved = current_pkt[msg_fragment_size]; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_loop.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_loop.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_loop.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_loop.c index 498b5297cb775ae8e0e9c6ef0c1406355dea26c4..d2af947551e15eb90a801edbe391ac1ec47df0dd 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_loop.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_loop.c @@ -1,4 +1,4 @@ -/* $Id: sip_transport_loop.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_transport_loop.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -67,8 +67,8 @@ struct loop_transport /* Helper function to create "incoming" packet */ -struct recv_list *create_incoming_packet( struct loop_transport *loop, - pjsip_tx_data *tdata ) +static struct recv_list *create_incoming_packet( struct loop_transport *loop, + pjsip_tx_data *tdata ) { pj_pool_t *pool; struct recv_list *pkt; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_tcp.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_tcp.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_tcp.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_tcp.c index 808cee94a995c538e010185e79ef5ad317ad261e..7963512c730b7c93b74b18d830a277e2d6f56bd9 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_tcp.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_tcp.c @@ -1,4 +1,4 @@ -/* $Id: sip_transport_tcp.c 4294 2012-11-06 05:02:10Z nanang $ */ +/* $Id: sip_transport_tcp.c 4725 2014-02-04 04:45:37Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -176,7 +176,7 @@ static void tcp_init_shutdown(struct tcp_transport *tcp, pj_status_t status) if (tcp->close_reason == PJ_SUCCESS) tcp->close_reason = status; - if (tcp->base.is_shutdown) + if (tcp->base.is_shutdown || tcp->base.is_destroying) return; /* Prevent immediate transport destroy by application, as transport @@ -195,6 +195,12 @@ static void tcp_init_shutdown(struct tcp_transport *tcp, pj_status_t status) (*state_cb)(&tcp->base, PJSIP_TP_STATE_DISCONNECTED, &state_info); } + /* check again */ + if (tcp->base.is_shutdown || tcp->base.is_destroying) { + pjsip_transport_dec_ref(&tcp->base); + return; + } + /* We can not destroy the transport since high level objects may * still keep reference to this transport. So we can only * instruct transport manager to gracefully start the shutdown @@ -217,6 +223,7 @@ PJ_DEF(void) pjsip_tcp_transport_cfg_default(pjsip_tcp_transport_cfg *cfg, cfg->af = af; pj_sockaddr_init(cfg->af, &cfg->bind_addr, NULL, 0); cfg->async_cnt = 1; + cfg->reuse_addr = PJSIP_TCP_TRANSPORT_REUSEADDR; } @@ -298,6 +305,17 @@ PJ_DEF(pj_status_t) pjsip_tcp_transport_start3( 2, listener->factory.obj_name, "SIP TCP listener socket"); + /* Apply SO_REUSEADDR */ + if (cfg->reuse_addr) { + int enabled = 1; + status = pj_sock_setsockopt(sock, pj_SOL_SOCKET(), pj_SO_REUSEADDR(), + &enabled, sizeof(enabled)); + if (status != PJ_SUCCESS) { + PJ_PERROR(4,(listener->factory.obj_name, status, + "Warning: error applying SO_REUSEADDR")); + } + } + /* Bind address may be different than factory.local_addr because * factory.local_addr will be resolved below. */ @@ -814,7 +832,7 @@ static pj_status_t tcp_destroy(pjsip_transport *transport, static pj_status_t tcp_start_read(struct tcp_transport *tcp) { pj_pool_t *pool; - pj_ssize_t size; + pj_uint32_t size; pj_sockaddr *rem_addr; void *readbuf[1]; pj_status_t status; @@ -955,6 +973,7 @@ static pj_status_t lis_create_transport(pjsip_tpfactory *factory, * properly before socket is fully connected. */ if (pj_sockaddr_cmp(tp_addr, &local_addr) && + pj_sockaddr_has_addr(&local_addr) && pj_sockaddr_get_port(&local_addr) != 0) { pj_sockaddr_cp(tp_addr, &local_addr); @@ -1100,7 +1119,7 @@ static pj_bool_t on_data_sent(pj_activesock_t *asock, bytes_sent)); status = (bytes_sent == 0) ? PJ_RETURN_OS_ERROR(OSERR_ENOTCONN) : - -bytes_sent; + (pj_status_t)-bytes_sent; tcp_init_shutdown(tcp, status); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_tls.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_tls.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_tls.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_tls.c index 2f244cca78fb531aa2f79365de13632cfccb6f65..2295b6285c10964c0a4914d713a69632be705e44 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_tls.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_tls.c @@ -1,4 +1,4 @@ -/* $Id: sip_transport_tls.c 4411 2013-03-04 04:34:38Z nanang $ */ +/* $Id: sip_transport_tls.c 4726 2014-02-04 04:56:50Z ming $ */ /* * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) * @@ -183,7 +183,7 @@ static void tls_init_shutdown(struct tls_transport *tls, pj_status_t status) if (tls->close_reason == PJ_SUCCESS) tls->close_reason = status; - if (tls->base.is_shutdown) + if (tls->base.is_shutdown || tls->base.is_destroying) return; /* Prevent immediate transport destroy by application, as transport @@ -214,6 +214,12 @@ static void tls_init_shutdown(struct tls_transport *tls, pj_status_t status) (*state_cb)(&tls->base, PJSIP_TP_STATE_DISCONNECTED, &state_info); } + /* check again */ + if (tls->base.is_shutdown || tls->base.is_destroying) { + pjsip_transport_dec_ref(&tls->base); + return; + } + /* We can not destroy the transport since high level objects may * still keep reference to this transport. So we can only * instruct transport manager to gracefully start the shutdown @@ -337,6 +343,7 @@ PJ_DEF(pj_status_t) pjsip_tls_transport_start2( pjsip_endpoint *endpt, ssock_param.read_buffer_size = PJSIP_MAX_PKT_LEN; ssock_param.ciphers_num = listener->tls_setting.ciphers_num; ssock_param.ciphers = listener->tls_setting.ciphers; + ssock_param.reuse_addr = listener->tls_setting.reuse_addr; ssock_param.qos_type = listener->tls_setting.qos_type; ssock_param.qos_ignore_error = listener->tls_setting.qos_ignore_error; pj_memcpy(&ssock_param.qos_params, &listener->tls_setting.qos_params, @@ -833,7 +840,7 @@ static pj_status_t tls_destroy(pjsip_transport *transport, static pj_status_t tls_start_read(struct tls_transport *tls) { pj_pool_t *pool; - pj_ssize_t size; + pj_uint32_t size; pj_sockaddr *rem_addr; void *readbuf[1]; pj_status_t status; @@ -1218,7 +1225,7 @@ static pj_bool_t on_data_sent(pj_ssl_sock_t *ssock, bytes_sent)); status = (bytes_sent == 0) ? PJ_RETURN_OS_ERROR(OSERR_ENOTCONN) : - -bytes_sent; + (pj_status_t)-bytes_sent; tls_init_shutdown(tls, status); @@ -1580,8 +1587,25 @@ static pj_bool_t on_connect_complete(pj_ssl_sock_t *ssock, */ is_shutdown = tls->base.is_shutdown; pjsip_transport_dec_ref(&tls->base); - if (is_shutdown) + if (is_shutdown) { + status = tls->close_reason; + tls_perror(tls->base.obj_name, "TLS connect() error", status); + + /* Cancel all delayed transmits */ + while (!pj_list_empty(&tls->delayed_list)) { + struct delayed_tdata *pending_tx; + pj_ioqueue_op_key_t *op_key; + + pending_tx = tls->delayed_list.next; + pj_list_erase(pending_tx); + + op_key = (pj_ioqueue_op_key_t*)pending_tx->tdata_op_key; + + on_data_sent(tls->ssock, op_key, -status); + } + return PJ_FALSE; + } /* Mark that pending connect() operation has completed. */ diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_udp.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_udp.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_udp.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_udp.c index 60b3175cbc4eda265ebb921c43c39303af9b5074..aed908b256f35c16503c71762982f042205a3a5b 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_udp.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_udp.c @@ -1,4 +1,4 @@ -/* $Id: sip_transport_udp.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: sip_transport_udp.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -96,7 +96,7 @@ static void init_rdata(struct udp_transport *tp, unsigned rdata_index, /* Init tp_info part. */ rdata->tp_info.pool = pool; rdata->tp_info.transport = &tp->base; - rdata->tp_info.tp_data = (void*)(long)rdata_index; + rdata->tp_info.tp_data = (void*)(pj_ssize_t)rdata_index; rdata->tp_info.op_key.rdata = rdata; pj_ioqueue_op_key_init(&rdata->tp_info.op_key.op_key, sizeof(pj_ioqueue_op_key_t)); @@ -193,7 +193,7 @@ static void udp_on_read_complete( pj_ioqueue_key_t *key, /* Report error to endpoint. */ PJSIP_ENDPT_LOG_ERROR((rdata->tp_info.transport->endpt, rdata->tp_info.transport->obj_name, - -bytes_read, + (pj_status_t)-bytes_read, "Warning: pj_ioqueue_recvfrom()" " callback error")); } @@ -215,7 +215,8 @@ static void udp_on_read_complete( pj_ioqueue_key_t *key, unsigned rdata_index; rdata_tp = (struct udp_transport*)rdata->tp_info.transport; - rdata_index = (unsigned)(unsigned long)rdata->tp_info.tp_data; + rdata_index = (unsigned)(unsigned long)(pj_ssize_t) + rdata->tp_info.tp_data; pj_pool_reset(rdata_pool); init_rdata(rdata_tp, rdata_index, rdata_pool, &rdata); @@ -619,12 +620,9 @@ static pj_status_t register_to_ioqueue(struct udp_transport *tp) /* Start ioqueue asynchronous reading to all rdata */ static pj_status_t start_async_read(struct udp_transport *tp) { - pj_ioqueue_t *ioqueue; int i; pj_status_t status; - ioqueue = pjsip_endpt_get_ioqueue(tp->base.endpt); - /* Start reading the ioqueue. */ for (i=0; i<tp->rdata_cnt; ++i) { pj_ssize_t size; @@ -1057,6 +1055,12 @@ PJ_DEF(pj_status_t) pjsip_udp_transport_restart(pjsip_transport *transport, a_name = &bound_name; } + /* Init local address. */ + status = pj_sock_getsockname(sock, &tp->base.local_addr, + &tp->base.addr_len); + if (status != PJ_SUCCESS) + return status; + /* Assign the socket and published address to transport. */ udp_set_socket(tp, sock, a_name); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_transport_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_transport_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_ua_layer.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_ua_layer.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_ua_layer.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_ua_layer.c index 723c061c4069e0fb9cc6a73fb98ad7be9ac290f2..a2ad9861c24234de46ece624aec7a4ce11ca3660 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_ua_layer.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_ua_layer.c @@ -1,4 +1,4 @@ -/* $Id: sip_ua_layer.c 4208 2012-07-18 07:52:33Z ming $ */ +/* $Id: sip_ua_layer.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -304,7 +304,7 @@ PJ_DEF(pj_status_t) pjsip_ua_register_dlg( pjsip_user_agent *ua, dlg_set = (struct dlg_set*) pj_hash_get_lower( mod_ua.dlg_table, dlg->local.info->tag.ptr, - dlg->local.info->tag.slen, + (unsigned)dlg->local.info->tag.slen, &dlg->local.tag_hval); if (dlg_set) { @@ -329,7 +329,7 @@ PJ_DEF(pj_status_t) pjsip_ua_register_dlg( pjsip_user_agent *ua, /* Register the dialog set in the hash table. */ pj_hash_set_np_lower(mod_ua.dlg_table, dlg->local.info->tag.ptr, - dlg->local.info->tag.slen, + (unsigned)dlg->local.info->tag.slen, dlg->local.tag_hval, dlg_set->ht_entry, dlg_set); } @@ -346,7 +346,7 @@ PJ_DEF(pj_status_t) pjsip_ua_register_dlg( pjsip_user_agent *ua, pj_hash_set_np_lower(mod_ua.dlg_table, dlg->local.info->tag.ptr, - dlg->local.info->tag.slen, + (unsigned)dlg->local.info->tag.slen, dlg->local.tag_hval, dlg_set->ht_entry, dlg_set); } @@ -392,8 +392,8 @@ PJ_DEF(pj_status_t) pjsip_ua_unregister_dlg( pjsip_user_agent *ua, /* If dialog list is empty, remove the dialog set from the hash table. */ if (pj_list_empty(&dlg_set->dlg_list)) { pj_hash_set_lower(NULL, mod_ua.dlg_table, dlg->local.info->tag.ptr, - dlg->local.info->tag.slen, dlg->local.tag_hval, - NULL); + (unsigned)dlg->local.info->tag.slen, + dlg->local.tag_hval, NULL); /* Return dlg_set to free nodes. */ pj_list_push_back(&mod_ua.free_dlgset_nodes, dlg_set); @@ -455,7 +455,7 @@ PJ_DEF(pjsip_dialog*) pjsip_ua_find_dialog(const pj_str_t *call_id, /* Lookup the dialog set. */ dlg_set = (struct dlg_set*) pj_hash_get_lower(mod_ua.dlg_table, local_tag->ptr, - local_tag->slen, NULL); + (unsigned)local_tag->slen, NULL); if (dlg_set == NULL) { /* Not found */ pj_mutex_unlock(mod_ua.mutex); @@ -545,7 +545,7 @@ static struct dlg_set *find_dlg_set_for_msg( pjsip_rx_data *rdata ) /* We should find the dialog attached to the INVITE transaction */ if (tsx) { dlg = (pjsip_dialog*) tsx->mod_data[mod_ua.mod.id]; - pj_mutex_unlock(tsx->mutex); + pj_grp_lock_release(tsx->grp_lock); /* Dlg may be NULL on some extreme condition * (e.g. during debugging where initially there is a dialog) @@ -568,8 +568,8 @@ static struct dlg_set *find_dlg_set_for_msg( pjsip_rx_data *rdata ) /* Lookup the dialog set. */ dlg_set = (struct dlg_set*) - pj_hash_get_lower(mod_ua.dlg_table, tag->ptr, tag->slen, - NULL); + pj_hash_get_lower(mod_ua.dlg_table, tag->ptr, + (unsigned)tag->slen, NULL); return dlg_set; } } @@ -769,7 +769,7 @@ retry_on_deadlock: dlg_set = (struct dlg_set*) pj_hash_get_lower(mod_ua.dlg_table, rdata->msg_info.from->tag.ptr, - rdata->msg_info.from->tag.slen, + (unsigned)rdata->msg_info.from->tag.slen, NULL); if (!dlg_set) { diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_uri.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_uri.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_uri.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_uri.c index 4d54e2ec7f8e43449cd6ff890a94b0d3c4118fd6..74414439dc019335fab0f6e412703a62a9134db7 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_uri.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_uri.c @@ -1,4 +1,4 @@ -/* $Id: sip_uri.c 4228 2012-08-13 07:26:03Z bennylp $ */ +/* $Id: sip_uri.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -358,9 +358,9 @@ static pj_ssize_t pjsip_url_print( pjsip_uri_context_e context, } /* Other param. */ - printed = pjsip_param_print_on(&url->other_param, buf, endbuf-buf, - &pc->pjsip_PARAM_CHAR_SPEC, - &pc->pjsip_PARAM_CHAR_SPEC, ';'); + printed = (int)pjsip_param_print_on(&url->other_param, buf, endbuf-buf, + &pc->pjsip_PARAM_CHAR_SPEC, + &pc->pjsip_PARAM_CHAR_SPEC, ';'); if (printed < 0) return -1; buf += printed; @@ -371,9 +371,9 @@ static pj_ssize_t pjsip_url_print( pjsip_uri_context_e context, * - PJSIP_URI_IN_OTHER */ if (context == PJSIP_URI_IN_CONTACT_HDR || context == PJSIP_URI_IN_OTHER) { - printed = pjsip_param_print_on(&url->header_param, buf, endbuf-buf, - &pc->pjsip_HDR_CHAR_SPEC, - &pc->pjsip_HDR_CHAR_SPEC, '?'); + printed = (int)pjsip_param_print_on(&url->header_param, buf, endbuf-buf, + &pc->pjsip_HDR_CHAR_SPEC, + &pc->pjsip_HDR_CHAR_SPEC, '?'); if (printed < 0) return -1; buf += printed; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util.c index 60f25689166fc34394083802cb1fd04ee9f2fa37..a35b1f1dd052bf1aabef78597793c193b7704cee 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util.c @@ -1,4 +1,4 @@ -/* $Id: sip_util.c 4173 2012-06-20 10:39:05Z ming $ */ +/* $Id: sip_util.c 4770 2014-02-27 06:16:36Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -274,7 +274,7 @@ static void init_request_throw( pjsip_endpoint *endpt, body->content_type.subtype = str_PLAIN; body->data = pj_pool_alloc(tdata->pool, param_text->slen ); pj_memcpy(body->data, param_text->ptr, param_text->slen); - body->len = param_text->slen; + body->len = (unsigned)param_text->slen; body->print_body = &pjsip_print_text_body; msg->body = body; } @@ -802,6 +802,7 @@ on_missing_hdr: /* Fill-up destination information from a target URI */ static pj_status_t get_dest_info(const pjsip_uri *target_uri, + const pjsip_uri *request_uri, pj_pool_t *pool, pjsip_host_info *dest_info) { @@ -810,11 +811,22 @@ static pj_status_t get_dest_info(const pjsip_uri *target_uri, */ pj_bzero(dest_info, sizeof(*dest_info)); - if (PJSIP_URI_SCHEME_IS_SIPS(target_uri)) { + /* When request URI uses sips scheme, TLS must always be used regardless + * of the target scheme or transport type (see ticket #1740). + */ + if (PJSIP_URI_SCHEME_IS_SIPS(target_uri) || + (pjsip_cfg()->endpt.disable_tls_switch == 0 && request_uri && + PJSIP_URI_SCHEME_IS_SIPS(request_uri))) + { pjsip_uri *uri = (pjsip_uri*) target_uri; const pjsip_sip_uri *url=(const pjsip_sip_uri*)pjsip_uri_get_uri(uri); unsigned flag; + if (!PJSIP_URI_SCHEME_IS_SIPS(target_uri)) { + PJ_LOG(4,(THIS_FILE, "Automatic switch to TLS transport as " + "request-URI uses ""sips"" scheme.")); + } + dest_info->flag |= (PJSIP_TRANSPORT_SECURE | PJSIP_TRANSPORT_RELIABLE); if (url->maddr_param.slen) pj_strdup(pool, &dest_info->addr.host, &url->maddr_param); @@ -895,7 +907,8 @@ PJ_DEF(pj_status_t) pjsip_get_request_dest(const pjsip_tx_data *tdata, target_uri = tdata->msg->line.req.uri; } - return get_dest_info(target_uri, (pj_pool_t*)tdata->pool, dest_info); + return get_dest_info(target_uri, tdata->msg->line.req.uri, + (pj_pool_t*)tdata->pool, dest_info); } @@ -998,7 +1011,8 @@ PJ_DEF(pj_status_t) pjsip_process_route_set(pjsip_tx_data *tdata, } /* Fill up the destination host/port from the URI. */ - status = get_dest_info(target_uri, tdata->pool, dest_info); + status = get_dest_info(target_uri, new_request_uri, tdata->pool, + dest_info); if (status != PJ_SUCCESS) return status; @@ -1201,6 +1215,28 @@ static void stateless_send_transport_cb( void *token, } via->rport_param = pjsip_cfg()->endpt.disable_rport ? -1 : 0; + /* Add/remove "alias" param to/from Via header on connection + * oriented/less transport, if configured. + */ + if (pjsip_cfg()->endpt.req_has_via_alias && + tdata->msg->type == PJSIP_REQUEST_MSG) + { + const pj_str_t ALIAS_STR = {"alias", 5}; + pjsip_param *alias_param; + pj_bool_t is_datagram; + + alias_param = pjsip_param_find(&via->other_param, &ALIAS_STR); + is_datagram = (stateless_data->cur_transport->flag & + PJSIP_TRANSPORT_DATAGRAM); + if (!is_datagram && !alias_param) { + alias_param = PJ_POOL_ZALLOC_T(tdata->pool, pjsip_param); + alias_param->name = ALIAS_STR; + pj_list_push_back(&via->other_param, alias_param); + } else if (is_datagram && alias_param) { + pj_list_erase(alias_param); + } + } + pjsip_tx_data_invalidate_msg(tdata); /* Send message using this transport. */ @@ -1279,7 +1315,7 @@ stateless_send_resolver_callback( pj_status_t status, } /* Check if request message is larger than 1300 bytes. */ - len = tdata->buf.cur - tdata->buf.start; + len = (int)(tdata->buf.cur - tdata->buf.start); if (len >= PJSIP_UDP_SIZE_THRESHOLD) { int i; int count = tdata->dest_info.addr.count; @@ -1473,7 +1509,7 @@ PJ_DEF(pj_status_t) pjsip_endpt_send_raw_to_uri(pjsip_endpoint *endpt, } /* Build destination info. */ - status = get_dest_info(uri, tdata->pool, &dest_info); + status = get_dest_info(uri, NULL, tdata->pool, &dest_info); if (status != PJ_SUCCESS) { pjsip_tx_data_dec_ref(tdata); return status; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util_proxy.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util_proxy.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util_proxy.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util_proxy.c index 02069b98cb3003243b3a02565235752af336e5c8..ea5a0603942dbc9be37e3251ef1e9fdaa38049c5 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util_proxy.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util_proxy.c @@ -1,4 +1,4 @@ -/* $Id: sip_util_proxy.c 4208 2012-07-18 07:52:33Z ming $ */ +/* $Id: sip_util_proxy.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -370,7 +370,7 @@ PJ_DEF(pj_str_t) pjsip_calculate_branch_id( pjsip_rx_data *rdata ) */ pj_md5_init(&ctx); pj_md5_update(&ctx, (pj_uint8_t*)rdata->msg_info.via->branch_param.ptr, - rdata->msg_info.via->branch_param.slen); + (unsigned)rdata->msg_info.via->branch_param.slen); pj_md5_final(&ctx, digest); branch.ptr = (char*) diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util_proxy_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util_proxy_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util_proxy_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util_proxy_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util_statefull.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util_statefull.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util_statefull.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util_statefull.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util_wrap.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util_wrap.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsip/sip_util_wrap.cpp rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsip/sip_util_wrap.cpp diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_acc.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_acc.c similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_acc.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_acc.c index 5d7695d89a5a7ad3bc2ae2546b2328e349574dfb..c7fb4f83e0911dd1abd68529a8a51f0d98d8c9c3 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_acc.c @@ -1,4 +1,4 @@ -/* $Id: pjsua_acc.c 4318 2013-01-16 09:51:45Z bennylp $ */ +/* $Id: pjsua_acc.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -201,6 +201,7 @@ static pj_status_t initialize_acc(unsigned acc_id) acc->srv_domain = sip_uri->host; acc->srv_port = 0; } + acc->is_sips = PJSIP_URI_SCHEME_IS_SIPS(name_addr); /* Parse registrar URI, if any */ @@ -282,12 +283,24 @@ static pj_status_t initialize_acc(unsigned acc_id) acc->cred[acc->cred_cnt++] = pjsua_var.ua_cfg.cred_info[i]; } + /* If account's ICE and TURN customization is not set, then + * initialize it with the settings from the global media config. + */ + if (acc->cfg.ice_cfg_use == PJSUA_ICE_CONFIG_USE_DEFAULT) { + pjsua_ice_config_from_media_config(NULL, &acc->cfg.ice_cfg, + &pjsua_var.media_cfg); + } + if (acc->cfg.turn_cfg_use == PJSUA_TURN_CONFIG_USE_DEFAULT) { + pjsua_turn_config_from_media_config(NULL, &acc->cfg.turn_cfg, + &pjsua_var.media_cfg); + } + /* If ICE is enabled, add "+sip.ice" media feature tag in account's * contact params. */ #if PJSUA_ADD_ICE_TAGS if (acc_cfg->ice_cfg.enable_ice) { - unsigned new_len; + pj_ssize_t new_len; pj_str_t new_prm; new_len = acc_cfg->contact_params.slen + 10; @@ -308,12 +321,13 @@ static pj_status_t initialize_acc(unsigned acc_id) if (acc_cfg->use_rfc5626) { if (acc_cfg->rfc5626_instance_id.slen==0) { const pj_str_t *hostname; - pj_uint32_t hval, pos; + pj_uint32_t hval; + pj_size_t pos; char instprm[] = ";+sip.instance=\"<urn:uuid:00000000-0000-0000-0000-0000CCDDEEFF>\""; hostname = pj_gethostname(); pos = pj_ansi_strlen(instprm) - 10; - hval = pj_hash_calc(0, hostname->ptr, hostname->slen); + hval = pj_hash_calc(0, hostname->ptr, (unsigned)hostname->slen); pj_val_to_hex_digit( ((char*)&hval)[0], instprm+pos+0); pj_val_to_hex_digit( ((char*)&hval)[1], instprm+pos+2); pj_val_to_hex_digit( ((char*)&hval)[2], instprm+pos+4); @@ -322,7 +336,7 @@ static pj_status_t initialize_acc(unsigned acc_id) pj_strdup2(acc->pool, &acc->rfc5626_instprm, instprm); } else { const char *prmname = ";+sip.instance=\""; - unsigned len; + pj_size_t len; len = pj_ansi_strlen(prmname) + acc_cfg->rfc5626_instance_id.slen + 1; acc->rfc5626_instprm.ptr = (char*)pj_pool_alloc(acc->pool, len+1); @@ -338,7 +352,7 @@ static pj_status_t initialize_acc(unsigned acc_id) acc->rfc5626_regprm = pj_str(";reg-id=1"); } else { const char *prmname = ";reg-id="; - unsigned len; + pj_size_t len; len = pj_ansi_strlen(prmname) + acc_cfg->rfc5626_reg_id.slen; acc->rfc5626_regprm.ptr = (char*)pj_pool_alloc(acc->pool, len+1); @@ -351,18 +365,6 @@ static pj_status_t initialize_acc(unsigned acc_id) } } - /* If account's ICE and TURN customization is not set, then - * initialize it with the settings from the global media config. - */ - if (acc->cfg.ice_cfg_use == PJSUA_ICE_CONFIG_USE_DEFAULT) { - pjsua_ice_config_from_media_config(NULL, &acc->cfg.ice_cfg, - &pjsua_var.media_cfg); - } - if (acc->cfg.turn_cfg_use == PJSUA_TURN_CONFIG_USE_DEFAULT) { - pjsua_turn_config_from_media_config(NULL, &acc->cfg.turn_cfg, - &pjsua_var.media_cfg); - } - /* Mark account as valid */ pjsua_var.acc[acc_id].valid = PJ_TRUE; @@ -649,8 +651,10 @@ PJ_DEF(pj_status_t) pjsua_acc_del(pjsua_acc_id acc_id) /* Invalidate */ acc->valid = PJ_FALSE; acc->contact.slen = 0; + acc->reg_mapped_addr.slen = 0; pj_bzero(&acc->via_addr, sizeof(acc->via_addr)); acc->via_tp = NULL; + acc->next_rtp_port = 0; /* Remove from array */ for (i=0; i<pjsua_var.acc_cnt; ++i) { @@ -682,14 +686,80 @@ PJ_DEF(pj_status_t) pjsua_acc_del(pjsua_acc_id acc_id) /* Get config */ PJ_DEF(pj_status_t) pjsua_acc_get_config(pjsua_acc_id acc_id, + pj_pool_t *pool, pjsua_acc_config *acc_cfg) { PJ_ASSERT_RETURN(acc_id>=0 && acc_id<(int)PJ_ARRAY_SIZE(pjsua_var.acc) && pjsua_var.acc[acc_id].valid, PJ_EINVAL); - pj_memcpy(acc_cfg, &pjsua_var.acc[acc_id].cfg, sizeof(*acc_cfg)); + //this now would not work due to corrupt header list + //pj_memcpy(acc_cfg, &pjsua_var.acc[acc_id].cfg, sizeof(*acc_cfg)); + pjsua_acc_config_dup(pool, acc_cfg, &pjsua_var.acc[acc_id].cfg); return PJ_SUCCESS; } +/* Compare two SIP headers. Return zero if equal */ +static int pjsip_hdr_cmp(const pjsip_hdr *h1, const pjsip_hdr *h2) +{ + char buf1[PJSIP_MAX_URL_SIZE]; + char buf2[PJSIP_MAX_URL_SIZE]; + pj_str_t p1, p2; + + p1.ptr = buf1; + p1.slen = 0; + p2.ptr = buf2; + p2.slen = 0; + + p1.slen = pjsip_hdr_print_on((void*)h1, buf1, sizeof(buf1)); + if (p1.slen < 0) + p1.slen = 0; + p2.slen = pjsip_hdr_print_on((void*)h2, buf2, sizeof(buf2)); + if (p2.slen < 0) + p2.slen = 0; + + return pj_strcmp(&p1, &p2); +} + +/* Update SIP header list from another list. Return PJ_TRUE if + * the list has been updated */ +static pj_bool_t update_hdr_list(pj_pool_t *pool, pjsip_hdr *dst, + const pjsip_hdr *src) +{ + pjsip_hdr *dst_i; + const pjsip_hdr *src_i; + pj_bool_t changed = PJ_FALSE; + + /* Remove header that's no longer needed */ + for (dst_i = dst->next; dst_i != dst; ) { + for (src_i = src->next; src_i != src; src_i = src_i->next) { + if (pjsip_hdr_cmp(dst_i, src_i) == 0) + break; + } + if (src_i == src) { + pjsip_hdr *next = dst_i->next; + pj_list_erase(dst_i); + changed = PJ_TRUE; + dst_i = next; + } else { + dst_i = dst_i->next; + } + } + + /* Add new header */ + for (src_i = src->next; src_i != src; src_i = src_i->next) { + for (dst_i = dst->next; dst_i != dst; dst_i = dst_i->next) { + if (pjsip_hdr_cmp(dst_i, src_i) == 0) + break; + } + if (dst_i == dst) { + dst_i = pjsip_hdr_clone(pool, src_i); + pj_list_push_back(dst, dst_i); + changed = PJ_TRUE; + } + } + + return changed; +} + /* * Modify account information. */ @@ -775,6 +845,15 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, reg_sip_uri = (pjsip_sip_uri*) pjsip_uri_get_uri(reg_uri); } + /* REGISTER header list */ + if (update_hdr_list(acc->pool, &acc->cfg.reg_hdr_list, &cfg->reg_hdr_list)) { + update_reg = PJ_TRUE; + unreg_first = PJ_TRUE; + } + + /* SUBSCRIBE header list */ + update_hdr_list(acc->pool, &acc->cfg.sub_hdr_list, &cfg->sub_hdr_list); + /* Global outbound proxy */ global_route_crc = calc_proxy_crc(pjsua_var.ua_cfg.outbound_proxy, pjsua_var.ua_cfg.outbound_proxy_cnt); @@ -833,6 +912,7 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, pj_strdup_with_null(acc->pool, &acc->user_part, &id_sip_uri->user); pj_strdup_with_null(acc->pool, &acc->srv_domain, &id_sip_uri->host); acc->srv_port = 0; + acc->is_sips = PJSIP_URI_SCHEME_IS_SIPS(id_name_addr); update_reg = PJ_TRUE; unreg_first = PJ_TRUE; } @@ -924,6 +1004,7 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, if (acc->cfg.transport_id != cfg->transport_id) { acc->cfg.transport_id = cfg->transport_id; update_reg = PJ_TRUE; + unreg_first = PJ_TRUE; } /* Update keep-alive */ @@ -991,11 +1072,13 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, if (acc->cfg.reg_use_proxy != cfg->reg_use_proxy) { acc->cfg.reg_use_proxy = cfg->reg_use_proxy; update_reg = PJ_TRUE; + unreg_first = PJ_TRUE; } /* Global outbound proxy */ if (global_route_crc != acc->global_route_crc) { - unsigned i, rcnt; + unsigned i; + pj_size_t rcnt; /* Remove the outbound proxies from the route set */ rcnt = pj_list_size(&acc->route_set); @@ -1011,6 +1094,7 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, acc->global_route_crc = global_route_crc; update_reg = PJ_TRUE; + unreg_first = PJ_TRUE; } /* Account proxy */ @@ -1035,11 +1119,13 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, acc->local_route_crc = local_route_crc; update_reg = PJ_TRUE; + unreg_first = PJ_TRUE; } /* Credential info */ { unsigned i; + pj_bool_t cred_changed = PJ_FALSE; /* Selective update credential info. */ for (i = 0; i < cfg->cred_count; ++i) { @@ -1063,6 +1149,8 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, /* Not found, insert this */ if (j == acc->cfg.cred_count) { + cred_changed = PJ_TRUE; + /* If account credential is full, discard the last one. */ if (acc->cfg.cred_count == PJ_ARRAY_SIZE(acc->cfg.cred_info)) { pj_array_erase(acc->cfg.cred_info, sizeof(pjsip_cred_info), @@ -1088,13 +1176,21 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, { acc->cred[acc->cred_cnt++] = pjsua_var.ua_cfg.cred_info[i]; } + + if (cred_changed) { + update_reg = PJ_TRUE; + unreg_first = PJ_TRUE; + } } /* Authentication preference */ acc->cfg.auth_pref.initial_auth = cfg->auth_pref.initial_auth; - if (pj_strcmp(&acc->cfg.auth_pref.algorithm, &cfg->auth_pref.algorithm)) + if (pj_strcmp(&acc->cfg.auth_pref.algorithm, &cfg->auth_pref.algorithm)) { pj_strdup_with_null(acc->pool, &acc->cfg.auth_pref.algorithm, &cfg->auth_pref.algorithm); + update_reg = PJ_TRUE; + unreg_first = PJ_TRUE; + } /* Registration */ if (acc->cfg.reg_timeout != cfg->reg_timeout) { @@ -1242,6 +1338,7 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, pjsip_regc_destroy(acc->regc); acc->regc = NULL; acc->contact.slen = 0; + acc->reg_mapped_addr.slen = 0; } } @@ -1352,7 +1449,7 @@ done: /* Need to use outbound, append the contact with +sip.instance and * reg-id parameters. */ - unsigned len; + pj_ssize_t len; pj_str_t reg_contact; acc->rfc5626_status = OUTBOUND_WANTED; @@ -1381,7 +1478,10 @@ static pj_bool_t is_private_ip(const pj_str_t *addr) { { "10.", 3 }, { "127.", 4 }, - { "172.16.", 7 }, + { "172.16.", 7 }, { "172.17.", 7 }, { "172.18.", 7 }, { "172.19.", 7 }, + { "172.20.", 7 }, { "172.21.", 7 }, { "172.22.", 7 }, { "172.23.", 7 }, + { "172.24.", 7 }, { "172.25.", 7 }, { "172.26.", 7 }, { "172.27.", 7 }, + { "172.28.", 7 }, { "172.29.", 7 }, { "172.30.", 7 }, { "172.31.", 7 }, { "192.168.", 8 } }; unsigned i; @@ -1396,6 +1496,7 @@ static pj_bool_t is_private_ip(const pj_str_t *addr) /* Update NAT address from the REGISTER response */ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, + int contact_rewrite_method, struct pjsip_regc_cbparam *param) { pjsip_transport *tp; @@ -1433,10 +1534,17 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, via_addr = &via->sent_by.host; /* If allow_via_rewrite is enabled, we save the Via "received" address - * from the response. + * from the response, if either of the following condition is met: + * - the Via "received" address differs from saved one (or we haven't + * saved any yet) + * - transport is different + * - only the port has changed, AND either the received address is + * public IP or allow_contact_rewrite is 2 */ if (acc->cfg.allow_via_rewrite && - (acc->via_addr.host.slen == 0 || acc->via_tp != tp)) + (pj_strcmp(&acc->via_addr.host, via_addr) || acc->via_tp != tp || + (acc->via_addr.port != rport && + (!is_private_ip(via_addr) || acc->cfg.allow_contact_rewrite == 2)))) { if (pj_strcmp(&acc->via_addr.host, via_addr)) pj_strdup(acc->pool, &acc->via_addr.host, via_addr); @@ -1449,6 +1557,13 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, } } + /* Save mapped address if needed */ + if (acc->cfg.allow_sdp_nat_rewrite && + pj_strcmp(&acc->reg_mapped_addr, via_addr)) + { + pj_strdup(acc->pool, &acc->reg_mapped_addr, via_addr); + } + /* Only update if account is configured to auto-update */ if (acc->cfg.allow_contact_rewrite == PJ_FALSE) return PJ_FALSE; @@ -1566,12 +1681,13 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, (int)via_addr->slen, via_addr->ptr, rport, - acc->cfg.contact_rewrite_method)); + contact_rewrite_method)); - pj_assert(acc->cfg.contact_rewrite_method == 1 || - acc->cfg.contact_rewrite_method == 2); + pj_assert(contact_rewrite_method == PJSUA_CONTACT_REWRITE_UNREGISTER || + contact_rewrite_method == PJSUA_CONTACT_REWRITE_NO_UNREG || + contact_rewrite_method == PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE); - if (acc->cfg.contact_rewrite_method == 1) { + if (contact_rewrite_method == PJSUA_CONTACT_REWRITE_UNREGISTER) { /* Unregister current contact */ pjsua_acc_set_registration(acc->index, PJ_FALSE); if (acc->regc != NULL) { @@ -1590,6 +1706,10 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, const char *beginquote, *endquote; char transport_param[32]; int len; + pj_bool_t secure; + + secure = pjsip_transport_get_flag_from_type(tp->key.type) & + PJSIP_TRANSPORT_SECURE; /* Enclose IPv6 address in square brackets */ if (tp->key.type & PJSIP_TRANSPORT_IPV6) { @@ -1613,7 +1733,8 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, tmp = (char*) pj_pool_alloc(pool, PJSIP_MAX_URL_SIZE); len = pj_ansi_snprintf(tmp, PJSIP_MAX_URL_SIZE, - "<sip:%.*s%s%s%.*s%s:%d%s%.*s%s>%.*s", + "<%s:%.*s%s%s%.*s%s:%d%s%.*s%s>%.*s", + ((secure && acc->is_sips)? "sips" : "sip"), (int)acc->user_part.slen, acc->user_part.ptr, (acc->user_part.slen? "@" : ""), @@ -1628,7 +1749,7 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, (acc->cfg.use_rfc5626? ob: ""), (int)acc->cfg.contact_params.slen, acc->cfg.contact_params.ptr); - if (len < 1) { + if (len < 1 || len >= PJSIP_MAX_URL_SIZE) { PJ_LOG(1,(THIS_FILE, "URI too long")); pj_pool_release(pool); return PJ_FALSE; @@ -1649,12 +1770,16 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, } - if (acc->cfg.contact_rewrite_method == 2 && acc->regc != NULL) { + if (contact_rewrite_method == PJSUA_CONTACT_REWRITE_NO_UNREG && + acc->regc != NULL) + { pjsip_regc_update_contact(acc->regc, 1, &acc->reg_contact); } /* Perform new registration */ - pjsua_acc_set_registration(acc->index, PJ_TRUE); + if (contact_rewrite_method < PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE) { + pjsua_acc_set_registration(acc->index, PJ_TRUE); + } pj_pool_release(pool); @@ -1662,14 +1787,15 @@ static pj_bool_t acc_check_nat_addr(pjsua_acc *acc, } /* Check and update Service-Route header */ -void update_service_route(pjsua_acc *acc, pjsip_rx_data *rdata) +static void update_service_route(pjsua_acc *acc, pjsip_rx_data *rdata) { pjsip_generic_string_hdr *hsr = NULL; pjsip_route_hdr *hr, *h; const pj_str_t HNAME = { "Service-Route", 13 }; const pj_str_t HROUTE = { "Route", 5 }; pjsip_uri *uri[PJSUA_ACC_MAX_PROXIES]; - unsigned i, uri_cnt = 0, rcnt; + unsigned i, uri_cnt = 0; + pj_size_t rcnt; /* Find and parse Service-Route headers */ for (;;) { @@ -1945,6 +2071,37 @@ on_return: "active": "not active"))); } +static void regc_tsx_cb(struct pjsip_regc_tsx_cb_param *param) +{ + pjsua_acc *acc = (pjsua_acc*) param->cbparam.token; + + PJSUA_LOCK(); + + if (param->cbparam.regc != acc->regc) { + PJSUA_UNLOCK(); + return; + } + + pj_log_push_indent(); + + if ((acc->cfg.contact_rewrite_method & + PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE) == + PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE && + param->cbparam.code >= 400 && + param->cbparam.rdata) + { + if (acc_check_nat_addr(acc, PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE, + ¶m->cbparam)) + { + param->contact_cnt = 1; + param->contact[0] = acc->reg_contact; + } + } + + PJSUA_UNLOCK(); + pj_log_pop_indent(); +} + /* * This callback is called by pjsip_regc when outgoing register * request has completed. @@ -1972,6 +2129,7 @@ static void regc_cb(struct pjsip_regc_cbparam *param) pjsip_regc_destroy(acc->regc); acc->regc = NULL; acc->contact.slen = 0; + acc->reg_mapped_addr.slen = 0; /* Stop keep-alive timer if any. */ update_keep_alive(acc, PJ_FALSE, NULL); @@ -1983,6 +2141,7 @@ static void regc_cb(struct pjsip_regc_cbparam *param) pjsip_regc_destroy(acc->regc); acc->regc = NULL; acc->contact.slen = 0; + acc->reg_mapped_addr.slen = 0; /* Stop keep-alive timer if any. */ update_keep_alive(acc, PJ_FALSE, NULL); @@ -1997,6 +2156,7 @@ static void regc_cb(struct pjsip_regc_cbparam *param) pjsip_regc_destroy(acc->regc); acc->regc = NULL; acc->contact.slen = 0; + acc->reg_mapped_addr.slen = 0; /* Stop keep-alive timer if any. */ update_keep_alive(acc, PJ_FALSE, NULL); @@ -2010,7 +2170,9 @@ static void regc_cb(struct pjsip_regc_cbparam *param) update_rfc5626_status(acc, param->rdata); /* Check NAT bound address */ - if (acc_check_nat_addr(acc, param)) { + if (acc_check_nat_addr(acc, (acc->cfg.contact_rewrite_method & 3), + param)) + { PJSUA_UNLOCK(); pj_log_pop_indent(); return; @@ -2056,6 +2218,7 @@ static void regc_cb(struct pjsip_regc_cbparam *param) param->code == PJSIP_SC_BAD_GATEWAY || param->code == PJSIP_SC_SERVICE_UNAVAILABLE || param->code == PJSIP_SC_SERVER_TIMEOUT || + param->code == PJSIP_SC_TEMPORARILY_UNAVAILABLE || PJSIP_IS_STATUS_IN_CLASS(param->code, 600))) /* Global failure */ { schedule_reregistration(acc); @@ -2101,6 +2264,7 @@ static pj_status_t pjsua_regc_init(int acc_id) pjsip_regc_destroy(acc->regc); acc->regc = NULL; acc->contact.slen = 0; + acc->reg_mapped_addr.slen = 0; } /* initialize SIP registration if registrar is configured */ @@ -2149,9 +2313,12 @@ static pj_status_t pjsua_regc_init(int acc_id) pj_pool_release(pool); acc->regc = NULL; acc->contact.slen = 0; + acc->reg_mapped_addr.slen = 0; return status; } + pjsip_regc_set_reg_tsx_cb(acc->regc, regc_tsx_cb); + /* If account is locked to specific transport, then set transport to * the client registration. */ @@ -2603,6 +2770,7 @@ PJ_DEF(pjsua_acc_id) pjsua_acc_find_for_incoming(pjsip_rx_data *rdata) { pjsip_uri *uri; pjsip_sip_uri *sip_uri; + pjsua_acc_id id = PJSUA_INVALID_ID; unsigned i; /* Check that there's at least one account configured */ @@ -2610,16 +2778,25 @@ PJ_DEF(pjsua_acc_id) pjsua_acc_find_for_incoming(pjsip_rx_data *rdata) uri = rdata->msg_info.to->uri; - /* Just return default account if To URI is not SIP: */ + PJSUA_LOCK(); + + /* Use Req URI if To URI is not SIP */ + if (!PJSIP_URI_SCHEME_IS_SIP(uri) && + !PJSIP_URI_SCHEME_IS_SIPS(uri)) + { + if (rdata->msg_info.msg->type == PJSIP_REQUEST_MSG) + uri = rdata->msg_info.msg->line.req.uri; + else + goto on_return; + } + + /* Just return default account if both To and Req URI are not SIP: */ if (!PJSIP_URI_SCHEME_IS_SIP(uri) && !PJSIP_URI_SCHEME_IS_SIPS(uri)) { - return pjsua_var.default_acc; + goto on_return; } - - PJSUA_LOCK(); - sip_uri = (pjsip_sip_uri*)pjsip_uri_get_uri(uri); /* Find account which has matching username and domain. */ @@ -2631,8 +2808,8 @@ PJ_DEF(pjsua_acc_id) pjsua_acc_find_for_incoming(pjsip_rx_data *rdata) pj_stricmp(&acc->srv_domain, &sip_uri->host)==0) { /* Match ! */ - PJSUA_UNLOCK(); - return acc_id; + id = acc_id; + goto on_return; } } @@ -2643,8 +2820,8 @@ PJ_DEF(pjsua_acc_id) pjsua_acc_find_for_incoming(pjsip_rx_data *rdata) if (acc->valid && pj_stricmp(&acc->srv_domain, &sip_uri->host)==0) { /* Match ! */ - PJSUA_UNLOCK(); - return acc_id; + id = acc_id; + goto on_return; } } @@ -2666,14 +2843,27 @@ PJ_DEF(pjsua_acc_id) pjsua_acc_find_for_incoming(pjsip_rx_data *rdata) } /* Match ! */ - PJSUA_UNLOCK(); - return acc_id; + id = acc_id; + goto on_return; } } - /* Still no match, use default account */ +on_return: PJSUA_UNLOCK(); - return pjsua_var.default_acc; + + /* Still no match, use default account */ + if (id == PJSUA_INVALID_ID) + id = pjsua_var.default_acc; + + /* Invoke account find callback */ + if (pjsua_var.ua_cfg.cb.on_acc_find_for_incoming) + (*pjsua_var.ua_cfg.cb.on_acc_find_for_incoming)(rdata, &id); + + /* Verify if the specified account id is valid */ + if (!pjsua_acc_is_valid(id)) + id = pjsua_var.default_acc; + + return id; } @@ -2896,7 +3086,7 @@ PJ_DEF(pj_status_t) pjsua_acc_create_uac_contact( pj_pool_t *pool, (int)acc->display.slen, acc->display.ptr, (acc->display.slen?"\" " : ""), - (secure ? PJSUA_SECURE_SCHEME : "sip"), + ((secure && acc->is_sips)? "sips" : "sip"), (int)acc->user_part.slen, acc->user_part.ptr, (acc->user_part.slen?"@":""), @@ -2911,7 +3101,8 @@ PJ_DEF(pj_status_t) pjsua_acc_create_uac_contact( pj_pool_t *pool, (acc->cfg.use_rfc5626? ob: ""), (int)acc->cfg.contact_params.slen, acc->cfg.contact_params.ptr); - + if (contact->slen < 1 || contact->slen >= (int)PJSIP_MAX_URL_SIZE) + return PJ_ETOOSMALL; return PJ_SUCCESS; } @@ -3067,7 +3258,7 @@ PJ_DEF(pj_status_t) pjsua_acc_create_uas_contact( pj_pool_t *pool, (int)acc->display.slen, acc->display.ptr, (acc->display.slen?"\" " : ""), - (secure ? PJSUA_SECURE_SCHEME : "sip"), + ((secure && acc->is_sips)? "sips" : "sip"), (int)acc->user_part.slen, acc->user_part.ptr, (acc->user_part.slen?"@":""), @@ -3081,6 +3272,8 @@ PJ_DEF(pj_status_t) pjsua_acc_create_uas_contact( pj_pool_t *pool, acc->cfg.contact_uri_params.ptr, (int)acc->cfg.contact_params.slen, acc->cfg.contact_params.ptr); + if (contact->slen < 1 || contact->slen >= (int)PJSIP_MAX_URL_SIZE) + return PJ_ETOOSMALL; return PJ_SUCCESS; } diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_aud.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_aud.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_aud.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_aud.c index 1163e08039419e3bdf738ab8cfffc4edaa282fb6..305ddca07ed5792d3be79d2cc5156eb2cf95453a 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_aud.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_aud.c @@ -1,4 +1,4 @@ -/* $Id: pjsua_aud.c 4336 2013-01-29 08:15:02Z ming $ */ +/* $Id: pjsua_aud.c 4793 2014-03-14 04:09:50Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -457,6 +457,7 @@ pj_status_t pjsua_aud_subsys_start(void) pj_timer_entry_init(&pjsua_var.snd_idle_timer, PJ_FALSE, NULL, &close_snd_timer_cb); + pjsua_check_snd_dev_idle(); return status; } @@ -553,7 +554,7 @@ static void dtmf_callback(pjmedia_stream *strm, void *user_data, if (pjsua_var.ua_cfg.cb.on_dtmf_digit) { pjsua_call_id call_id; - call_id = (pjsua_call_id)(long)user_data; + call_id = (pjsua_call_id)(pj_ssize_t)user_data; pjsua_var.ua_cfg.cb.on_dtmf_digit(call_id, digit); } @@ -584,7 +585,7 @@ pj_status_t pjsua_aud_channel_update(pjsua_call_media *call_med, PJ_LOG(4,(THIS_FILE,"Audio channel update..")); pj_log_push_indent(); - si->rtcp_sdes_bye_disabled = PJ_TRUE; + si->rtcp_sdes_bye_disabled = pjsua_var.media_cfg.no_rtcp_sdes_bye; /* Check if no media is active */ if (si->dir != PJMEDIA_DIR_NONE) { @@ -637,7 +638,7 @@ pj_status_t pjsua_aud_channel_update(pjsua_call_media *call_med, if (pjsua_var.ua_cfg.cb.on_dtmf_digit) { pjmedia_stream_set_dtmf_callback(call_med->strm.a.stream, &dtmf_callback, - (void*)(long)(call->index)); + (void*)(pj_ssize_t)(call->index)); } /* Get the port interface of the first stream in the session. @@ -740,10 +741,13 @@ PJ_DEF(pj_status_t) pjsua_conf_get_port_info( pjsua_conf_port_id id, pj_bzero(info, sizeof(*info)); info->slot_id = id; info->name = cinfo.name; + pjmedia_format_copy(&info->format, &cinfo.format); info->clock_rate = cinfo.clock_rate; info->channel_count = cinfo.channel_count; info->samples_per_frame = cinfo.samples_per_frame; info->bits_per_sample = cinfo.bits_per_sample; + info->tx_level_adj = ((float)cinfo.tx_adj_level) / 128 + 1; + info->rx_level_adj = ((float)cinfo.rx_adj_level) / 128 + 1; /* Build array of listeners */ info->listener_cnt = cinfo.listener_cnt; @@ -1045,7 +1049,8 @@ PJ_DEF(pj_status_t) pjsua_player_create( const pj_str_t *filename, pj_memcpy(path, filename->ptr, filename->slen); path[filename->slen] = '\0'; - pool = pjsua_pool_create(get_basename(path, filename->slen), 1000, 1000); + pool = pjsua_pool_create(get_basename(path, (unsigned)filename->slen), 1000, + 1000); if (!pool) { status = PJ_ENOMEM; goto on_error; @@ -1187,7 +1192,7 @@ on_error: */ PJ_DEF(pjsua_conf_port_id) pjsua_player_get_conf_port(pjsua_player_id id) { - PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player), PJ_EINVAL); + PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player),PJ_EINVAL); PJ_ASSERT_RETURN(pjsua_var.player[id].port != NULL, PJ_EINVAL); return pjsua_var.player[id].slot; @@ -1199,7 +1204,7 @@ PJ_DEF(pjsua_conf_port_id) pjsua_player_get_conf_port(pjsua_player_id id) PJ_DEF(pj_status_t) pjsua_player_get_port( pjsua_player_id id, pjmedia_port **p_port) { - PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player), PJ_EINVAL); + PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player),PJ_EINVAL); PJ_ASSERT_RETURN(pjsua_var.player[id].port != NULL, PJ_EINVAL); PJ_ASSERT_RETURN(p_port != NULL, PJ_EINVAL); @@ -1208,17 +1213,66 @@ PJ_DEF(pj_status_t) pjsua_player_get_port( pjsua_player_id id, return PJ_SUCCESS; } +/* + * Get player info. + */ +PJ_DEF(pj_status_t) pjsua_player_get_info(pjsua_player_id id, + pjmedia_wav_player_info *info) +{ + PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player), + -PJ_EINVAL); + PJ_ASSERT_RETURN(pjsua_var.player[id].port != NULL, PJ_EINVAL); + PJ_ASSERT_RETURN(pjsua_var.player[id].type == 0, PJ_EINVAL); + + return pjmedia_wav_player_get_info(pjsua_var.player[id].port, info); +} + +/* + * Get playback position. + */ +PJ_DEF(pj_ssize_t) pjsua_player_get_pos( pjsua_player_id id ) +{ + pj_ssize_t pos_bytes; + pjmedia_wav_player_info info; + pj_status_t status; + + PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player), + -PJ_EINVAL); + PJ_ASSERT_RETURN(pjsua_var.player[id].port != NULL, -PJ_EINVAL); + PJ_ASSERT_RETURN(pjsua_var.player[id].type == 0, -PJ_EINVAL); + + pos_bytes = pjmedia_wav_player_port_get_pos(pjsua_var.player[id].port); + if (pos_bytes < 0) + return pos_bytes; + + status = pjmedia_wav_player_get_info(pjsua_var.player[id].port, &info); + if (status != PJ_SUCCESS) + return -status; + + return pos_bytes / (info.payload_bits_per_sample / 8); +} + /* * Set playback position. */ PJ_DEF(pj_status_t) pjsua_player_set_pos( pjsua_player_id id, pj_uint32_t samples) { - PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player), PJ_EINVAL); + pjmedia_wav_player_info info; + pj_uint32_t pos_bytes; + pj_status_t status; + + PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player),PJ_EINVAL); PJ_ASSERT_RETURN(pjsua_var.player[id].port != NULL, PJ_EINVAL); PJ_ASSERT_RETURN(pjsua_var.player[id].type == 0, PJ_EINVAL); - return pjmedia_wav_player_port_set_pos(pjsua_var.player[id].port, samples); + status = pjmedia_wav_player_get_info(pjsua_var.player[id].port, &info); + if (status != PJ_SUCCESS) + return status; + + pos_bytes = samples * (info.payload_bits_per_sample / 8); + return pjmedia_wav_player_port_set_pos(pjsua_var.player[id].port, + pos_bytes); } @@ -1228,7 +1282,7 @@ PJ_DEF(pj_status_t) pjsua_player_set_pos( pjsua_player_id id, */ PJ_DEF(pj_status_t) pjsua_player_destroy(pjsua_player_id id) { - PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player), PJ_EINVAL); + PJ_ASSERT_RETURN(id>=0&&id<(int)PJ_ARRAY_SIZE(pjsua_var.player),PJ_EINVAL); PJ_ASSERT_RETURN(pjsua_var.player[id].port != NULL, PJ_EINVAL); PJ_LOG(4,(THIS_FILE, "Destroying player %d..", id)); @@ -1333,7 +1387,8 @@ PJ_DEF(pj_status_t) pjsua_recorder_create( const pj_str_t *filename, pj_memcpy(path, filename->ptr, filename->slen); path[filename->slen] = '\0'; - pool = pjsua_pool_create(get_basename(path, filename->slen), 1000, 1000); + pool = pjsua_pool_create(get_basename(path, (unsigned)filename->slen), 1000, + 1000); if (!pool) { status = PJ_ENOMEM; goto on_return; @@ -1756,12 +1811,14 @@ static pj_status_t open_snd_dev(pjmedia_snd_port_param *param) if (status==PJ_SUCCESS) { if (param->base.clock_rate != pjsua_var.media_cfg.clock_rate) { char tmp_buf[128]; - int tmp_buf_len = sizeof(tmp_buf); + int tmp_buf_len; - tmp_buf_len = pj_ansi_snprintf(tmp_buf, sizeof(tmp_buf)-1, + tmp_buf_len = pj_ansi_snprintf(tmp_buf, sizeof(tmp_buf), "%s (%dKHz)", rec_info.name, param->base.clock_rate/1000); + if (tmp_buf_len < 1 || tmp_buf_len >= (int)sizeof(tmp_buf)) + tmp_buf_len = sizeof(tmp_buf) - 1; pj_strset(&tmp, tmp_buf, tmp_buf_len); pjmedia_conf_set_port0_name(pjsua_var.mconf, &tmp); } else { diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_call.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_call.c similarity index 93% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_call.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_call.c index 7329333efa27fed23f3c88b1d2e6fad952e1a311..a2959afc2bbc9173db972703a8fb04a16ffed134 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_call.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_call.c @@ -1,5 +1,5 @@ -/* $Id: pjsua_call.c 4411 2013-03-04 04:34:38Z nanang $ */ -/* +/* $Id: pjsua_call.c 4779 2014-03-06 01:00:11Z ming $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <pjsua-lib/pjsua.h> #include <pjsua-lib/pjsua_internal.h> @@ -34,11 +34,10 @@ */ #define LOCK_CODEC_MAX_RETRY 5 - /* * The INFO method. */ -const pjsip_method pjsip_info_method = +const pjsip_method pjsip_info_method = { PJSIP_OTHER_METHOD, { "INFO", 4 } @@ -48,13 +47,13 @@ const pjsip_method pjsip_info_method = /* This callback receives notification from invite session when the * session state has changed. */ -static void pjsua_call_on_state_changed(pjsip_inv_session *inv, +static void pjsua_call_on_state_changed(pjsip_inv_session *inv, pjsip_event *e); /* This callback is called by invite session framework when UAC session * has forked. */ -static void pjsua_call_on_forked( pjsip_inv_session *inv, +static void pjsua_call_on_forked( pjsip_inv_session *inv, pjsip_event *e); /* @@ -163,7 +162,7 @@ pj_status_t pjsua_call_subsys_init(const pjsua_config *cfg) /* Check the route URI's and force loose route if required */ for (i=0; i<pjsua_var.ua_cfg.outbound_proxy_cnt; ++i) { - status = normalize_route_uri(pjsua_var.pool, + status = normalize_route_uri(pjsua_var.pool, &pjsua_var.ua_cfg.outbound_proxy[i]); if (status != PJ_SUCCESS) return status; @@ -257,15 +256,15 @@ static pjsua_call_id alloc_call_id(void) #if 1 /* New algorithm: round-robin */ - if (pjsua_var.next_call_id >= (int)pjsua_var.ua_cfg.max_calls || + if (pjsua_var.next_call_id >= (int)pjsua_var.ua_cfg.max_calls || pjsua_var.next_call_id < 0) { pjsua_var.next_call_id = 0; } - for (cid=pjsua_var.next_call_id; - cid<(int)pjsua_var.ua_cfg.max_calls; - ++cid) + for (cid=pjsua_var.next_call_id; + cid<(int)pjsua_var.ua_cfg.max_calls; + ++cid) { if (pjsua_var.calls[cid].inv == NULL && pjsua_var.calls[cid].async_call.dlg == NULL) @@ -309,12 +308,12 @@ static int get_secure_level(pjsua_acc_id acc_id, const pj_str_t *dst_uri) if (pj_stristr(dst_uri, &sips)) return 2; - + if (!pj_list_empty(&acc->route_set)) { pjsip_route_hdr *r = acc->route_set.next; pjsip_uri *uri = r->name_addr.uri; pjsip_sip_uri *sip_uri; - + sip_uri = (pjsip_sip_uri*)pjsip_uri_get_uri(uri); if (pj_stricmp2(&sip_uri->transport_param, "tls")==0) return 1; @@ -337,7 +336,7 @@ static int call_get_secure_level(pjsua_call *call) pjsip_route_hdr *r = call->inv->dlg->route_set.next; pjsip_uri *uri = r->name_addr.uri; pjsip_sip_uri *sip_uri; - + sip_uri = (pjsip_sip_uri*)pjsip_uri_get_uri(uri); if (pj_stricmp2(&sip_uri->transport_param, "tls")==0) return 1; @@ -386,7 +385,7 @@ on_make_call_med_tp_complete(pjsua_call_id call_id, if (status != PJ_SUCCESS) { pj_str_t err_str; - int title_len; + pj_ssize_t title_len; call->last_code = PJSIP_SC_TEMPORARILY_UNAVAILABLE; pj_strcpy2(&call->last_text, "Media init error: "); @@ -421,7 +420,7 @@ on_make_call_med_tp_complete(pjsua_call_id call_id, /* Create the INVITE session: */ options |= PJSIP_INV_SUPPORT_100REL; - if (acc->cfg.require_100rel) + if (acc->cfg.require_100rel == PJSUA_100REL_MANDATORY) options |= PJSIP_INV_REQUIRE_100REL; if (acc->cfg.use_timer != PJSUA_SIP_TIMER_INACTIVE) { options |= PJSIP_INV_SUPPORT_TIMER; @@ -467,7 +466,7 @@ on_make_call_med_tp_complete(pjsua_call_id call_id, /* Set credentials: */ if (acc->cred_cnt) { - pjsip_auth_clt_set_credentials( &dlg->auth_sess, + pjsip_auth_clt_set_credentials( &dlg->auth_sess, acc->cred_cnt, acc->cred); } @@ -478,7 +477,7 @@ on_make_call_med_tp_complete(pjsua_call_id call_id, status = pjsip_inv_invite(inv, &tdata); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to create initial INVITE request", + pjsua_perror(THIS_FILE, "Unable to create initial INVITE request", status); goto on_error; } @@ -498,7 +497,7 @@ on_make_call_med_tp_complete(pjsua_call_id call_id, if (status != PJ_SUCCESS) { cb_called = PJ_TRUE; - /* Upon failure to send first request, the invite + /* Upon failure to send first request, the invite * session would have been cleared. */ inv = NULL; @@ -530,8 +529,8 @@ on_error: } if (call_id != -1) { - reset_call(call_id); pjsua_media_channel_deinit(call_id); + reset_call(call_id); } call->med_ch_cb = NULL; @@ -616,7 +615,7 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, /* Check that account is valid */ - PJ_ASSERT_RETURN(acc_id>=0 || acc_id<(int)PJ_ARRAY_SIZE(pjsua_var.acc), + PJ_ASSERT_RETURN(acc_id>=0 || acc_id<(int)PJ_ARRAY_SIZE(pjsua_var.acc), PJ_EINVAL); /* Check arguments */ @@ -630,12 +629,12 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, PJSUA_LOCK(); /* Create sound port if none is instantiated, to check if sound device - * can be used. But only do this with the conference bridge, as with - * audio switchboard (i.e. APS-Direct), we can only open the sound + * can be used. But only do this with the conference bridge, as with + * audio switchboard (i.e. APS-Direct), we can only open the sound * device once the correct format has been known */ - if (!pjsua_var.is_mswitch && pjsua_var.snd_port==NULL && - pjsua_var.null_snd==NULL && !pjsua_var.no_snd) + if (!pjsua_var.is_mswitch && pjsua_var.snd_port==NULL && + pjsua_var.null_snd==NULL && !pjsua_var.no_snd) { status = pjsua_set_snd_dev(pjsua_var.cap_dev, pjsua_var.play_dev); if (status != PJ_SUCCESS) @@ -659,6 +658,9 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, goto on_error; } + /* Clear call descriptor */ + reset_call(call_id); + call = &pjsua_var.calls[call_id]; /* Associate session with account */ @@ -675,8 +677,8 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, /* Create temporary pool */ tmp_pool = pjsua_pool_create("tmpcall10", 512, 256); - /* Verify that destination URI is valid before calling - * pjsua_acc_create_uac_contact, or otherwise there + /* Verify that destination URI is valid before calling + * pjsua_acc_create_uac_contact, or otherwise there * a misleading "Invalid Contact URI" error will be printed * when pjsua_acc_create_uac_contact() fails. */ @@ -688,7 +690,7 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, uri = pjsip_parse_uri(tmp_pool, dup.ptr, dup.slen, 0); if (uri == NULL) { - pjsua_perror(THIS_FILE, "Unable to make call", + pjsua_perror(THIS_FILE, "Unable to make call", PJSIP_EINVALIDREQURI); status = PJSIP_EINVALIDREQURI; goto on_error; @@ -710,16 +712,19 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, status = pjsua_acc_create_uac_contact(tmp_pool, &contact, acc_id, dest_uri); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to generate Contact header", + pjsua_perror(THIS_FILE, "Unable to generate Contact header", status); goto on_error; } } /* Create outgoing dialog: */ - status = pjsip_dlg_create_uac( pjsip_ua_instance(), + status = pjsip_dlg_create_uac( pjsip_ua_instance(), &acc->cfg.id, &contact, - dest_uri, dest_uri, &dlg); + dest_uri, + (msg_data && msg_data->target_uri.slen? + &msg_data->target_uri: dest_uri), + &dlg); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Dialog creation failed", status); goto on_error; @@ -738,7 +743,7 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, /* Attach user data */ call->user_data = user_data; - + /* Store variables required for the callback after the async * media transport creation is completed. */ @@ -755,7 +760,7 @@ PJ_DEF(pj_status_t) pjsua_call_make_call(pjsua_acc_id acc_id, pjsip_dlg_inc_session(dlg, &pjsua_var.mod); /* Init media channel */ - status = pjsua_media_channel_init(call->index, PJSIP_ROLE_UAC, + status = pjsua_media_channel_init(call->index, PJSIP_ROLE_UAC, call->secure_level, dlg->pool, NULL, NULL, PJ_TRUE, &on_make_call_med_tp_complete); @@ -790,10 +795,12 @@ on_error: } if (call_id != -1) { - reset_call(call_id); pjsua_media_channel_deinit(call_id); + reset_call(call_id); } + pjsua_check_snd_dev_idle(); + if (tmp_pool) pj_pool_release(tmp_pool); PJSUA_UNLOCK(); @@ -804,7 +811,7 @@ on_error: /* Get the NAT type information in remote's SDP */ -static void update_remote_nat_type(pjsua_call *call, +static void update_remote_nat_type(pjsua_call *call, const pjmedia_sdp_session *sdp) { const pjmedia_sdp_attr *xnat; @@ -891,13 +898,13 @@ static pj_status_t process_incoming_call_replace(pjsua_call *call, static void process_pending_call_answer(pjsua_call *call) { struct call_answer *answer, *next; - + answer = call->async_call.call_var.inc_call.answers.next; while (answer != &call->async_call.call_var.inc_call.answers) { next = answer->next; pjsua_call_answer2(call->index, answer->opt, answer->code, answer->reason, answer->msg_data); - + /* Call might have been disconnected if application is answering * with 200/OK and the media failed to start. * See pjsua_call_answer() below. @@ -944,7 +951,7 @@ on_incoming_call_med_tp_complete(pjsua_call_id call_id, pjmedia_sdp_neg_get_neg_remote(call->inv->neg, &offer); status = pjsua_media_channel_create_sdp(call_id, - call->async_call.dlg->pool, + call->async_call.dlg->pool, offer, &answer, &sip_err_code); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Error creating SDP answer", status); @@ -968,7 +975,7 @@ on_incoming_call_med_tp_complete(pjsua_call_id call_id, */ sip_err_code = PJSIP_ERRNO_TO_SIP_STATUS(status); goto on_return; - } + } on_return: if (status != PJ_SUCCESS) { @@ -998,7 +1005,7 @@ on_return: if (status == PJ_SUCCESS) { if (call->async_call.call_var.inc_call.replaced_dlg) { /* Process pending call replace */ - pjsip_dialog *replaced_dlg = + pjsip_dialog *replaced_dlg = call->async_call.call_var.inc_call.replaced_dlg; process_incoming_call_replace(call, replaced_dlg); } else { @@ -1045,7 +1052,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) /* Don't want to accept the call if shutdown is in progress */ if (pjsua_var.thread_quit_flag) { - pjsip_endpt_respond_stateless(pjsua_var.endpt, rdata, + pjsip_endpt_respond_stateless(pjsua_var.endpt, rdata, PJSIP_SC_TEMPORARILY_UNAVAILABLE, NULL, NULL, NULL); return PJ_TRUE; @@ -1060,10 +1067,10 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) call_id = alloc_call_id(); if (call_id == PJSUA_INVALID_ID) { - pjsip_endpt_respond_stateless(pjsua_var.endpt, rdata, + pjsip_endpt_respond_stateless(pjsua_var.endpt, rdata, PJSIP_SC_BUSY_HERE, NULL, NULL, NULL); - PJ_LOG(2,(THIS_FILE, + PJ_LOG(2,(THIS_FILE, "Unable to accept incoming call (too many calls)")); goto on_return; } @@ -1089,7 +1096,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) pjsip_response_addr res_addr; pjsip_get_response_addr(response->pool, rdata, &res_addr); - pjsip_endpt_send_response(pjsua_var.endpt, &res_addr, response, + pjsip_endpt_send_response(pjsua_var.endpt, &res_addr, response, NULL, NULL); } else { @@ -1143,13 +1150,13 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) if (st_text.slen == 2) st_text = *pjsip_get_status_text(st_code); - pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, + pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, st_code, &st_text, NULL, NULL, NULL); goto on_return; } } - /* + /* * Get which account is most likely to be associated with this incoming * call. We need the account to find which contact URI to put for * the call. @@ -1181,26 +1188,26 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) pjsip_hdr hdr_list; pjsip_warning_hdr *w; - pjsua_perror(THIS_FILE, "Bad SDP in incoming INVITE", + pjsua_perror(THIS_FILE, "Bad SDP in incoming INVITE", status); - w = pjsip_warning_hdr_create_from_status(rdata->tp_info.pool, + w = pjsip_warning_hdr_create_from_status(rdata->tp_info.pool, pjsip_endpt_name(pjsua_var.endpt), status); pj_list_init(&hdr_list); pj_list_push_back(&hdr_list, w); - pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, 400, + pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, 400, &reason, &hdr_list, NULL, NULL); goto on_return; } - /* Do quick checks on SDP before passing it to transports. More elabore + /* Do quick checks on SDP before passing it to transports. More elabore * checks will be done in pjsip_inv_verify_request2() below. */ if (offer->media_count==0) { const pj_str_t reason = pj_str("Missing media in SDP"); - pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, 400, &reason, + pjsip_endpt_respond(pjsua_var.endpt, NULL, rdata, 400, &reason, NULL, NULL, NULL); goto on_return; } @@ -1232,7 +1239,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) pjsip_response_addr res_addr; pjsip_get_response_addr(response->pool, rdata, &res_addr); - pjsip_endpt_send_response(pjsua_var.endpt, &res_addr, response, + pjsip_endpt_send_response(pjsua_var.endpt, &res_addr, response, NULL, NULL); } else { @@ -1242,7 +1249,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) } goto on_return; - } + } /* Get suitable Contact header */ if (pjsua_var.acc[acc_id].contact.slen) { @@ -1251,7 +1258,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) status = pjsua_acc_create_uas_contact(rdata->tp_info.pool, &contact, acc_id, rdata); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to generate Contact header", + pjsua_perror(THIS_FILE, "Unable to generate Contact header", status); pjsip_endpt_respond_stateless(pjsua_var.endpt, rdata, 500, NULL, NULL, NULL); @@ -1277,19 +1284,19 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) /* Set credentials */ if (pjsua_var.acc[acc_id].cred_cnt) { - pjsip_auth_clt_set_credentials(&dlg->auth_sess, + pjsip_auth_clt_set_credentials(&dlg->auth_sess, pjsua_var.acc[acc_id].cred_cnt, pjsua_var.acc[acc_id].cred); } /* Set preference */ - pjsip_auth_clt_set_prefs(&dlg->auth_sess, + pjsip_auth_clt_set_prefs(&dlg->auth_sess, &pjsua_var.acc[acc_id].cfg.auth_pref); /* Disable Session Timers if not prefered and the incoming INVITE request * did not require it. */ - if (pjsua_var.acc[acc_id].cfg.use_timer == PJSUA_SIP_TIMER_INACTIVE && + if (pjsua_var.acc[acc_id].cfg.use_timer == PJSUA_SIP_TIMER_INACTIVE && (options & PJSIP_INV_REQUIRE_TIMER) == 0) { options &= ~(PJSIP_INV_SUPPORT_TIMER); @@ -1314,7 +1321,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) pjsip_hdr hdr_list; pjsip_warning_hdr *w; - w = pjsip_warning_hdr_create_from_status(dlg->pool, + w = pjsip_warning_hdr_create_from_status(dlg->pool, pjsip_endpt_name(pjsua_var.endpt), status); pj_list_init(&hdr_list); @@ -1352,8 +1359,8 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) * in pjsua_call_answer(), see ticket #1526. */ if (offer || replaced_dlg) { - status = pjsua_media_channel_init(call->index, PJSIP_ROLE_UAS, - call->secure_level, + status = pjsua_media_channel_init(call->index, PJSIP_ROLE_UAS, + call->secure_level, rdata->tp_info.pool, offer, &sip_err_code, PJ_TRUE, @@ -1368,22 +1375,24 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) * a response message and terminate the invite here. */ pjsip_dlg_respond(dlg, rdata, sip_err_code, NULL, NULL, NULL); - pjsip_inv_terminate(call->inv, sip_err_code, PJ_FALSE); - call->inv = NULL; + pjsip_inv_terminate(call->inv, sip_err_code, PJ_FALSE); + call->inv = NULL; + call->async_call.dlg = NULL; goto on_return; } } else if (status != PJ_EPENDING) { pjsua_perror(THIS_FILE, "Error initializing media channel", status); pjsip_dlg_respond(dlg, rdata, sip_err_code, NULL, NULL, NULL); - pjsip_inv_terminate(call->inv, sip_err_code, PJ_FALSE); - call->inv = NULL; + pjsip_inv_terminate(call->inv, sip_err_code, PJ_FALSE); + call->inv = NULL; + call->async_call.dlg = NULL; goto on_return; } } /* Create answer */ -/* - status = pjsua_media_channel_create_sdp(call->index, rdata->tp_info.pool, +/* + status = pjsua_media_channel_create_sdp(call->index, rdata->tp_info.pool, offer, &answer, &sip_err_code); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Error creating SDP answer", status); @@ -1394,7 +1403,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) */ /* Init Session Timers */ - status = pjsip_timer_init_session(inv, + status = pjsip_timer_init_session(inv, &pjsua_var.acc[acc_id].cfg.timer_setting); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Session Timer init failed", status); @@ -1403,15 +1412,16 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) pjsua_media_channel_deinit(call->index); call->inv = NULL; + call->async_call.dlg = NULL; goto on_return; } /* Update NAT type of remote endpoint, only when there is SDP in - * incoming INVITE! + * incoming INVITE! */ if (pjsua_var.ua_cfg.nat_type_in_sdp && inv->neg && - pjmedia_sdp_neg_get_state(inv->neg) > PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER) + pjmedia_sdp_neg_get_state(inv->neg) > PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER) { const pjmedia_sdp_session *remote_sdp; @@ -1442,6 +1452,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) } pjsua_media_channel_deinit(call->index); call->inv = NULL; + call->async_call.dlg = NULL; goto on_return; } else { @@ -1450,6 +1461,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) pjsua_perror(THIS_FILE, "Unable to send 100 response", status); pjsua_media_channel_deinit(call->index); call->inv = NULL; + call->async_call.dlg = NULL; goto on_return; } } @@ -1475,13 +1487,13 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) call->async_call.call_var.inc_call.replaced_dlg = replaced_dlg; } } else { - /* Notify application if on_incoming_call() is overriden, + /* Notify application if on_incoming_call() is overriden, * otherwise hangup the call with 480 */ if (pjsua_var.ua_cfg.cb.on_incoming_call) { pjsua_var.ua_cfg.cb.on_incoming_call(acc_id, call_id, rdata); } else { - pjsua_call_hangup(call_id, PJSIP_SC_TEMPORARILY_UNAVAILABLE, + pjsua_call_hangup(call_id, PJSIP_SC_TEMPORARILY_UNAVAILABLE, NULL, NULL); } } @@ -1537,7 +1549,7 @@ pj_status_t acquire_call(const char *title, if (!PJ_TIME_VAL_LT(dtime, timeout)) break; } - + has_pjsua_lock = PJ_FALSE; status = PJSUA_TRY_LOCK(); @@ -1582,7 +1594,7 @@ pj_status_t acquire_call(const char *title, title)); return PJ_ETIMEDOUT; } - + *p_call = call; *p_dlg = dlg; @@ -1687,7 +1699,7 @@ PJ_DEF(pj_status_t) pjsua_call_get_info( pjsua_call_id call_id, pj_strncpy(&info->last_status_text, &call->last_text, sizeof(info->buf_.last_status_text)); } - + /* Audio & video count offered by remote */ info->rem_offerer = call->rem_offerer; if (call->rem_offerer) { @@ -1713,7 +1725,7 @@ PJ_DEF(pj_status_t) pjsua_call_get_info( pjsua_call_id call_id, } else if (call_med->type == PJMEDIA_TYPE_VIDEO) { pjmedia_vid_dev_index cap_dev = PJMEDIA_VID_INVALID_DEV; - info->media[info->media_cnt].stream.vid.win_in = + info->media[info->media_cnt].stream.vid.win_in = call_med->strm.v.rdr_win_id; if (call_med->strm.v.cap_win_id != PJSUA_INVALID_ID) { @@ -1749,7 +1761,7 @@ PJ_DEF(pj_status_t) pjsua_call_get_info( pjsua_call_id call_id, } else if (call_med->type == PJMEDIA_TYPE_VIDEO) { pjmedia_vid_dev_index cap_dev = PJMEDIA_VID_INVALID_DEV; - info->prov_media[info->prov_media_cnt].stream.vid.win_in = + info->prov_media[info->prov_media_cnt].stream.vid.win_in = call_med->strm.v.rdr_win_id; if (call_med->strm.v.cap_win_id != PJSUA_INVALID_ID) { @@ -1860,7 +1872,7 @@ PJ_DEF(pj_status_t) pjsua_call_get_rem_nat_type(pjsua_call_id call_id, /* * Get media transport info for the specified media index. */ -PJ_DEF(pj_status_t) +PJ_DEF(pj_status_t) pjsua_call_get_med_transport_info(pjsua_call_id call_id, unsigned med_idx, pjmedia_transport_info *t) @@ -1876,7 +1888,7 @@ pjsua_call_get_med_transport_info(pjsua_call_id call_id, PJSUA_LOCK(); call = &pjsua_var.calls[call_id]; - + if (med_idx >= call->med_cnt) { PJSUA_UNLOCK(); return PJ_EINVAL; @@ -1886,7 +1898,7 @@ pjsua_call_get_med_transport_info(pjsua_call_id call_id, pjmedia_transport_info_init(t); status = pjmedia_transport_get_info(call_med->tp, t); - + PJSUA_UNLOCK(); return status; } @@ -1918,7 +1930,7 @@ on_answer_call_med_tp_complete(pjsua_call_id call_id, } status = pjsua_media_channel_create_sdp(call_id, - call->async_call.dlg->pool, + call->async_call.dlg->pool, NULL, &sdp, &sip_err_code); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Error creating SDP answer", status); @@ -1970,7 +1982,7 @@ on_return: /* * Send response to incoming INVITE request. */ -PJ_DEF(pj_status_t) pjsua_call_answer( pjsua_call_id call_id, +PJ_DEF(pj_status_t) pjsua_call_answer( pjsua_call_id call_id, unsigned code, const pj_str_t *reason, const pjsua_msg_data *msg_data) @@ -2028,10 +2040,10 @@ PJ_DEF(pj_status_t) pjsua_call_answer2(pjsua_call_id call_id, * - call setting has just been set, or SDP offer needs to be sent, i.e: * answer code 183 or 2xx is issued */ - if (!call->med_ch_cb && + if (!call->med_ch_cb && (call->opt_inited || (code==183 || code/100==2)) && (!call->inv->neg || - pjmedia_sdp_neg_get_state(call->inv->neg) == + pjmedia_sdp_neg_get_state(call->inv->neg) == PJMEDIA_SDP_NEG_STATE_NULL)) { /* Mark call setting as initialized as it is just about to be used @@ -2062,7 +2074,7 @@ PJ_DEF(pj_status_t) pjsua_call_answer2(pjsua_call_id call_id, */ if (call->med_ch_cb) { struct call_answer *answer; - + PJ_LOG(4,(THIS_FILE, "Pending answering call %d upon completion " "of media transport", call_id)); @@ -2100,7 +2112,7 @@ PJ_DEF(pj_status_t) pjsua_call_answer2(pjsua_call_id call_id, /* Create response message */ status = pjsip_inv_answer(call->inv, code, reason, NULL, &tdata); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Error creating response", + pjsua_perror(THIS_FILE, "Error creating response", status); goto on_return; } @@ -2117,7 +2129,7 @@ PJ_DEF(pj_status_t) pjsua_call_answer2(pjsua_call_id call_id, /* Send the message */ status = pjsip_inv_send_msg(call->inv, tdata); if (status != PJ_SUCCESS) - pjsua_perror(THIS_FILE, "Error sending response", + pjsua_perror(THIS_FILE, "Error sending response", status); on_return: @@ -2146,7 +2158,7 @@ PJ_DEF(pj_status_t) pjsua_call_hangup(pjsua_call_id call_id, PJ_LOG(1,(THIS_FILE, "pjsua_call_hangup(): invalid call id %d", call_id)); } - + PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls, PJ_EINVAL); @@ -2172,7 +2184,7 @@ PJ_DEF(pj_status_t) pjsua_call_hangup(pjsua_call_id call_id, pj_strncpy(&call->last_text, reason, sizeof(call->last_text_buf_)); } - + goto on_return; } @@ -2187,13 +2199,13 @@ PJ_DEF(pj_status_t) pjsua_call_hangup(pjsua_call_id call_id, status = pjsip_inv_end_session(call->inv, code, reason, &tdata); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, - "Failed to create end session message", + pjsua_perror(THIS_FILE, + "Failed to create end session message", status); goto on_return; } - /* pjsip_inv_end_session may return PJ_SUCCESS with NULL + /* pjsip_inv_end_session may return PJ_SUCCESS with NULL * as p_tdata when INVITE transaction has not been answered * with any provisional responses. */ @@ -2206,8 +2218,8 @@ PJ_DEF(pj_status_t) pjsua_call_hangup(pjsua_call_id call_id, /* Send the message */ status = pjsip_inv_send_msg(call->inv, tdata); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, - "Failed to send end session message", + pjsua_perror(THIS_FILE, + "Failed to send end session message", status); goto on_return; } @@ -2238,7 +2250,7 @@ PJ_DEF(pj_status_t) pjsua_call_process_redirect( pjsua_call_id call_id, PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls, PJ_EINVAL); - status = acquire_call("pjsua_call_process_redirect()", call_id, + status = acquire_call("pjsua_call_process_redirect()", call_id, &call, &dlg); if (status != PJ_SUCCESS) return status; @@ -2256,11 +2268,19 @@ PJ_DEF(pj_status_t) pjsua_call_process_redirect( pjsua_call_id call_id, */ PJ_DEF(pj_status_t) pjsua_call_set_hold(pjsua_call_id call_id, const pjsua_msg_data *msg_data) +{ + return pjsua_call_set_hold2(call_id, 0, msg_data); +} + +PJ_DEF(pj_status_t) pjsua_call_set_hold2(pjsua_call_id call_id, + unsigned options, + const pjsua_msg_data *msg_data) { pjmedia_sdp_session *sdp; pjsua_call *call; pjsip_dialog *dlg = NULL; pjsip_tx_data *tdata; + pj_str_t *new_contact = NULL; pj_status_t status; PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls, @@ -2283,8 +2303,14 @@ PJ_DEF(pj_status_t) pjsua_call_set_hold(pjsua_call_id call_id, if (status != PJ_SUCCESS) goto on_return; + if ((options & PJSUA_CALL_UPDATE_CONTACT) && + pjsua_acc_is_valid(call->acc_id)) + { + new_contact = &pjsua_var.acc[call->acc_id].contact; + } + /* Create re-INVITE with new offer */ - status = pjsip_inv_reinvite( call->inv, NULL, sdp, &tdata); + status = pjsip_inv_reinvite( call->inv, new_contact, sdp, &tdata); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to create re-INVITE", status); goto on_return; @@ -2365,6 +2391,12 @@ PJ_DEF(pj_status_t) pjsua_call_reinvite2(pjsua_call_id call_id, if (status != PJ_SUCCESS) goto on_return; + if (pjsua_call_media_is_changing(call)) { + PJ_LOG(1,(THIS_FILE, "Unable to reinvite" ERR_MEDIA_CHANGING)); + status = PJ_EINVALIDOP; + goto on_return; + } + if (call->inv->state != PJSIP_INV_STATE_CONFIRMED) { PJ_LOG(3,(THIS_FILE, "Can not re-INVITE call that is not confirmed")); status = PJSIP_ESESSIONSTATE; @@ -2381,13 +2413,13 @@ PJ_DEF(pj_status_t) pjsua_call_reinvite2(pjsua_call_id call_id, if (call->local_hold && (call->opt.flag & PJSUA_CALL_UNHOLD)==0) { status = create_sdp_of_call_hold(call, &sdp); } else { - status = pjsua_media_channel_create_sdp(call->index, + status = pjsua_media_channel_create_sdp(call->index, call->inv->pool_prov, NULL, &sdp, NULL); call->local_hold = PJ_FALSE; } if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to get SDP from media endpoint", + pjsua_perror(THIS_FILE, "Unable to get SDP from media endpoint", status); goto on_return; } @@ -2472,6 +2504,12 @@ PJ_DEF(pj_status_t) pjsua_call_update2(pjsua_call_id call_id, if (status != PJ_SUCCESS) goto on_return; + if (pjsua_call_media_is_changing(call)) { + PJ_LOG(1,(THIS_FILE, "Unable to send UPDATE" ERR_MEDIA_CHANGING)); + status = PJ_EINVALIDOP; + goto on_return; + } + status = apply_call_setting(call, opt, NULL); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Failed to apply call setting", status); @@ -2479,11 +2517,17 @@ PJ_DEF(pj_status_t) pjsua_call_update2(pjsua_call_id call_id, } /* Create SDP */ - status = pjsua_media_channel_create_sdp(call->index, - call->inv->pool_prov, - NULL, &sdp, NULL); + if (call->local_hold && (call->opt.flag & PJSUA_CALL_UNHOLD)==0) { + status = create_sdp_of_call_hold(call, &sdp); + } else { + status = pjsua_media_channel_create_sdp(call->index, + call->inv->pool_prov, + NULL, &sdp, NULL); + call->local_hold = PJ_FALSE; + } + if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to get SDP from media endpoint", + pjsua_perror(THIS_FILE, "Unable to get SDP from media endpoint", status); goto on_return; } @@ -2511,8 +2555,6 @@ PJ_DEF(pj_status_t) pjsua_call_update2(pjsua_call_id call_id, goto on_return; } - call->local_hold = PJ_FALSE; - on_return: if (dlg) pjsip_dlg_dec_lock(dlg); pj_log_pop_indent(); @@ -2523,7 +2565,7 @@ on_return: /* * Initiate call transfer to the specified address. */ -PJ_DEF(pj_status_t) pjsua_call_xfer( pjsua_call_id call_id, +PJ_DEF(pj_status_t) pjsua_call_xfer( pjsua_call_id call_id, const pj_str_t *dest, const pjsua_msg_data *msg_data) { @@ -2539,15 +2581,15 @@ PJ_DEF(pj_status_t) pjsua_call_xfer( pjsua_call_id call_id, PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls && dest, PJ_EINVAL); - - PJ_LOG(4,(THIS_FILE, "Transfering call %d to %.*s", call_id, + + PJ_LOG(4,(THIS_FILE, "Transferring call %d to %.*s", call_id, (int)dest->slen, dest->ptr)); pj_log_push_indent(); status = acquire_call("pjsua_call_xfer()", call_id, &call, &dlg); if (status != PJ_SUCCESS) goto on_return; - + /* Create xfer client subscription. */ pj_bzero(&xfer_cb, sizeof(xfer_cb)); xfer_cb.on_evsub_state = &xfer_client_on_evsub_state; @@ -2586,7 +2628,7 @@ PJ_DEF(pj_status_t) pjsua_call_xfer( pjsua_call_id call_id, goto on_return; } - /* For simplicity (that's what this program is intended to be!), + /* For simplicity (that's what this program is intended to be!), * leave the original invite session as it is. More advanced application * may want to hold the INVITE, or terminate the invite, or whatever. */ @@ -2601,7 +2643,7 @@ on_return: /* * Initiate attended call transfer to the specified address. */ -PJ_DEF(pj_status_t) pjsua_call_xfer_replaces( pjsua_call_id call_id, +PJ_DEF(pj_status_t) pjsua_call_xfer_replaces( pjsua_call_id call_id, pjsua_call_id dest_call_id, unsigned options, const pjsua_msg_data *msg_data) @@ -2613,26 +2655,26 @@ PJ_DEF(pj_status_t) pjsua_call_xfer_replaces( pjsua_call_id call_id, int len; pjsip_uri *uri; pj_status_t status; - + PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls, PJ_EINVAL); - PJ_ASSERT_RETURN(dest_call_id>=0 && + PJ_ASSERT_RETURN(dest_call_id>=0 && dest_call_id<(int)pjsua_var.ua_cfg.max_calls, PJ_EINVAL); - - PJ_LOG(4,(THIS_FILE, "Transfering call %d replacing with call %d", + + PJ_LOG(4,(THIS_FILE, "Transferring call %d replacing with call %d", call_id, dest_call_id)); pj_log_push_indent(); - status = acquire_call("pjsua_call_xfer_replaces()", dest_call_id, + status = acquire_call("pjsua_call_xfer_replaces()", dest_call_id, &dest_call, &dest_dlg); if (status != PJ_SUCCESS) { pj_log_pop_indent(); return status; } - - /* + + /* * Create REFER destination URI with Replaces field. */ @@ -2640,7 +2682,7 @@ PJ_DEF(pj_status_t) pjsua_call_xfer_replaces( pjsua_call_id call_id, PJ_ASSERT_ON_FAIL(dest_dlg->remote.info_str.slen + dest_dlg->call_id->id.slen + dest_dlg->remote.info->tag.slen + - dest_dlg->local.info->tag.slen + 32 + dest_dlg->local.info->tag.slen + 32 < (long)sizeof(str_dest_buf), { status=PJSIP_EURITOOLONG; goto on_error; }); @@ -2649,7 +2691,7 @@ PJ_DEF(pj_status_t) pjsua_call_xfer_replaces( pjsua_call_id call_id, str_dest.slen = 1; uri = (pjsip_uri*) pjsip_uri_get_uri(dest_dlg->remote.info->uri); - len = pjsip_uri_print(PJSIP_URI_IN_REQ_URI, uri, + len = pjsip_uri_print(PJSIP_URI_IN_REQ_URI, uri, str_dest_buf+1, sizeof(str_dest_buf)-1); if (len < 0) { status = PJSIP_EURITOOLONG; @@ -2660,7 +2702,7 @@ PJ_DEF(pj_status_t) pjsua_call_xfer_replaces( pjsua_call_id call_id, /* Build the URI */ - len = pj_ansi_snprintf(str_dest_buf + str_dest.slen, + len = pj_ansi_snprintf(str_dest_buf + str_dest.slen, sizeof(str_dest_buf) - str_dest.slen, "?%s" "Replaces=%.*s" @@ -2677,12 +2719,12 @@ PJ_DEF(pj_status_t) pjsua_call_xfer_replaces( pjsua_call_id call_id, PJ_ASSERT_ON_FAIL(len > 0 && len <= (int)sizeof(str_dest_buf)-str_dest.slen, { status=PJSIP_EURITOOLONG; goto on_error; }); - + str_dest.ptr = str_dest_buf; str_dest.slen += len; pjsip_dlg_dec_lock(dest_dlg); - + status = pjsua_call_xfer(call_id, &str_dest, msg_data); pj_log_pop_indent(); @@ -2698,7 +2740,7 @@ on_error: /** * Send instant messaging inside INVITE session. */ -PJ_DEF(pj_status_t) pjsua_call_send_im( pjsua_call_id call_id, +PJ_DEF(pj_status_t) pjsua_call_send_im( pjsua_call_id call_id, const pj_str_t *mime_type, const pj_str_t *content, const pjsua_msg_data *msg_data, @@ -2722,7 +2764,7 @@ PJ_DEF(pj_status_t) pjsua_call_send_im( pjsua_call_id call_id, status = acquire_call("pjsua_call_send_im()", call_id, &call, &dlg); if (status != PJ_SUCCESS) goto on_return; - + /* Set default media type if none is specified */ if (mime_type == NULL) { mime_type = &mime_text_plain; @@ -2737,7 +2779,7 @@ PJ_DEF(pj_status_t) pjsua_call_send_im( pjsua_call_id call_id, } /* Add accept header. */ - pjsip_msg_add_hdr( tdata->msg, + pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*)pjsua_im_create_accept(tdata->pool)); /* Parse MIME type */ @@ -2765,7 +2807,7 @@ PJ_DEF(pj_status_t) pjsua_call_send_im( pjsua_call_id call_id, /* Send the request. */ - status = pjsip_dlg_send_request( call->inv->dlg, tdata, + status = pjsip_dlg_send_request( call->inv->dlg, tdata, pjsua_var.mod.id, im_data); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to send MESSAGE request", status); @@ -2782,7 +2824,7 @@ on_return: /* * Send IM typing indication inside INVITE session. */ -PJ_DEF(pj_status_t) pjsua_call_send_typing_ind( pjsua_call_id call_id, +PJ_DEF(pj_status_t) pjsua_call_send_typing_ind( pjsua_call_id call_id, pj_bool_t is_typing, const pjsua_msg_data*msg_data) { @@ -3067,14 +3109,14 @@ static pj_bool_t check_ice_complete(pjsua_call *call, pj_bool_t *need_reinv) pjsua_call_media *call_med = &call->media[i]; pjmedia_transport_info tpinfo; pjmedia_ice_transport_info *ice_info; - + if (call_med->tp_st == PJSUA_MED_TP_NULL || call_med->tp_st == PJSUA_MED_TP_DISABLED || call_med->state == PJSUA_CALL_MEDIA_ERROR) { continue; } - + pjmedia_transport_info_init(&tpinfo); pjmedia_transport_get_info(call_med->tp, &tpinfo); ice_info = (pjmedia_ice_transport_info*) @@ -3090,7 +3132,7 @@ static pj_bool_t check_ice_complete(pjsua_call *call, pj_bool_t *need_reinv) ice_complete = PJ_FALSE; break; } - + /* Check if ICE needs to send reinvite */ if (!ice_need_reinv && ice_info->sess_state == PJ_ICE_STRANS_STATE_RUNNING && @@ -3105,10 +3147,10 @@ static pj_bool_t check_ice_complete(pjsua_call *call, pj_bool_t *need_reinv) } } } - + if (ice_complete && need_reinv) *need_reinv = ice_need_reinv; - + return ice_complete; } @@ -3145,7 +3187,7 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) /* Delay this when the SDP negotiation done in call state EARLY and * remote does not support UPDATE method. */ - if (inv->state == PJSIP_INV_STATE_EARLY && + if (inv->state == PJSIP_INV_STATE_EARLY && pjsip_dlg_remote_has_cap(inv->dlg, PJSIP_H_ALLOW, NULL, &ST_UPDATE)!= PJSIP_DIALOG_CAP_SUPPORTED) { @@ -3165,7 +3207,7 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) if (!need_lock_codec && !ice_need_reinv) return PJ_SUCCESS; - + /* Okay! So we need to send re-INVITE/UPDATE */ /* Check if remote support UPDATE */ @@ -3186,7 +3228,7 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) (ice_need_reinv && need_lock_codec? ST_LOCK_CODEC : "") )); } - + /* Generate SDP re-offer */ status = pjsua_media_channel_create_sdp(call->index, pool, NULL, &new_offer, NULL); @@ -3203,12 +3245,12 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) */ if (need_lock_codec) { const pjmedia_sdp_session *ref_sdp; - + /* Get local active SDP as reference */ status = pjmedia_sdp_neg_get_active_local(call->inv->neg, &ref_sdp); if (status != PJ_SUCCESS) return status; - + /* Verify media count. Note that remote may add/remove media line * in the answer. When answer has less media, it must have been * handled by pjsua_media_channel_update() as disabled media. @@ -3230,7 +3272,7 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) const pjmedia_sdp_media *ref_m = ref_sdp->media[i]; pjmedia_sdp_media *m = new_offer->media[i]; pjsua_call_media *call_med = &call->media[i]; - + /* Verify if media is deactivated */ if (call_med->state == PJSUA_CALL_MEDIA_NONE || call_med->state == PJSUA_CALL_MEDIA_ERROR || @@ -3238,12 +3280,12 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) { continue; } - + /* Reset formats */ m->desc.fmt_count = 0; pjmedia_sdp_attr_remove_all(&m->attr_count, m->attr, "rtpmap"); pjmedia_sdp_attr_remove_all(&m->attr_count, m->attr, "fmtp"); - + /* Copy only the first format + any non-AV formats from * the active local SDP. */ @@ -3252,7 +3294,7 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) if (is_non_av_fmt(ref_m, fmt) || (++codec_cnt == 1)) { pjmedia_sdp_attr *a; - + m->desc.fmt[m->desc.fmt_count++] = *fmt; a = pjmedia_sdp_attr_find2(ref_m->attr_count, ref_m->attr, "rtpmap", fmt); @@ -3268,7 +3310,7 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) /* Put back original direction and "c=0.0.0.0" line */ { const pjmedia_sdp_session *cur_sdp; - + /* Get local active SDP */ status = pjmedia_sdp_neg_get_active_local(call->inv->neg, &cur_sdp); if (status != PJ_SUCCESS) @@ -3324,7 +3366,7 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) } } - + if (rem_can_update) { status = pjsip_inv_update(inv, NULL, new_offer, &tdata); } else { @@ -3356,7 +3398,7 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) call->reinv_ice_sent = PJ_TRUE; if (need_lock_codec) ++call->lock_codec.retry_cnt; - + return PJ_SUCCESS; } @@ -3365,7 +3407,7 @@ static pj_status_t process_pending_reinvite(pjsua_call *call) * This callback receives notification from invite session when the * session state has changed. */ -static void pjsua_call_on_state_changed(pjsip_inv_session *inv, +static void pjsua_call_on_state_changed(pjsip_inv_session *inv, pjsip_event *e) { pjsua_call *call; @@ -3386,9 +3428,9 @@ static void pjsua_call_on_state_changed(pjsip_inv_session *inv, case PJSIP_INV_STATE_CONNECTING: if (call->res_time.sec == 0) pj_gettimeofday(&call->res_time); - call->last_code = (pjsip_status_code) + call->last_code = (pjsip_status_code) e->body.tsx_state.tsx->status_code; - pj_strncpy(&call->last_text, + pj_strncpy(&call->last_text, &e->body.tsx_state.tsx->status_text, sizeof(call->last_text_buf_)); break; @@ -3407,12 +3449,12 @@ static void pjsua_call_on_state_changed(pjsip_inv_session *inv, pj_gettimeofday(&call->dis_time); if (call->res_time.sec == 0) pj_gettimeofday(&call->res_time); - if (e->type == PJSIP_EVENT_TSX_STATE && - e->body.tsx_state.tsx->status_code > call->last_code) + if (e->type == PJSIP_EVENT_TSX_STATE && + e->body.tsx_state.tsx->status_code > call->last_code) { - call->last_code = (pjsip_status_code) + call->last_code = (pjsip_status_code) e->body.tsx_state.tsx->status_code; - pj_strncpy(&call->last_text, + pj_strncpy(&call->last_text, &e->body.tsx_state.tsx->status_text, sizeof(call->last_text_buf_)); } else { @@ -3429,9 +3471,9 @@ static void pjsua_call_on_state_changed(pjsip_inv_session *inv, } break; default: - call->last_code = (pjsip_status_code) + call->last_code = (pjsip_status_code) e->body.tsx_state.tsx->status_code; - pj_strncpy(&call->last_text, + pj_strncpy(&call->last_text, &e->body.tsx_state.tsx->status_text, sizeof(call->last_text_buf_)); break; @@ -3443,7 +3485,7 @@ static void pjsua_call_on_state_changed(pjsip_inv_session *inv, if (call->xfer_sub && e->type==PJSIP_EVENT_TSX_STATE) { int st_code = -1; pjsip_evsub_state ev_state = PJSIP_EVSUB_STATE_ACTIVE; - + switch (call->inv->state) { case PJSIP_INV_STATE_NULL: @@ -3522,7 +3564,7 @@ static void pjsua_call_on_state_changed(pjsip_inv_session *inv, if (inv->state == PJSIP_INV_STATE_DISCONNECTED) { PJSUA_LOCK(); - + pjsua_media_channel_deinit(call->index); /* Free call */ @@ -3545,7 +3587,7 @@ static void pjsua_call_on_state_changed(pjsip_inv_session *inv, * This callback is called by invite session framework when UAC session * has forked. */ -static void pjsua_call_on_forked( pjsip_inv_session *inv, +static void pjsua_call_on_forked( pjsip_inv_session *inv, pjsip_event *e) { PJ_UNUSED_ARG(inv); @@ -3560,10 +3602,10 @@ static void pjsua_call_on_forked( pjsip_inv_session *inv, */ pjsip_dialog* on_dlg_forked(pjsip_dialog *dlg, pjsip_rx_data *res) { - if (dlg->uac_has_2xx && + if (dlg->uac_has_2xx && res->msg_info.cseq->method.id == PJSIP_INVITE_METHOD && pjsip_rdata_get_tsx(res) == NULL && - res->msg_info.msg->line.status.code/100 == 2) + res->msg_info.msg->line.status.code/100 == 2) { pjsip_dialog *forked_dlg; pjsip_tx_data *bye; @@ -3599,30 +3641,31 @@ pjsip_dialog* on_dlg_forked(pjsip_dialog *dlg, pjsip_rx_data *res) /* * Disconnect call upon error. */ -static void call_disconnect( pjsip_inv_session *inv, +static void call_disconnect( pjsip_inv_session *inv, int code ) { - pjsua_call *call; pjsip_tx_data *tdata; pj_status_t status; - call = (pjsua_call*) inv->dlg->mod_data[pjsua_var.mod.id]; - status = pjsip_inv_end_session(inv, code, NULL, &tdata); if (status != PJ_SUCCESS) return; - /* Add SDP in 488 status */ #if DISABLED_FOR_TICKET_1185 + pjsua_call *call; + + /* Add SDP in 488 status */ + call = (pjsua_call*) inv->dlg->mod_data[pjsua_var.mod.id]; + if (call && call->tp && tdata->msg->type==PJSIP_RESPONSE_MSG && - code==PJSIP_SC_NOT_ACCEPTABLE_HERE) + code==PJSIP_SC_NOT_ACCEPTABLE_HERE) { pjmedia_sdp_session *local_sdp; pjmedia_transport_info ti; pjmedia_transport_info_init(&ti); pjmedia_transport_get_info(call->med_tp, &ti); - status = pjmedia_endpt_create_sdp(pjsua_var.med_endpt, tdata->pool, + status = pjmedia_endpt_create_sdp(pjsua_var.med_endpt, tdata->pool, 1, &ti.sock_info, &local_sdp); if (status == PJ_SUCCESS) { pjsip_create_sdp_body(tdata->pool, local_sdp, @@ -3667,10 +3710,10 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, /*pjsua_media_channel_deinit(call->index);*/ /* Disconnect call if we're not in the middle of initializing an - * UAS dialog and if this is not a re-INVITE + * UAS dialog and if this is not a re-INVITE */ if (inv->state != PJSIP_INV_STATE_NULL && - inv->state != PJSIP_INV_STATE_CONFIRMED) + inv->state != PJSIP_INV_STATE_CONFIRMED) { call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); } @@ -3682,8 +3725,8 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, /* Get local and remote SDP */ status = pjmedia_sdp_neg_get_active_local(call->inv->neg, &local_sdp); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, - "Unable to retrieve currently active local SDP", + pjsua_perror(THIS_FILE, + "Unable to retrieve currently active local SDP", status); //call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); goto on_return; @@ -3691,8 +3734,8 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, status = pjmedia_sdp_neg_get_active_remote(call->inv->neg, &remote_sdp); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, - "Unable to retrieve currently active remote SDP", + pjsua_perror(THIS_FILE, + "Unable to retrieve currently active remote SDP", status); //call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); goto on_return; @@ -3706,7 +3749,7 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, /* Update media channel with the new SDP */ status = pjsua_media_channel_update(call->index, local_sdp, remote_sdp); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to create media session", + pjsua_perror(THIS_FILE, "Unable to create media session", status); call_disconnect(inv, PJSIP_SC_NOT_ACCEPTABLE_HERE); /* No need to deinitialize; media will be shutdown when call @@ -3731,16 +3774,17 @@ on_return: /* Modify SDP for call hold. */ static pj_status_t modify_sdp_of_call_hold(pjsua_call *call, pj_pool_t *pool, - pjmedia_sdp_session *sdp) + pjmedia_sdp_session *sdp, + pj_bool_t as_answerer) { unsigned mi; - /* Call-hold is done by set the media direction to 'sendonly' - * (PJMEDIA_DIR_ENCODING), except when current media direction is + /* Call-hold is done by set the media direction to 'sendonly' + * (PJMEDIA_DIR_ENCODING), except when current media direction is * 'inactive' (PJMEDIA_DIR_NONE). * (See RFC 3264 Section 8.4 and RFC 4317 Section 3.1) */ - /* http://trac.pjsip.org/repos/ticket/880 + /* http://trac.pjsip.org/repos/ticket/880 if (call->dir != PJMEDIA_DIR_ENCODING) { */ /* https://trac.pjsip.org/repos/ticket/1142: @@ -3782,7 +3826,11 @@ static pj_status_t modify_sdp_of_call_hold(pjsua_call *call, pjmedia_sdp_media_remove_all_attr(m, "recvonly"); pjmedia_sdp_media_remove_all_attr(m, "inactive"); - if (call->media[mi].dir & PJMEDIA_DIR_ENCODING) { + /* When as answerer, just simply set dir to "sendonly", note that + * if the offer uses "sendonly" or "inactive", the SDP negotiator + * will change our answer dir to "inactive". + */ + if (as_answerer || (call->media[mi].dir & PJMEDIA_DIR_ENCODING)) { /* Add sendonly attribute */ attr = pjmedia_sdp_attr_create(pool, "sendonly", NULL); pjmedia_sdp_media_add_attr(m, attr); @@ -3816,7 +3864,7 @@ static pj_status_t create_sdp_of_call_hold(pjsua_call *call, return status; } - status = modify_sdp_of_call_hold(call, pool, sdp); + status = modify_sdp_of_call_hold(call, pool, sdp, PJ_FALSE); if (status != PJ_SUCCESS) return status; @@ -3841,12 +3889,18 @@ static void pjsua_call_on_rx_offer(pjsip_inv_session *inv, /* Supply candidate answer */ PJ_LOG(4,(THIS_FILE, "Call %d: received updated media offer", call->index)); + pj_log_push_indent(); + if (pjsua_call_media_is_changing(call)) { + PJ_LOG(1,(THIS_FILE, "Unable to process offer" ERR_MEDIA_CHANGING)); + goto on_return; + } + if (pjsua_var.ua_cfg.cb.on_call_rx_offer) { pjsip_status_code code = PJSIP_SC_OK; pjsua_call_setting opt = call->opt; - + (*pjsua_var.ua_cfg.cb.on_call_rx_offer)(call->index, offer, NULL, &code, &opt); @@ -3858,14 +3912,14 @@ static void pjsua_call_on_rx_offer(pjsip_inv_session *inv, call->opt = opt; } - + /* Re-init media for the new remote offer before creating SDP */ status = apply_call_setting(call, &call->opt, offer); if (status != PJ_SUCCESS) goto on_return; - status = pjsua_media_channel_create_sdp(call->index, - call->inv->pool_prov, + status = pjsua_media_channel_create_sdp(call->index, + call->inv->pool_prov, offer, &answer, NULL); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to create local SDP", status); @@ -3906,7 +3960,7 @@ static void pjsua_call_on_rx_offer(pjsip_inv_session *inv, /* Check if call is on-hold */ if (call->local_hold) { - modify_sdp_of_call_hold(call, call->inv->pool_prov, answer); + modify_sdp_of_call_hold(call, call->inv->pool_prov, answer, PJ_TRUE); } status = pjsip_inv_set_sdp_answer(call->inv, answer); @@ -3932,10 +3986,15 @@ static void pjsua_call_on_create_offer(pjsip_inv_session *inv, pj_log_push_indent(); call = (pjsua_call*) inv->dlg->mod_data[pjsua_var.mod.id]; + if (pjsua_call_media_is_changing(call)) { + *offer = NULL; + PJ_LOG(1,(THIS_FILE, "Unable to create offer" ERR_MEDIA_CHANGING)); + goto on_return; + } /* See if we've put call on hold. */ if (call->local_hold) { - PJ_LOG(4,(THIS_FILE, + PJ_LOG(4,(THIS_FILE, "Call %d: call is on-hold locally, creating call-hold SDP ", call->index)); status = create_sdp_of_call_hold( call, offer ); @@ -3943,8 +4002,8 @@ static void pjsua_call_on_create_offer(pjsip_inv_session *inv, PJ_LOG(4,(THIS_FILE, "Call %d: asked to send a new offer", call->index)); - status = pjsua_media_channel_create_sdp(call->index, - call->inv->pool_prov, + status = pjsua_media_channel_create_sdp(call->index, + call->inv->pool_prov, NULL, offer, NULL); } @@ -3964,13 +4023,13 @@ on_return: */ static void xfer_client_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) { - + PJ_UNUSED_ARG(event); pj_log_push_indent(); /* - * When subscription is accepted (got 200/OK to REFER), check if + * When subscription is accepted (got 200/OK to REFER), check if * subscription suppressed. */ if (pjsip_evsub_get_state(sub) == PJSIP_EVSUB_STATE_ACCEPTED) { @@ -3983,24 +4042,24 @@ static void xfer_client_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) call = (pjsua_call*) pjsip_evsub_get_mod_data(sub, pjsua_var.mod.id); /* Must be receipt of response message */ - pj_assert(event->type == PJSIP_EVENT_TSX_STATE && + pj_assert(event->type == PJSIP_EVENT_TSX_STATE && event->body.tsx_state.type == PJSIP_EVENT_RX_MSG); rdata = event->body.tsx_state.src.rdata; /* Find Refer-Sub header */ refer_sub = (pjsip_generic_string_hdr*) - pjsip_msg_find_hdr_by_name(rdata->msg_info.msg, + pjsip_msg_find_hdr_by_name(rdata->msg_info.msg, &REFER_SUB, NULL); /* Check if subscription is suppressed */ if (refer_sub && pj_stricmp2(&refer_sub->hvalue, "false")==0) { /* Since no subscription is desired, assume that call has been - * transfered successfully. + * transferred successfully. */ if (call && pjsua_var.ua_cfg.cb.on_call_transfer_status) { const pj_str_t ACCEPTED = { "Accepted", 8 }; pj_bool_t cont = PJ_FALSE; - (*pjsua_var.ua_cfg.cb.on_call_transfer_status)(call->index, + (*pjsua_var.ua_cfg.cb.on_call_transfer_status)(call->index, 200, &ACCEPTED, PJ_TRUE, @@ -4015,13 +4074,13 @@ static void xfer_client_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) pjsip_evsub_terminate(sub, PJ_TRUE); } else { - /* Notify application about call transfer progress. + /* Notify application about call transfer progress. * Initially notify with 100/Accepted status. */ if (call && pjsua_var.ua_cfg.cb.on_call_transfer_status) { const pj_str_t ACCEPTED = { "Accepted", 8 }; pj_bool_t cont = PJ_FALSE; - (*pjsua_var.ua_cfg.cb.on_call_transfer_status)(call->index, + (*pjsua_var.ua_cfg.cb.on_call_transfer_status)(call->index, 100, &ACCEPTED, PJ_FALSE, @@ -4033,7 +4092,7 @@ static void xfer_client_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) * On incoming NOTIFY, notify application about call transfer progress. */ else if (pjsip_evsub_get_state(sub) == PJSIP_EVSUB_STATE_ACTIVE || - pjsip_evsub_get_state(sub) == PJSIP_EVSUB_STATE_TERMINATED) + pjsip_evsub_get_state(sub) == PJSIP_EVSUB_STATE_TERMINATED) { pjsua_call *call; pjsip_msg *msg; @@ -4045,7 +4104,7 @@ static void xfer_client_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) call = (pjsua_call*) pjsip_evsub_get_mod_data(sub, pjsua_var.mod.id); - /* When subscription is terminated, clear the xfer_sub member of + /* When subscription is terminated, clear the xfer_sub member of * the inv_data. */ if (pjsip_evsub_get_state(sub) == PJSIP_EVSUB_STATE_TERMINATED) { @@ -4071,7 +4130,7 @@ static void xfer_client_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) msg = rdata->msg_info.msg; body = msg->body; if (!body) { - PJ_LOG(2,(THIS_FILE, + PJ_LOG(2,(THIS_FILE, "Warning: received NOTIFY without message body")); goto on_return; } @@ -4080,17 +4139,17 @@ static void xfer_client_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) if (pj_stricmp2(&body->content_type.type, "message") != 0 || pj_stricmp2(&body->content_type.subtype, "sipfrag") != 0) { - PJ_LOG(2,(THIS_FILE, + PJ_LOG(2,(THIS_FILE, "Warning: received NOTIFY with non message/sipfrag " "content")); goto on_return; } /* Try to parse the content */ - status = pjsip_parse_status_line((char*)body->data, body->len, + status = pjsip_parse_status_line((char*)body->data, body->len, &status_line); if (status != PJ_SUCCESS) { - PJ_LOG(2,(THIS_FILE, + PJ_LOG(2,(THIS_FILE, "Warning: received NOTIFY with invalid " "message/sipfrag content")); goto on_return; @@ -4104,7 +4163,7 @@ static void xfer_client_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) /* Notify application */ is_last = (pjsip_evsub_get_state(sub)==PJSIP_EVSUB_STATE_TERMINATED); cont = !is_last; - (*pjsua_var.ua_cfg.cb.on_call_transfer_status)(call->index, + (*pjsua_var.ua_cfg.cb.on_call_transfer_status)(call->index, status_line.code, &status_line.reason, is_last, &cont); @@ -4119,7 +4178,7 @@ static void xfer_client_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) if (status_line.code/100 == 2 && !is_last) { pjsip_tx_data *tdata; - status = pjsip_evsub_initiate(sub, &pjsip_subscribe_method, + status = pjsip_evsub_initiate(sub, &pjsip_subscribe_method, 0, &tdata); if (status == PJ_SUCCESS) status = pjsip_evsub_send_request(sub, tdata); @@ -4142,7 +4201,7 @@ static void xfer_server_on_evsub_state( pjsip_evsub *sub, pjsip_event *event) pj_log_push_indent(); /* - * When subscription is terminated, clear the xfer_sub member of + * When subscription is terminated, clear the xfer_sub member of * the inv_data. */ if (pjsip_evsub_get_state(sub) == PJSIP_EVSUB_STATE_TERMINATED) { @@ -4166,7 +4225,7 @@ on_return: /* * Follow transfer (REFER) request. */ -static void on_call_transfered( pjsip_inv_session *inv, +static void on_call_transferred( pjsip_inv_session *inv, pjsip_rx_data *rdata ) { pj_status_t status; @@ -4217,21 +4276,21 @@ static void on_call_transfered( pjsip_inv_session *inv, * request. */ ref_by_hdr = (pjsip_hdr*) - pjsip_msg_find_hdr_by_name(rdata->msg_info.msg, &str_ref_by, + pjsip_msg_find_hdr_by_name(rdata->msg_info.msg, &str_ref_by, NULL); /* Notify callback */ code = PJSIP_SC_ACCEPTED; if (pjsua_var.ua_cfg.cb.on_call_transfer_request) { (*pjsua_var.ua_cfg.cb.on_call_transfer_request)(existing_call->index, - &refer_to->hvalue, + &refer_to->hvalue, &code); } call_opt = existing_call->opt; if (pjsua_var.ua_cfg.cb.on_call_transfer_request2) { (*pjsua_var.ua_cfg.cb.on_call_transfer_request2)(existing_call->index, - &refer_to->hvalue, + &refer_to->hvalue, &code, &call_opt); } @@ -4244,10 +4303,10 @@ static void on_call_transfered( pjsip_inv_session *inv, goto on_return; } - PJ_LOG(3,(THIS_FILE, "Call to %.*s is being transfered to %.*s", + PJ_LOG(3,(THIS_FILE, "Call to %.*s is being transferred to %.*s", (int)inv->dlg->remote.info_str.slen, inv->dlg->remote.info_str.ptr, - (int)refer_to->hvalue.slen, + (int)refer_to->hvalue.slen, refer_to->hvalue.ptr)); if (no_refer_sub) { @@ -4258,7 +4317,7 @@ static void on_call_transfered( pjsip_inv_session *inv, const pj_str_t str_false = { "false", 5}; pjsip_hdr *hdr; - status = pjsip_dlg_create_response(inv->dlg, rdata, code, NULL, + status = pjsip_dlg_create_response(inv->dlg, rdata, code, NULL, &tdata); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to create 2xx response to REFER", @@ -4267,7 +4326,7 @@ static void on_call_transfered( pjsip_inv_session *inv, } /* Add Refer-Sub header */ - hdr = (pjsip_hdr*) + hdr = (pjsip_hdr*) pjsip_generic_string_hdr_create(tdata->pool, &str_refer_sub, &str_false); pjsip_msg_add_hdr(tdata->msg, hdr); @@ -4311,8 +4370,8 @@ static void on_call_transfered( pjsip_inv_session *inv, const pj_str_t str_true = { "true", 4 }; pjsip_hdr *hdr; - hdr = (pjsip_hdr*) - pjsip_generic_string_hdr_create(inv->dlg->pool, + hdr = (pjsip_hdr*) + pjsip_generic_string_hdr_create(inv->dlg->pool, &str_refer_sub, &str_true); pj_list_push_back(&hdr_list, hdr); @@ -4326,7 +4385,7 @@ static void on_call_transfered( pjsip_inv_session *inv, status = pjsip_xfer_notify( sub, PJSIP_EVSUB_STATE_ACTIVE, 100, NULL, &tdata); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to create NOTIFY to REFER", + pjsua_perror(THIS_FILE, "Unable to create NOTIFY to REFER", status); goto on_return; } @@ -4342,7 +4401,7 @@ static void on_call_transfered( pjsip_inv_session *inv, /* We're cheating here. * We need to get a null terminated string from a pj_str_t. * So grab the pointer from the hvalue and NULL terminate it, knowing - * that the NULL position will be occupied by a newline. + * that the NULL position will be occupied by a newline. */ uri = refer_to->hvalue.ptr; uri[refer_to->hvalue.slen] = '\0'; @@ -4362,7 +4421,7 @@ static void on_call_transfered( pjsip_inv_session *inv, /* Now make the outgoing call. */ tmp = pj_str(uri); status = pjsua_call_make_call(existing_call->acc_id, &tmp, &call_opt, - existing_call->user_data, &msg_data, + existing_call->user_data, &msg_data, &new_call); if (status != PJ_SUCCESS) { @@ -4371,13 +4430,13 @@ static void on_call_transfered( pjsip_inv_session *inv, status = pjsip_xfer_notify(sub, PJSIP_EVSUB_STATE_TERMINATED, 500, NULL, &tdata); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to create NOTIFY to REFER", + pjsua_perror(THIS_FILE, "Unable to create NOTIFY to REFER", status); goto on_return; } status = pjsip_xfer_send_request(sub, tdata); if (status != PJ_SUCCESS) { - pjsua_perror(THIS_FILE, "Unable to send NOTIFY to REFER", + pjsua_perror(THIS_FILE, "Unable to send NOTIFY to REFER", status); goto on_return; } @@ -4393,7 +4452,7 @@ static void on_call_transfered( pjsip_inv_session *inv, pjsua_var.calls[new_call].xfer_sub = sub; /* Put the invite_data in the subscription. */ - pjsip_evsub_set_mod_data(sub, pjsua_var.mod.id, + pjsip_evsub_set_mod_data(sub, pjsua_var.mod.id, &pjsua_var.calls[new_call]); } @@ -4450,7 +4509,7 @@ static void pjsua_call_on_tsx_state_changed(pjsip_inv_session *inv, /* * Incoming REFER request. */ - on_call_transfered(call->inv, e->body.tsx_state.src.rdata); + on_call_transferred(call->inv, e->body.tsx_state.src.rdata); } else if (tsx->role==PJSIP_ROLE_UAS && @@ -4461,12 +4520,9 @@ static void pjsua_call_on_tsx_state_changed(pjsip_inv_session *inv, * Incoming MESSAGE request! */ pjsip_rx_data *rdata; - pjsip_msg *msg; pjsip_accept_hdr *accept_hdr; - pj_status_t status; rdata = e->body.tsx_state.src.rdata; - msg = rdata->msg_info.msg; /* Request MUST have message body, with Content-Type equal to * "text/plain". @@ -4478,15 +4534,15 @@ static void pjsua_call_on_tsx_state_changed(pjsip_inv_session *inv, pj_list_init(&hdr_list); pj_list_push_back(&hdr_list, accept_hdr); - pjsip_dlg_respond( inv->dlg, rdata, PJSIP_SC_NOT_ACCEPTABLE_HERE, + pjsip_dlg_respond( inv->dlg, rdata, PJSIP_SC_NOT_ACCEPTABLE_HERE, NULL, &hdr_list, NULL ); goto on_return; } /* Respond with 200 first, so that remote doesn't retransmit in case - * the UI takes too long to process the message. + * the UI takes too long to process the message. */ - status = pjsip_dlg_respond( inv->dlg, rdata, 200, NULL, NULL, NULL); + pjsip_dlg_respond( inv->dlg, rdata, 200, NULL, NULL, NULL); /* Process MESSAGE request */ pjsua_im_process_pager(call->index, &inv->dlg->remote.info_str, @@ -4525,6 +4581,20 @@ static void pjsua_call_on_tsx_state_changed(pjsip_inv_session *inv, PJ_LOG(3,(THIS_FILE, "Error putting call %d on hold (reason=%d)", call->index, tsx->status_code)); } + } else if (tsx->role == PJSIP_ROLE_UAC && + (call->opt.flag & PJSUA_CALL_UNHOLD) && + tsx->state >= PJSIP_TSX_STATE_COMPLETED) + { + /* Monitor the status of call unhold request */ + if (tsx->status_code/100 != 2 && + (tsx->status_code!=401 && tsx->status_code!=407)) + { + /* Call unhold failed */ + call->opt.flag &= ~PJSUA_CALL_UNHOLD; + call->local_hold = PJ_TRUE; + PJ_LOG(3,(THIS_FILE, "Error releasing hold on call %d (reason=%d)", + call->index, tsx->status_code)); + } } else if (tsx->role==PJSIP_ROLE_UAS && tsx->state==PJSIP_TSX_STATE_TRYING && pjsip_method_cmp(&tsx->method, &pjsip_info_method)==0) @@ -4578,7 +4648,7 @@ static pjsip_redirect_op pjsua_call_on_redirected(pjsip_inv_session *inv, pj_log_push_indent(); if (pjsua_var.ua_cfg.cb.on_call_redirected) { - op = (*pjsua_var.ua_cfg.cb.on_call_redirected)(call->index, + op = (*pjsua_var.ua_cfg.cb.on_call_redirected)(call->index, target, e); } else { PJ_LOG(4,(THIS_FILE, "Unhandled redirection for call %d " diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_core.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_core.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_core.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_core.c index e3522388b595a78885822726bc0527cff941a796..fc59dfe9b5cd957dcaccfac22e8647bf8298f816 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_core.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_core.c @@ -1,4 +1,4 @@ -/* $Id: pjsua_core.c 4370 2013-02-26 05:30:00Z nanang $ */ +/* $Id: pjsua_core.c 4735 2014-02-06 05:09:52Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -85,7 +85,7 @@ PJ_DEF(void) pjsua_logging_config_default(pjsua_logging_config *cfg) PJ_LOG_HAS_MICRO_SEC | PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_SPACE | PJ_LOG_HAS_THREAD_SWC | PJ_LOG_HAS_INDENT; -#if defined(PJ_WIN32) && PJ_WIN32 != 0 +#if (defined(PJ_WIN32) && PJ_WIN32 != 0) || (defined(PJ_WIN64) && PJ_WIN64 != 0) cfg->decor |= PJ_LOG_HAS_COLOR; #endif } @@ -162,6 +162,8 @@ PJ_DEF(pjsua_msg_data*) pjsua_msg_data_clone(pj_pool_t *pool, msg_data = PJ_POOL_ZALLOC_T(pool, pjsua_msg_data); PJ_ASSERT_RETURN(msg_data != NULL, NULL); + pj_strdup(pool, &msg_data->target_uri, &rhs->target_uri); + pj_list_init(&msg_data->hdr_list); hdr = rhs->hdr_list.next; while (hdr != &rhs->hdr_list) { @@ -307,10 +309,23 @@ PJ_DEF(void) pjsua_buddy_config_default(pjsua_buddy_config *cfg) PJ_DEF(void) pjsua_media_config_default(pjsua_media_config *cfg) { + const pj_sys_info *si = pj_get_sys_info(); + pj_str_t dev_model = {"iPhone5", 7}; + pj_bzero(cfg, sizeof(*cfg)); cfg->clock_rate = PJSUA_DEFAULT_CLOCK_RATE; - cfg->snd_clock_rate = 0; + /* It is reported that there may be some media server resampling problem + * with iPhone 5 devices running iOS 7, so we set the sound device's + * clock rate to 44100 to avoid resampling. + */ + if (pj_stristr(&si->machine, &dev_model) && + ((si->os_ver & 0xFF000000) >> 24) >= 7) + { + cfg->snd_clock_rate = 44100; + } else { + cfg->snd_clock_rate = 0; + } cfg->channel_count = 1; cfg->audio_frame_ptime = PJSUA_DEFAULT_AUDIO_FRAME_PTIME; cfg->max_media_ports = PJSUA_MAX_CONF_PORTS; @@ -684,6 +699,50 @@ static int worker_thread(void *arg) return 0; } +PJ_DEF(pj_status_t) pjsua_register_worker_thread(const char *name) +{ + pj_thread_desc desc; + pj_thread_t *thread; + pj_status_t status; + + if (pjsua_var.thread_quit_flag) + return PJ_EGONE; + + status = pj_thread_register(NULL, desc, &thread); + if (status != PJ_SUCCESS) + return status; + + if (name) + PJ_LOG(4,(THIS_FILE, "Worker thread %s started", name)); + + worker_thread(NULL); + + if (name) + PJ_LOG(4,(THIS_FILE, "Worker thread %s stopped", name)); + + return PJ_SUCCESS; +} + +PJ_DEF(void) pjsua_stop_worker_threads(void) +{ + unsigned i; + + pjsua_var.thread_quit_flag = 1; + + /* Wait worker threads to quit: */ + for (i=0; i<(int)pjsua_var.ua_cfg.thread_cnt; ++i) { + if (pjsua_var.thread[i]) { + pj_status_t status; + status = pj_thread_join(pjsua_var.thread[i]); + if (status != PJ_SUCCESS) { + PJ_PERROR(4,(THIS_FILE, status, "Error joining worker thread")); + pj_thread_sleep(1000); + } + pj_thread_destroy(pjsua_var.thread[i]); + pjsua_var.thread[i] = NULL; + } + } +} /* Init random seed */ static void init_random_seed(void) @@ -1179,12 +1238,13 @@ static pj_bool_t test_stun_on_status(pj_stun_sock *stun_sock, (int)sess->srv[sess->idx].slen, sess->srv[sess->idx].ptr, errmsg)); - sess->status = status; - pj_stun_sock_destroy(stun_sock); sess->stun_sock = NULL; ++sess->idx; + if (sess->idx >= sess->count) + sess->status = status; + resolve_stun_entry(sess); return PJ_FALSE; @@ -1214,6 +1274,8 @@ static pj_bool_t test_stun_on_status(pj_stun_sock *stun_sock, */ static void resolve_stun_entry(pjsua_stun_resolve *sess) { + pj_status_t status = PJ_EUNKNOWN; + stun_resolve_add_ref(sess); /* Loop while we have entry to try */ @@ -1231,10 +1293,10 @@ static void resolve_stun_entry(pjsua_stun_resolve *sess) sess->srv[sess->idx].ptr); /* Parse the server entry into host:port */ - sess->status = pj_sockaddr_parse2(af, 0, &sess->srv[sess->idx], + status = pj_sockaddr_parse2(af, 0, &sess->srv[sess->idx], &hostpart, &port, NULL); - if (sess->status != PJ_SUCCESS) { - PJ_LOG(2,(THIS_FILE, "Invalid STUN server entry %s", target)); + if (status != PJ_SUCCESS) { + PJ_LOG(2,(THIS_FILE, "Invalid STUN server entry %s", target)); continue; } @@ -1250,12 +1312,12 @@ static void resolve_stun_entry(pjsua_stun_resolve *sess) /* Use STUN_sock to test this entry */ pj_bzero(&stun_sock_cb, sizeof(stun_sock_cb)); stun_sock_cb.on_status = &test_stun_on_status; - sess->status = pj_stun_sock_create(&pjsua_var.stun_cfg, "stunresolve", + status = pj_stun_sock_create(&pjsua_var.stun_cfg, "stunresolve", pj_AF_INET(), &stun_sock_cb, NULL, sess, &sess->stun_sock); - if (sess->status != PJ_SUCCESS) { + if (status != PJ_SUCCESS) { char errmsg[PJ_ERR_MSG_SIZE]; - pj_strerror(sess->status, errmsg, sizeof(errmsg)); + pj_strerror(status, errmsg, sizeof(errmsg)); PJ_LOG(4,(THIS_FILE, "Error creating STUN socket for %s: %s", target, errmsg)); @@ -1263,11 +1325,11 @@ static void resolve_stun_entry(pjsua_stun_resolve *sess) continue; } - sess->status = pj_stun_sock_start(sess->stun_sock, &hostpart, + status = pj_stun_sock_start(sess->stun_sock, &hostpart, port, pjsua_var.resolver); - if (sess->status != PJ_SUCCESS) { + if (status != PJ_SUCCESS) { char errmsg[PJ_ERR_MSG_SIZE]; - pj_strerror(sess->status, errmsg, sizeof(errmsg)); + pj_strerror(status, errmsg, sizeof(errmsg)); PJ_LOG(4,(THIS_FILE, "Error starting STUN socket for %s: %s", target, errmsg)); @@ -1287,8 +1349,9 @@ static void resolve_stun_entry(pjsua_stun_resolve *sess) if (sess->idx >= sess->count) { /* No more entries to try */ - PJ_ASSERT_ON_FAIL(sess->status != PJ_SUCCESS, - sess->status = PJ_EUNKNOWN); + pj_assert(status != PJ_SUCCESS || sess->status != PJ_EPENDING); + if (sess->status == PJ_EPENDING) + sess->status = status; stun_resolve_complete(sess); } @@ -1339,7 +1402,18 @@ PJ_DEF(pj_status_t) pjsua_resolve_stun_servers( unsigned count, return PJ_SUCCESS; while (sess->status == PJ_EPENDING) { - pjsua_handle_events(50); + /* If there is no worker thread or + * the function is called from the only worker thread, + * we have to handle the events here. + */ + if (pjsua_var.thread[0] == NULL || + (pj_thread_this() == pjsua_var.thread[0] && + pjsua_var.ua_cfg.thread_cnt == 1)) + { + pjsua_handle_events(50); + } else { + pj_thread_sleep(20); + } } status = sess->status; @@ -1425,10 +1499,18 @@ pj_status_t resolve_stun_server(pj_bool_t wait) */ if (wait) { while (pjsua_var.stun_status == PJ_EPENDING) { - if (pjsua_var.thread[0] == NULL) + /* If there is no worker thread or + * the function is called from the only worker thread, + * we have to handle the events here. + */ + if (pjsua_var.thread[0] == NULL || + (pj_thread_this() == pjsua_var.thread[0] && + pjsua_var.ua_cfg.thread_cnt == 1)) + { pjsua_handle_events(10); - else + } else { pj_thread_sleep(10); + } } } } @@ -1463,21 +1545,7 @@ PJ_DEF(pj_status_t) pjsua_destroy2(unsigned flags) } /* Signal threads to quit: */ - pjsua_var.thread_quit_flag = 1; - - /* Wait worker threads to quit: */ - for (i=0; i<(int)pjsua_var.ua_cfg.thread_cnt; ++i) { - if (pjsua_var.thread[i]) { - pj_status_t status; - status = pj_thread_join(pjsua_var.thread[i]); - if (status != PJ_SUCCESS) { - PJ_PERROR(4,(THIS_FILE, status, "Error joining worker thread")); - pj_thread_sleep(1000); - } - pj_thread_destroy(pjsua_var.thread[i]); - pjsua_var.thread[i] = NULL; - } - } + pjsua_stop_worker_threads(); if (pjsua_var.endpt) { unsigned max_wait; @@ -1489,6 +1557,14 @@ PJ_DEF(pj_status_t) pjsua_destroy2(unsigned flags) pjsua_call_hangup_all(); } + /* Deinit media channel of all calls (see #1717) */ + for (i=0; i<(int)pjsua_var.ua_cfg.max_calls; ++i) { + /* TODO: check if we're not allowed to send to network in the + * "flags", and if so do not do TURN allocation... + */ + pjsua_media_channel_deinit(i); + } + /* Set all accounts to offline */ for (i=0; i<(int)PJ_ARRAY_SIZE(pjsua_var.acc); ++i) { if (!pjsua_var.acc[i].valid) @@ -1500,9 +1576,6 @@ PJ_DEF(pj_status_t) pjsua_destroy2(unsigned flags) /* Terminate all presence subscriptions. */ pjsua_pres_shutdown(flags); - /* Destroy media (to shutdown media transports etc) */ - pjsua_media_subsys_destroy(flags); - /* Wait for sometime until all publish client sessions are done * (ticket #364) */ @@ -1606,6 +1679,9 @@ PJ_DEF(pj_status_t) pjsua_destroy2(unsigned flags) PJ_LOG(4,(THIS_FILE, "Destroying...")); + /* Destroy media (to shutdown media endpoint, etc) */ + pjsua_media_subsys_destroy(flags); + /* Must destroy endpoint first before destroying pools in * buddies or accounts, since shutting down transaction layer * may emit events which trigger some buddy or account callbacks @@ -1636,6 +1712,11 @@ PJ_DEF(pj_status_t) pjsua_destroy2(unsigned flags) pj_mutex_destroy(pjsua_var.mutex); pjsua_var.mutex = NULL; } + + if (pjsua_var.timer_mutex) { + pj_mutex_destroy(pjsua_var.timer_mutex); + pjsua_var.timer_mutex = NULL; + } /* Destroy pool and pool factory. */ if (pjsua_var.pool) { @@ -2674,7 +2755,7 @@ PJ_DEF(pj_status_t) pjsua_verify_url(const char *c_url) pjsip_uri *p; pj_pool_t *pool; char *url; - int len = (c_url ? pj_ansi_strlen(c_url) : 0); + pj_size_t len = (c_url ? pj_ansi_strlen(c_url) : 0); if (!len) return PJSIP_EINVALIDURI; @@ -2698,7 +2779,7 @@ PJ_DEF(pj_status_t) pjsua_verify_sip_url(const char *c_url) pjsip_uri *p; pj_pool_t *pool; char *url; - int len = (c_url ? pj_ansi_strlen(c_url) : 0); + pj_size_t len = (c_url ? pj_ansi_strlen(c_url) : 0); if (!len) return PJSIP_EINVALIDURI; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_dump.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_dump.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_dump.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_dump.c index a24b71a7ad685cc4e8bea412b136dab8ae590ee9..1a4fa08afc3156a8fe7974085ee5bd4c221a89fb 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_dump.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_dump.c @@ -1,4 +1,4 @@ -/* $Id: pjsua_dump.c 4300 2012-11-26 02:04:17Z ming $ */ +/* $Id: pjsua_dump.c 4613 2013-10-08 09:08:13Z bennylp $ */ /* * Copyright (C) 2011-2011 Teluu Inc. (http://www.teluu.com) * @@ -128,9 +128,9 @@ static unsigned dump_media_stat(const char *indent, "" ); - if (len < 1 || len > end-p) { + if (len < 1 || len >= end-p) { *p = '\0'; - return (p-buf); + return (unsigned)(p-buf); } p += len; @@ -186,9 +186,9 @@ static unsigned dump_media_stat(const char *indent, pj_math_stat_get_stddev(&stat->tx.jitter) / 1000.0 ); - if (len < 1 || len > end-p) { + if (len < 1 || len >= end-p) { *p = '\0'; - return (p-buf); + return (unsigned)(p-buf); } p += len; @@ -201,13 +201,13 @@ static unsigned dump_media_stat(const char *indent, stat->rtt.last / 1000.0, pj_math_stat_get_stddev(&stat->rtt) / 1000.0 ); - if (len < 1 || len > end-p) { + if (len < 1 || len >= end-p) { *p = '\0'; - return (p-buf); + return (unsigned)(p-buf); } p += len; - return (p-buf); + return (unsigned)(p-buf); } @@ -259,7 +259,7 @@ static void dump_media_session(const char *indent, len = pj_ansi_snprintf(p, end-p, "%s #%d %s deactivated\n", indent, i, media_type_str); - if (len < 1 || len > end-p) { + if (len < 1 || len >= end-p) { *p = '\0'; return; } @@ -363,7 +363,7 @@ static void dump_media_session(const char *indent, codec_info, dir_str, rem_addr); - if (len < 1 || len > end-p) { + if (len < 1 || len >= end-p) { *p = '\0'; return; } @@ -382,12 +382,16 @@ static void dump_media_session(const char *indent, { pjmedia_srtp_info *srtp_info = (pjmedia_srtp_info*) tp_info.spc_info[j].buffer; + const char *policy_name = srtp_info->tx_policy.name.ptr; + + if (!policy_name) + policy_name = ""; len = pj_ansi_snprintf(p, end-p, " %s SRTP status: %s Crypto-suite: %s", indent, (srtp_info->active?"Active":"Not active"), - srtp_info->tx_policy.name.ptr); + policy_name); if (len > 0 && len < end-p) { p += len; *p++ = '\n'; @@ -443,7 +447,7 @@ static void dump_media_session(const char *indent, if (has_stat) { - len = dump_media_stat(indent, p, end-p, &stat, + len = dump_media_stat(indent, p, (unsigned)(end-p), &stat, rx_info, tx_info); p += len; } @@ -466,7 +470,7 @@ static void dump_media_session(const char *indent, sprintf(s, "%d", v) # define VALIDATE_PRINT_BUF() \ - if (len < 1 || len > end-p) { *p = '\0'; return; } \ + if (len < 1 || len >= end-p) { *p = '\0'; return; } \ p += len; *p++ = '\n'; *p = '\0' @@ -944,7 +948,7 @@ PJ_DEF(pj_status_t) pjsua_call_dump( pjsua_call_id call_id, print_call(indent, call_id, tmp, sizeof(tmp)); - len = pj_ansi_strlen(tmp); + len = (int)pj_ansi_strlen(tmp); pj_ansi_strcpy(buffer, tmp); p += len; @@ -989,7 +993,7 @@ PJ_DEF(pj_status_t) pjsua_call_dump( pjsua_call_id call_id, /* Dump session statistics */ if (with_media) - dump_media_session(indent, p, end-p, call); + dump_media_session(indent, p, (unsigned)(end-p), call); pjsip_dlg_dec_lock(dlg); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_im.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_im.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_im.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_im.c index fa11282a3aba423816da8f0f2d84439a8af0c950..7d771ba38d1ece875905af2876d23b7c0aa4529a 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_im.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_im.c @@ -1,4 +1,4 @@ -/* $Id: pjsua_im.c 4173 2012-06-20 10:39:05Z ming $ */ +/* $Id: pjsua_im.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -274,7 +274,6 @@ static pj_bool_t im_on_rx_request(pjsip_rx_data *rdata) pj_str_t from, to; pjsip_accept_hdr *accept_hdr; pjsip_msg *msg; - pj_status_t status; msg = rdata->msg_info.msg; @@ -306,8 +305,8 @@ static pj_bool_t im_on_rx_request(pjsip_rx_data *rdata) /* Respond with 200 first, so that remote doesn't retransmit in case * the UI takes too long to process the message. */ - status = pjsip_endpt_respond( pjsua_var.endpt, NULL, rdata, 200, NULL, - NULL, NULL, NULL); + pjsip_endpt_respond( pjsua_var.endpt, NULL, rdata, 200, NULL, + NULL, NULL, NULL); /* For the source URI, we use Contact header if present, since * Contact header contains the port number information. If this is @@ -512,11 +511,9 @@ PJ_DEF(pj_status_t) pjsua_im_send( pjsua_acc_id acc_id, { pjsip_tx_data *tdata; const pj_str_t mime_text_plain = pj_str("text/plain"); - const pj_str_t STR_CONTACT = { "Contact", 7 }; pjsip_media_type media_type; pjsua_im_data *im_data; pjsua_acc *acc; - pj_str_t contact; pj_status_t status; /* To and message body must be specified. */ @@ -526,7 +523,9 @@ PJ_DEF(pj_status_t) pjsua_im_send( pjsua_acc_id acc_id, /* Create request. */ status = pjsip_endpt_create_request(pjsua_var.endpt, - &pjsip_message_method, to, + &pjsip_message_method, + (msg_data && msg_data->target_uri.slen? + &msg_data->target_uri: to), &acc->cfg.id, to, NULL, NULL, -1, NULL, &tdata); if (status != PJ_SUCCESS) { @@ -551,6 +550,11 @@ PJ_DEF(pj_status_t) pjsua_im_send( pjsua_acc_id acc_id, /* Create suitable Contact header unless a Contact header has been * set in the account. */ + /* Ticket #1632: According to RFC 3428: + * MESSAGE requests do not initiate dialogs. + * User Agents MUST NOT insert Contact header fields into MESSAGE requests + */ + /* if (acc->contact.slen) { contact = acc->contact; } else { @@ -565,6 +569,7 @@ PJ_DEF(pj_status_t) pjsua_im_send( pjsua_acc_id acc_id, pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*) pjsip_generic_string_hdr_create(tdata->pool, &STR_CONTACT, &contact)); + */ /* Create IM data to keep message details and give it back to * application on the callback @@ -627,11 +632,9 @@ PJ_DEF(pj_status_t) pjsua_im_typing( pjsua_acc_id acc_id, pj_bool_t is_typing, const pjsua_msg_data *msg_data) { - const pj_str_t STR_CONTACT = { "Contact", 7 }; pjsua_im_data *im_data; pjsip_tx_data *tdata; pjsua_acc *acc; - pj_str_t contact; pj_status_t status; acc = &pjsua_var.acc[acc_id]; @@ -664,6 +667,11 @@ PJ_DEF(pj_status_t) pjsua_im_typing( pjsua_acc_id acc_id, /* Create suitable Contact header unless a Contact header has been * set in the account. */ + /* Ticket #1632: According to RFC 3428: + * MESSAGE requests do not initiate dialogs. + * User Agents MUST NOT insert Contact header fields into MESSAGE requests + */ + /* if (acc->contact.slen) { contact = acc->contact; } else { @@ -678,7 +686,7 @@ PJ_DEF(pj_status_t) pjsua_im_typing( pjsua_acc_id acc_id, pjsip_msg_add_hdr( tdata->msg, (pjsip_hdr*) pjsip_generic_string_hdr_create(tdata->pool, &STR_CONTACT, &contact)); - + */ /* Create "application/im-iscomposing+xml" msg body. */ tdata->msg->body = pjsip_iscomposing_create_body( tdata->pool, is_typing, diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_media.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_media.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_media.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_media.c index 27069a18d4645afec0bf9dd49e7b9e602633d8ff..6b21d49d2ac355a7c5c2c65a50d1365dd446a64e 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_media.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_media.c @@ -1,4 +1,4 @@ -/* $Id: pjsua_media.c 4412 2013-03-05 03:12:32Z riza $ */ +/* $Id: pjsua_media.c 4750 2014-02-19 04:11:43Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -29,9 +29,6 @@ # define PJSUA_REQUIRE_CONSECUTIVE_RTCP_PORT 0 #endif -/* Next RTP port to be used */ -static pj_uint16_t next_rtp_port; - static void pjsua_media_config_dup(pj_pool_t *pool, pjsua_media_config *dst, const pjsua_media_config *src) @@ -182,15 +179,20 @@ pj_status_t pjsua_media_subsys_start(void) */ pj_status_t pjsua_media_subsys_destroy(unsigned flags) { - unsigned i; + PJ_UNUSED_ARG(flags); PJ_LOG(4,(THIS_FILE, "Shutting down media..")); pj_log_push_indent(); if (pjsua_var.med_endpt) { + /* Wait for media endpoint's worker threads to quit. */ + pjmedia_endpt_stop_threads(pjsua_var.med_endpt); + pjsua_aud_subsys_destroy(); } +#if 0 + // This part has been moved out to pjsua_destroy() (see also #1717). /* Close media transports */ for (i=0; i<pjsua_var.ua_cfg.max_calls; ++i) { /* TODO: check if we're not allowed to send to network in the @@ -199,6 +201,7 @@ pj_status_t pjsua_media_subsys_destroy(unsigned flags) PJ_UNUSED_ARG(flags); pjsua_media_channel_deinit(i); } +#endif /* Destroy media endpoint. */ if (pjsua_var.med_endpt) { @@ -216,9 +219,6 @@ pj_status_t pjsua_media_subsys_destroy(unsigned flags) //pjmedia_snd_deinit(); } - /* Reset RTP port */ - next_rtp_port = 0; - pj_log_pop_indent(); return PJ_SUCCESS; @@ -242,10 +242,10 @@ static pj_status_t create_rtp_rtcp_sock(pjsua_call_media *call_med, pj_sockaddr mapped_addr[2]; pj_status_t status = PJ_SUCCESS; char addr_buf[PJ_INET6_ADDRSTRLEN+10]; + pjsua_acc *acc = &pjsua_var.acc[call_med->call->acc_id]; pj_sock_t sock[2]; - use_ipv6 = (pjsua_var.acc[call_med->call->acc_id].cfg.ipv6_media_use != - PJSUA_IPV6_DISABLED); + use_ipv6 = (acc->cfg.ipv6_media_use != PJSUA_IPV6_DISABLED); af = use_ipv6 ? pj_AF_INET6() : pj_AF_INET(); /* Make sure STUN server resolution has completed */ @@ -257,11 +257,11 @@ static pj_status_t create_rtp_rtcp_sock(pjsua_call_media *call_med, } } - if (next_rtp_port == 0) - next_rtp_port = (pj_uint16_t)cfg->port; + if (acc->next_rtp_port == 0) + acc->next_rtp_port = (pj_uint16_t)cfg->port; - if (next_rtp_port == 0) - next_rtp_port = (pj_uint16_t)40000; + if (acc->next_rtp_port == 0) + acc->next_rtp_port = (pj_uint16_t)DEFAULT_RTP_PORT; for (i=0; i<2; ++i) sock[i] = PJ_INVALID_SOCKET; @@ -277,7 +277,14 @@ static pj_status_t create_rtp_rtcp_sock(pjsua_call_media *call_med, } /* Loop retry to bind RTP and RTCP sockets. */ - for (i=0; i<RTP_RETRY; ++i, next_rtp_port += 2) { + for (i=0; i<RTP_RETRY; ++i, acc->next_rtp_port += 2) { + + if (cfg->port > 0 && cfg->port_range > 0 && + (acc->next_rtp_port > cfg->port + cfg->port_range || + acc->next_rtp_port < cfg->port)) + { + acc->next_rtp_port = (pj_uint16_t)cfg->port; + } /* Create RTP socket. */ status = pj_sock_socket(af, pj_SOCK_DGRAM(), 0, &sock[0]); @@ -292,7 +299,7 @@ static pj_status_t create_rtp_rtcp_sock(pjsua_call_media *call_med, 2, THIS_FILE, "RTP socket"); /* Bind RTP socket */ - pj_sockaddr_set_port(&bound_addr, next_rtp_port); + pj_sockaddr_set_port(&bound_addr, acc->next_rtp_port); status=pj_sock_bind(sock[0], &bound_addr, pj_sockaddr_get_len(&bound_addr)); if (status != PJ_SUCCESS) { @@ -315,7 +322,7 @@ static pj_status_t create_rtp_rtcp_sock(pjsua_call_media *call_med, 2, THIS_FILE, "RTCP socket"); /* Bind RTCP socket */ - pj_sockaddr_set_port(&bound_addr, (pj_uint16_t)(next_rtp_port+1)); + pj_sockaddr_set_port(&bound_addr, (pj_uint16_t)(acc->next_rtp_port+1)); status=pj_sock_bind(sock[1], &bound_addr, pj_sockaddr_get_len(&bound_addr)); if (status != PJ_SUCCESS) { @@ -407,18 +414,31 @@ static pj_status_t create_rtp_rtcp_sock(pjsua_call_media *call_med, } else if (cfg->public_addr.slen) { status = pj_sockaddr_init(af, &mapped_addr[0], &cfg->public_addr, - (pj_uint16_t)next_rtp_port); + (pj_uint16_t)acc->next_rtp_port); if (status != PJ_SUCCESS) goto on_error; status = pj_sockaddr_init(af, &mapped_addr[1], &cfg->public_addr, - (pj_uint16_t)(next_rtp_port+1)); + (pj_uint16_t)(acc->next_rtp_port+1)); if (status != PJ_SUCCESS) goto on_error; break; } else { + if (acc->cfg.allow_sdp_nat_rewrite && acc->reg_mapped_addr.slen) { + pj_status_t status; + + /* Take the address from mapped addr as seen by registrar */ + status = pj_sockaddr_set_str_addr(af, &bound_addr, + &acc->reg_mapped_addr); + if (status != PJ_SUCCESS) { + /* just leave bound_addr with whatever it was + pj_bzero(pj_sockaddr_get_addr(&bound_addr), + pj_sockaddr_get_addr_len(&bound_addr)); + */ + } + } if (!pj_sockaddr_has_addr(&bound_addr)) { pj_sockaddr addr; @@ -435,7 +455,7 @@ static pj_status_t create_rtp_rtcp_sock(pjsua_call_media *call_med, pj_sockaddr_init(af, &mapped_addr[i], NULL, 0); pj_sockaddr_copy_addr(&mapped_addr[i], &bound_addr); pj_sockaddr_set_port(&mapped_addr[i], - (pj_uint16_t)(next_rtp_port+i)); + (pj_uint16_t)(acc->next_rtp_port+i)); } break; @@ -462,7 +482,7 @@ static pj_status_t create_rtp_rtcp_sock(pjsua_call_media *call_med, pj_sockaddr_print(&skinfo->rtcp_addr_name, addr_buf, sizeof(addr_buf), 3))); - next_rtp_port += 2; + acc->next_rtp_port += 2; return PJ_SUCCESS; on_error: @@ -589,7 +609,7 @@ static void ice_init_complete_cb(void *user_data) /* Deferred callback to notify ICE negotiation failure */ static void ice_failed_nego_cb(void *user_data) { - int call_id = (int)(long)user_data; + int call_id = (int)(pj_ssize_t)user_data; pjsua_call *call = NULL; pjsip_dialog *dlg = NULL; @@ -638,7 +658,7 @@ static void on_ice_complete(pjmedia_transport *tp, if (call && pjsua_var.ua_cfg.cb.on_call_media_state) { /* Defer the callback to a timer */ pjsua_schedule_timer2(&ice_failed_nego_cb, - (void*)(long)call->index, 1); + (void*)(pj_ssize_t)call->index, 1); } } /* Check if default ICE transport address is changed */ @@ -809,11 +829,24 @@ static pj_status_t create_ice_media_transport( /* Wait until transport is initialized, or time out */ if (!async) { pj_bool_t has_pjsua_lock = PJSUA_LOCK_IS_LOCKED(); + pjsip_dialog *dlg = call_med->call->inv ? + call_med->call->inv->dlg : NULL; if (has_pjsua_lock) PJSUA_UNLOCK(); + if (dlg) { + /* Don't lock otherwise deadlock: + * https://trac.pjsip.org/repos/ticket/1737 + */ + ++dlg->sess_count; + pjsip_dlg_dec_lock(dlg); + } while (call_med->tp_ready == PJ_EPENDING) { pjsua_handle_events(100); } + if (dlg) { + pjsip_dlg_inc_lock(dlg); + --dlg->sess_count; + } if (has_pjsua_lock) PJSUA_LOCK(); } @@ -1271,6 +1304,20 @@ on_return: return status; } +/* Determine if call's media is being changed, for example when video is being + * added. Then we can reject incoming re-INVITE, for example. This is the + * solution for https://trac.pjsip.org/repos/ticket/1738 + */ +pj_bool_t pjsua_call_media_is_changing(pjsua_call *call) +{ + /* The problem in #1738 occurs because we do handle_events() loop while + * adding media, which could cause incoming re-INVITE to be processed and + * cause havoc. Since the handle_events() loop only happens while adding + * media, it is sufficient to only check if "prov > cnt" for now. + */ + return call->med_prov_cnt > call->med_cnt; +} + /* Initialize the media line */ pj_status_t pjsua_call_media_init(pjsua_call_media *call_med, pjmedia_type type, @@ -1366,7 +1413,7 @@ static pj_status_t media_channel_init_cb(pjsua_call_id call_id, * by the last media transport to finish. */ if (info->status != PJ_SUCCESS) - pj_memcpy(&call->med_ch_info, info, sizeof(info)); + pj_memcpy(&call->med_ch_info, info, sizeof(*info)); /* Check whether all the call's medias have finished calling their * callbacks. @@ -2576,8 +2623,11 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, continue; } + /* Codec parameter of stream info (si->param) can be NULL if + * the stream is rejected or disabled. + */ /* Override ptime, if this option is specified. */ - if (pjsua_var.media_cfg.ptime != 0) { + if (pjsua_var.media_cfg.ptime != 0 && si->param) { si->param->setting.frm_per_pkt = (pj_uint8_t) (pjsua_var.media_cfg.ptime / si->param->info.frm_ptime); if (si->param->setting.frm_per_pkt == 0) @@ -2585,7 +2635,7 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id, } /* Disable VAD, if this option is specified. */ - if (pjsua_var.media_cfg.no_vad) { + if (pjsua_var.media_cfg.no_vad && si->param) { si->param->setting.vad = 0; } diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_pres.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_pres.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_pres.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_pres.c index 591f65be8447e7dc67561df93e2153b8e393c57e..c1cf9c4c75b9c176f48d7d780ff06d46f0770977 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_pres.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_pres.c @@ -1,4 +1,4 @@ -/* $Id: pjsua_pres.c 4294 2012-11-06 05:02:10Z nanang $ */ +/* $Id: pjsua_pres.c 4713 2014-01-23 08:13:11Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -74,10 +74,10 @@ struct buddy_lock }; /* Acquire lock to the specified buddy_id */ -pj_status_t lock_buddy(const char *title, - pjsua_buddy_id buddy_id, - struct buddy_lock *lck, - unsigned _unused_) +static pj_status_t lock_buddy(const char *title, + pjsua_buddy_id buddy_id, + struct buddy_lock *lck, + unsigned _unused_) { enum { MAX_RETRY=50 }; pj_bool_t has_pjsua_lock = PJ_FALSE; @@ -223,7 +223,7 @@ PJ_DEF(pj_status_t) pjsua_enum_buddies( pjsua_buddy_id ids[], PJ_DEF(pj_status_t) pjsua_buddy_get_info( pjsua_buddy_id buddy_id, pjsua_buddy_info *info) { - unsigned total=0; + pj_size_t total=0; struct buddy_lock lck; pjsua_buddy *buddy; pj_status_t status; @@ -1065,7 +1065,7 @@ PJ_DEF(pj_status_t) pjsua_pres_notify( pjsua_acc_id acc_id, PJ_ASSERT_RETURN(pjsua_var.acc[acc_id].valid, PJ_EINVALIDOP); PJ_LOG(4,(THIS_FILE, "Acc %d: sending NOTIFY for srv_pres=0x%p..", - acc_id, (int)(long)srv_pres)); + acc_id, (int)(pj_ssize_t)srv_pres)); pj_log_push_indent(); PJSUA_LOCK(); @@ -2094,7 +2094,7 @@ pj_status_t pjsua_start_mwi(pjsua_acc_id acc_id, pj_bool_t force_renew) acc = &pjsua_var.acc[acc_id]; - if (!acc->cfg.mwi_enabled) { + if (!acc->cfg.mwi_enabled || !acc->regc) { if (acc->mwi_sub) { /* Terminate MWI subscription */ pjsip_evsub *sub = acc->mwi_sub; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_vid.c b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_vid.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_vid.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_vid.c index c92ec5662105f73856d430f33eccb65fd8a90297..0c643b542376287e8f8b9db898a838e6a5f6e3ff 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/pjsua-lib/pjsua_vid.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua-lib/pjsua_vid.c @@ -1,4 +1,4 @@ -/* $Id: pjsua_vid.c 4341 2013-02-05 12:21:30Z nanang $ */ +/* $Id: pjsua_vid.c 4750 2014-02-19 04:11:43Z bennylp $ */ /* * Copyright (C) 2011-2011 Teluu Inc. (http://www.teluu.com) * @@ -729,7 +729,7 @@ pj_status_t pjsua_vid_channel_update(pjsua_call_media *call_med, PJ_LOG(4,(THIS_FILE, "Video channel update..")); pj_log_push_indent(); - si->rtcp_sdes_bye_disabled = PJ_TRUE; + si->rtcp_sdes_bye_disabled = pjsua_var.media_cfg.no_rtcp_sdes_bye;; /* Check if no media is active */ if (si->dir != PJMEDIA_DIR_NONE) { @@ -804,6 +804,9 @@ pj_status_t pjsua_vid_channel_update(pjsua_call_media *call_med, if (status != PJ_SUCCESS) goto on_error; + if (call_med->prev_state == PJSUA_CALL_MEDIA_NONE) + pjmedia_vid_stream_send_rtcp_sdes(call_med->strm.v.stream); + /* Setup decoding direction */ if (si->dir & PJMEDIA_DIR_DECODING) { @@ -966,6 +969,8 @@ void pjsua_vid_stop_stream(pjsua_call_media *call_med) PJ_LOG(4,(THIS_FILE, "Stopping video stream..")); pj_log_push_indent(); + + pjmedia_vid_stream_send_rtcp_bye(strm); if (call_med->strm.v.cap_win_id != PJSUA_INVALID_ID) { pjmedia_port *media_port; @@ -1530,6 +1535,11 @@ static pj_status_t call_add_video(pjsua_call *call, if (call->med_cnt == PJSUA_MAX_CALL_MEDIA) return PJ_ETOOMANY; + if (pjsua_call_media_is_changing(call)) { + PJ_LOG(1,(THIS_FILE, "Unable to add video" ERR_MEDIA_CHANGING)); + return PJ_EINVALIDOP; + } + /* Get active local SDP and clone it */ status = pjmedia_sdp_neg_get_active_local(call->inv->neg, ¤t_sdp); if (status != PJ_SUCCESS) @@ -1631,6 +1641,11 @@ static pj_status_t call_modify_video(pjsua_call *call, pjmedia_sdp_session *sdp; pj_status_t status; + if (pjsua_call_media_is_changing(call)) { + PJ_LOG(1,(THIS_FILE, "Unable to modify video" ERR_MEDIA_CHANGING)); + return PJ_EINVALIDOP; + } + /* Verify and normalize media index */ if (med_idx == -1) { int first_active; @@ -2036,7 +2051,7 @@ PJ_DEF(pj_status_t) pjsua_call_set_vid_strm ( const pjsua_call_vid_strm_op_param *param) { pjsua_call *call; - pjsip_dialog *dlg; + pjsip_dialog *dlg = NULL; pjsua_call_vid_strm_op_param param_; pj_status_t status; diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/TabBarController.h b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2-test/main.cpp similarity index 64% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/TabBarController.h rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2-test/main.cpp index d960f99d14d962a088e0f7c76e491494adfa7ef3..a004c56a03122b1c51f6deb0a43bbb92079275c4 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/TabBarController.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2-test/main.cpp @@ -1,6 +1,6 @@ -/* $Id: TabBarController.h 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) +/* $Id: main.cpp 4789 2014-03-11 07:00:39Z riza $ */ +/* + * Copyright (C) 2012 Teluu Inc. (http://www.teluu.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,13 +14,25 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#import <UIKit/UIKit.h> +#include <pjsua2/endpoint.hpp> +using namespace pj; -@interface TabBarController : UITabBarController { +int main(int argc, char *argv[]) +{ + Endpoint ep; + EpConfig epCfg; + + epCfg.uaConfig.userAgent = "pjsua++-test"; + + ep.libCreate(); + ep.libInit(epCfg); + ep.libStart(); + ep.libDestroy(); + + return 0; } -@end diff --git a/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/account.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/account.cpp new file mode 100644 index 0000000000000000000000000000000000000000..cca0ad51156d670b13721bb493dfa637b35e873d --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/account.cpp @@ -0,0 +1,799 @@ +/* $Id: account.cpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjsua2/account.hpp> +#include <pjsua2/endpoint.hpp> +#include <pjsua2/presence.hpp> +#include <pj/ctype.h> +#include "util.hpp" + +using namespace pj; +using namespace std; + +#define THIS_FILE "account.cpp" + +/////////////////////////////////////////////////////////////////////////////// + +void AccountRegConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AccountRegConfig"); + + NODE_READ_STRING (this_node, registrarUri); + NODE_READ_BOOL (this_node, registerOnAdd); + NODE_READ_UNSIGNED (this_node, timeoutSec); + NODE_READ_UNSIGNED (this_node, retryIntervalSec); + NODE_READ_UNSIGNED (this_node, firstRetryIntervalSec); + NODE_READ_UNSIGNED (this_node, delayBeforeRefreshSec); + NODE_READ_BOOL (this_node, dropCallsOnFail); + NODE_READ_UNSIGNED (this_node, unregWaitSec); + NODE_READ_UNSIGNED (this_node, proxyUse); + + readSipHeaders(this_node, "headers", headers); +} + +void AccountRegConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AccountRegConfig"); + + NODE_WRITE_STRING (this_node, registrarUri); + NODE_WRITE_BOOL (this_node, registerOnAdd); + NODE_WRITE_UNSIGNED (this_node, timeoutSec); + NODE_WRITE_UNSIGNED (this_node, retryIntervalSec); + NODE_WRITE_UNSIGNED (this_node, firstRetryIntervalSec); + NODE_WRITE_UNSIGNED (this_node, delayBeforeRefreshSec); + NODE_WRITE_BOOL (this_node, dropCallsOnFail); + NODE_WRITE_UNSIGNED (this_node, unregWaitSec); + NODE_WRITE_UNSIGNED (this_node, proxyUse); + + writeSipHeaders(this_node, "headers", headers); +} + +/////////////////////////////////////////////////////////////////////////////// + +void AccountSipConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AccountSipConfig"); + + NODE_READ_STRINGV (this_node, proxies); + NODE_READ_STRING (this_node, contactForced); + NODE_READ_STRING (this_node, contactParams); + NODE_READ_STRING (this_node, contactUriParams); + NODE_READ_BOOL (this_node, authInitialEmpty); + NODE_READ_STRING (this_node, authInitialAlgorithm); + NODE_READ_INT (this_node, transportId); + + ContainerNode creds_node = this_node.readArray("authCreds"); + authCreds.resize(0); + while (creds_node.hasUnread()) { + AuthCredInfo cred; + cred.readObject(creds_node); + authCreds.push_back(cred); + } +} + +void AccountSipConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AccountSipConfig"); + + NODE_WRITE_STRINGV (this_node, proxies); + NODE_WRITE_STRING (this_node, contactForced); + NODE_WRITE_STRING (this_node, contactParams); + NODE_WRITE_STRING (this_node, contactUriParams); + NODE_WRITE_BOOL (this_node, authInitialEmpty); + NODE_WRITE_STRING (this_node, authInitialAlgorithm); + NODE_WRITE_INT (this_node, transportId); + + ContainerNode creds_node = this_node.writeNewArray("authCreds"); + for (unsigned i=0; i<authCreds.size(); ++i) { + authCreds[i].writeObject(creds_node); + } +} + +/////////////////////////////////////////////////////////////////////////////// + +void AccountCallConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AccountCallConfig"); + + NODE_READ_NUM_T ( this_node, pjsua_call_hold_type, holdType); + NODE_READ_NUM_T ( this_node, pjsua_100rel_use, prackUse); + NODE_READ_NUM_T ( this_node, pjsua_sip_timer_use, timerUse); + NODE_READ_UNSIGNED( this_node, timerMinSESec); + NODE_READ_UNSIGNED( this_node, timerSessExpiresSec); +} + +void AccountCallConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AccountCallConfig"); + + NODE_WRITE_NUM_T ( this_node, pjsua_call_hold_type, holdType); + NODE_WRITE_NUM_T ( this_node, pjsua_100rel_use, prackUse); + NODE_WRITE_NUM_T ( this_node, pjsua_sip_timer_use, timerUse); + NODE_WRITE_UNSIGNED( this_node, timerMinSESec); + NODE_WRITE_UNSIGNED( this_node, timerSessExpiresSec); +} + +/////////////////////////////////////////////////////////////////////////////// + +void AccountPresConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AccountPresConfig"); + + NODE_READ_BOOL ( this_node, publishEnabled); + NODE_READ_BOOL ( this_node, publishQueue); + NODE_READ_UNSIGNED( this_node, publishShutdownWaitMsec); + NODE_READ_STRING ( this_node, pidfTupleId); + + readSipHeaders(this_node, "headers", headers); +} + +void AccountPresConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AccountPresConfig"); + + NODE_WRITE_BOOL ( this_node, publishEnabled); + NODE_WRITE_BOOL ( this_node, publishQueue); + NODE_WRITE_UNSIGNED( this_node, publishShutdownWaitMsec); + NODE_WRITE_STRING ( this_node, pidfTupleId); + + writeSipHeaders(this_node, "headers", headers); +} + +/////////////////////////////////////////////////////////////////////////////// + +void AccountMwiConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AccountMwiConfig"); + + NODE_READ_BOOL ( this_node, enabled); + NODE_READ_UNSIGNED( this_node, expirationSec); +} + +void AccountMwiConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AccountMwiConfig"); + + NODE_WRITE_BOOL ( this_node, enabled); + NODE_WRITE_UNSIGNED( this_node, expirationSec); +} + +/////////////////////////////////////////////////////////////////////////////// + +void AccountNatConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AccountNatConfig"); + + NODE_READ_NUM_T ( this_node, pjsua_stun_use, sipStunUse); + NODE_READ_NUM_T ( this_node, pjsua_stun_use, mediaStunUse); + NODE_READ_BOOL ( this_node, iceEnabled); + NODE_READ_INT ( this_node, iceMaxHostCands); + NODE_READ_BOOL ( this_node, iceAggressiveNomination); + NODE_READ_UNSIGNED( this_node, iceNominatedCheckDelayMsec); + NODE_READ_INT ( this_node, iceWaitNominationTimeoutMsec); + NODE_READ_BOOL ( this_node, iceNoRtcp); + NODE_READ_BOOL ( this_node, iceAlwaysUpdate); + NODE_READ_BOOL ( this_node, turnEnabled); + NODE_READ_STRING ( this_node, turnServer); + NODE_READ_NUM_T ( this_node, pj_turn_tp_type, turnConnType); + NODE_READ_STRING ( this_node, turnUserName); + NODE_READ_INT ( this_node, turnPasswordType); + NODE_READ_STRING ( this_node, turnPassword); + NODE_READ_INT ( this_node, contactRewriteUse); + NODE_READ_INT ( this_node, contactRewriteMethod); + NODE_READ_INT ( this_node, viaRewriteUse); + NODE_READ_INT ( this_node, sdpNatRewriteUse); + NODE_READ_INT ( this_node, sipOutboundUse); + NODE_READ_STRING ( this_node, sipOutboundInstanceId); + NODE_READ_STRING ( this_node, sipOutboundRegId); + NODE_READ_UNSIGNED( this_node, udpKaIntervalSec); + NODE_READ_STRING ( this_node, udpKaData); +} + +void AccountNatConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AccountNatConfig"); + + NODE_WRITE_NUM_T ( this_node, pjsua_stun_use, sipStunUse); + NODE_WRITE_NUM_T ( this_node, pjsua_stun_use, mediaStunUse); + NODE_WRITE_BOOL ( this_node, iceEnabled); + NODE_WRITE_INT ( this_node, iceMaxHostCands); + NODE_WRITE_BOOL ( this_node, iceAggressiveNomination); + NODE_WRITE_UNSIGNED( this_node, iceNominatedCheckDelayMsec); + NODE_WRITE_INT ( this_node, iceWaitNominationTimeoutMsec); + NODE_WRITE_BOOL ( this_node, iceNoRtcp); + NODE_WRITE_BOOL ( this_node, iceAlwaysUpdate); + NODE_WRITE_BOOL ( this_node, turnEnabled); + NODE_WRITE_STRING ( this_node, turnServer); + NODE_WRITE_NUM_T ( this_node, pj_turn_tp_type, turnConnType); + NODE_WRITE_STRING ( this_node, turnUserName); + NODE_WRITE_INT ( this_node, turnPasswordType); + NODE_WRITE_STRING ( this_node, turnPassword); + NODE_WRITE_INT ( this_node, contactRewriteUse); + NODE_WRITE_INT ( this_node, contactRewriteMethod); + NODE_WRITE_INT ( this_node, viaRewriteUse); + NODE_WRITE_INT ( this_node, sdpNatRewriteUse); + NODE_WRITE_INT ( this_node, sipOutboundUse); + NODE_WRITE_STRING ( this_node, sipOutboundInstanceId); + NODE_WRITE_STRING ( this_node, sipOutboundRegId); + NODE_WRITE_UNSIGNED( this_node, udpKaIntervalSec); + NODE_WRITE_STRING ( this_node, udpKaData); +} + +/////////////////////////////////////////////////////////////////////////////// + +void AccountMediaConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AccountMediaConfig"); + + NODE_READ_BOOL ( this_node, lockCodecEnabled); + NODE_READ_BOOL ( this_node, streamKaEnabled); + NODE_READ_NUM_T ( this_node, pjmedia_srtp_use, srtpUse); + NODE_READ_INT ( this_node, srtpSecureSignaling); + NODE_READ_NUM_T ( this_node, pjsua_ipv6_use, ipv6Use); + NODE_READ_OBJ ( this_node, transportConfig); +} + +void AccountMediaConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AccountMediaConfig"); + + NODE_WRITE_BOOL ( this_node, lockCodecEnabled); + NODE_WRITE_BOOL ( this_node, streamKaEnabled); + NODE_WRITE_NUM_T ( this_node, pjmedia_srtp_use, srtpUse); + NODE_WRITE_INT ( this_node, srtpSecureSignaling); + NODE_WRITE_NUM_T ( this_node, pjsua_ipv6_use, ipv6Use); + NODE_WRITE_OBJ ( this_node, transportConfig); +} + +/////////////////////////////////////////////////////////////////////////////// + +void AccountVideoConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AccountVideoConfig"); + + NODE_READ_BOOL ( this_node, autoShowIncoming); + NODE_READ_BOOL ( this_node, autoTransmitOutgoing); + NODE_READ_UNSIGNED( this_node, windowFlags); + NODE_READ_NUM_T ( this_node, pjmedia_vid_dev_index, defaultCaptureDevice); + NODE_READ_NUM_T ( this_node, pjmedia_vid_dev_index, defaultRenderDevice); + NODE_READ_NUM_T ( this_node, pjmedia_vid_stream_rc_method, rateControlMethod); + NODE_READ_UNSIGNED( this_node, rateControlBandwidth); +} + +void AccountVideoConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AccountVideoConfig"); + + NODE_WRITE_BOOL ( this_node, autoShowIncoming); + NODE_WRITE_BOOL ( this_node, autoTransmitOutgoing); + NODE_WRITE_UNSIGNED( this_node, windowFlags); + NODE_WRITE_NUM_T ( this_node, pjmedia_vid_dev_index, defaultCaptureDevice); + NODE_WRITE_NUM_T ( this_node, pjmedia_vid_dev_index, defaultRenderDevice); + NODE_WRITE_NUM_T ( this_node, pjmedia_vid_stream_rc_method, rateControlMethod); + NODE_WRITE_UNSIGNED( this_node, rateControlBandwidth); +} + +/////////////////////////////////////////////////////////////////////////////// + +AccountConfig::AccountConfig() +{ + pjsua_acc_config acc_cfg; + pjsua_acc_config_default(&acc_cfg); + pjsua_media_config med_cfg; + pjsua_media_config_default(&med_cfg); + fromPj(acc_cfg, &med_cfg); +} + +/* Convert to pjsip. */ +void AccountConfig::toPj(pjsua_acc_config &ret) const +{ + unsigned i; + + pjsua_acc_config_default(&ret); + + // Global + ret.priority = priority; + ret.id = str2Pj(idUri); + + // AccountRegConfig + ret.reg_uri = str2Pj(regConfig.registrarUri); + ret.register_on_acc_add = regConfig.registerOnAdd; + ret.reg_timeout = regConfig.timeoutSec; + ret.reg_retry_interval = regConfig.retryIntervalSec; + ret.reg_first_retry_interval= regConfig.firstRetryIntervalSec; + ret.reg_delay_before_refresh= regConfig.delayBeforeRefreshSec; + ret.drop_calls_on_reg_fail = regConfig.dropCallsOnFail; + ret.unreg_timeout = regConfig.unregWaitSec; + ret.reg_use_proxy = regConfig.proxyUse; + for (i=0; i<regConfig.headers.size(); ++i) { + pj_list_push_back(&ret.reg_hdr_list, ®Config.headers[i].toPj()); + } + + // AccountSipConfig + ret.cred_count = 0; + if (sipConfig.authCreds.size() > PJ_ARRAY_SIZE(ret.cred_info)) + PJSUA2_RAISE_ERROR(PJ_ETOOMANY); + for (i=0; i<sipConfig.authCreds.size(); ++i) { + const AuthCredInfo &src = sipConfig.authCreds[i]; + pjsip_cred_info *dst = &ret.cred_info[i]; + + dst->realm = str2Pj(src.realm); + dst->scheme = str2Pj(src.scheme); + dst->username = str2Pj(src.username); + dst->data_type = src.dataType; + dst->data = str2Pj(src.data); + dst->ext.aka.k = str2Pj(src.akaK); + dst->ext.aka.op = str2Pj(src.akaOp); + dst->ext.aka.amf= str2Pj(src.akaAmf); + + ret.cred_count++; + } + ret.proxy_cnt = 0; + if (sipConfig.proxies.size() > PJ_ARRAY_SIZE(ret.proxy)) + PJSUA2_RAISE_ERROR(PJ_ETOOMANY); + for (i=0; i<sipConfig.proxies.size(); ++i) { + ret.proxy[ret.proxy_cnt++] = str2Pj(sipConfig.proxies[i]); + } + ret.force_contact = str2Pj(sipConfig.contactForced); + ret.contact_params = str2Pj(sipConfig.contactParams); + ret.contact_uri_params = str2Pj(sipConfig.contactUriParams); + ret.auth_pref.initial_auth = sipConfig.authInitialEmpty; + ret.auth_pref.algorithm = str2Pj(sipConfig.authInitialAlgorithm); + ret.transport_id = sipConfig.transportId; + + // AccountCallConfig + ret.call_hold_type = callConfig.holdType; + ret.require_100rel = callConfig.prackUse; + ret.use_timer = callConfig.timerUse; + ret.timer_setting.min_se = callConfig.timerMinSESec; + ret.timer_setting.sess_expires = callConfig.timerSessExpiresSec; + + // AccountPresConfig + for (i=0; i<presConfig.headers.size(); ++i) { + pj_list_push_back(&ret.sub_hdr_list, &presConfig.headers[i].toPj()); + } + ret.publish_enabled = presConfig.publishEnabled; + ret.publish_opt.queue_request= presConfig.publishQueue; + ret.unpublish_max_wait_time_msec = presConfig.publishShutdownWaitMsec; + ret.pidf_tuple_id = str2Pj(presConfig.pidfTupleId); + + // AccountNatConfig + ret.sip_stun_use = natConfig.sipStunUse; + ret.media_stun_use = natConfig.mediaStunUse; + ret.ice_cfg_use = PJSUA_ICE_CONFIG_USE_CUSTOM; + ret.ice_cfg.enable_ice = natConfig.iceEnabled; + ret.ice_cfg.ice_max_host_cands = natConfig.iceMaxHostCands; + ret.ice_cfg.ice_opt.aggressive = natConfig.iceAggressiveNomination; + ret.ice_cfg.ice_opt.nominated_check_delay = natConfig.iceNominatedCheckDelayMsec; + ret.ice_cfg.ice_opt.controlled_agent_want_nom_timeout = natConfig.iceWaitNominationTimeoutMsec; + ret.ice_cfg.ice_no_rtcp = natConfig.iceNoRtcp; + ret.ice_cfg.ice_always_update = natConfig.iceAlwaysUpdate; + + ret.turn_cfg_use = PJSUA_TURN_CONFIG_USE_CUSTOM; + ret.turn_cfg.enable_turn = natConfig.turnEnabled; + ret.turn_cfg.turn_server = str2Pj(natConfig.turnServer); + ret.turn_cfg.turn_conn_type = natConfig.turnConnType; + ret.turn_cfg.turn_auth_cred.type = PJ_STUN_AUTH_CRED_STATIC; + ret.turn_cfg.turn_auth_cred.data.static_cred.username = str2Pj(natConfig.turnUserName); + ret.turn_cfg.turn_auth_cred.data.static_cred.data_type = (pj_stun_passwd_type)natConfig.turnPasswordType; + ret.turn_cfg.turn_auth_cred.data.static_cred.data = str2Pj(natConfig.turnPassword); + ret.turn_cfg.turn_auth_cred.data.static_cred.realm = pj_str((char*)""); + ret.turn_cfg.turn_auth_cred.data.static_cred.nonce = pj_str((char*)""); + + ret.allow_contact_rewrite = natConfig.contactRewriteUse; + ret.contact_rewrite_method = natConfig.contactRewriteMethod; + ret.allow_via_rewrite = natConfig.viaRewriteUse; + ret.allow_sdp_nat_rewrite = natConfig.sdpNatRewriteUse; + ret.use_rfc5626 = natConfig.sipOutboundUse; + ret.rfc5626_instance_id = str2Pj(natConfig.sipOutboundInstanceId); + ret.rfc5626_reg_id = str2Pj(natConfig.sipOutboundRegId); + ret.ka_interval = natConfig.udpKaIntervalSec; + ret.ka_data = str2Pj(natConfig.udpKaData); + + // AccountMediaConfig + ret.rtp_cfg = mediaConfig.transportConfig.toPj(); + ret.lock_codec = mediaConfig.lockCodecEnabled; +#if defined(PJMEDIA_STREAM_ENABLE_KA) && (PJMEDIA_STREAM_ENABLE_KA != 0) + ret.use_stream_ka = mediaConfig.streamKaEnabled; +#endif + ret.use_srtp = mediaConfig.srtpUse; + ret.srtp_secure_signaling = mediaConfig.srtpSecureSignaling; + ret.ipv6_media_use = mediaConfig.ipv6Use; + + // AccountVideoConfig + ret.vid_in_auto_show = videoConfig.autoShowIncoming; + ret.vid_out_auto_transmit = videoConfig.autoTransmitOutgoing; + ret.vid_wnd_flags = videoConfig.windowFlags; + ret.vid_cap_dev = videoConfig.defaultCaptureDevice; + ret.vid_rend_dev = videoConfig.defaultRenderDevice; + ret.vid_stream_rc_cfg.method= videoConfig.rateControlMethod; + ret.vid_stream_rc_cfg.bandwidth = videoConfig.rateControlBandwidth; +} + +/* Initialize from pjsip. */ +void AccountConfig::fromPj(const pjsua_acc_config &prm, + const pjsua_media_config *mcfg) +{ + const pjsip_hdr *hdr; + unsigned i; + + // Global + priority = prm.priority; + idUri = pj2Str(prm.id); + + // AccountRegConfig + regConfig.registrarUri = pj2Str(prm.reg_uri); + regConfig.registerOnAdd = (prm.register_on_acc_add != 0); + regConfig.timeoutSec = prm.reg_timeout; + regConfig.retryIntervalSec = prm.reg_retry_interval; + regConfig.firstRetryIntervalSec = prm.reg_first_retry_interval; + regConfig.delayBeforeRefreshSec = prm.reg_delay_before_refresh; + regConfig.dropCallsOnFail = PJ2BOOL(prm.drop_calls_on_reg_fail); + regConfig.unregWaitSec = prm.unreg_timeout; + regConfig.proxyUse = prm.reg_use_proxy; + regConfig.headers.clear(); + hdr = prm.reg_hdr_list.next; + while (hdr != &prm.reg_hdr_list) { + SipHeader new_hdr; + new_hdr.fromPj(hdr); + + regConfig.headers.push_back(new_hdr); + + hdr = hdr->next; + } + + // AccountSipConfig + sipConfig.authCreds.clear(); + for (i=0; i<prm.cred_count; ++i) { + AuthCredInfo cred; + const pjsip_cred_info &src = prm.cred_info[i]; + + cred.realm = pj2Str(src.realm); + cred.scheme = pj2Str(src.scheme); + cred.username = pj2Str(src.username); + cred.dataType = src.data_type; + cred.data = pj2Str(src.data); + cred.akaK = pj2Str(src.ext.aka.k); + cred.akaOp = pj2Str(src.ext.aka.op); + cred.akaAmf = pj2Str(src.ext.aka.amf); + + sipConfig.authCreds.push_back(cred); + } + sipConfig.proxies.clear(); + for (i=0; i<prm.proxy_cnt; ++i) { + sipConfig.proxies.push_back(pj2Str(prm.proxy[i])); + } + sipConfig.contactForced = pj2Str(prm.force_contact); + sipConfig.contactParams = pj2Str(prm.contact_params); + sipConfig.contactUriParams = pj2Str(prm.contact_uri_params); + sipConfig.authInitialEmpty = PJ2BOOL(prm.auth_pref.initial_auth); + sipConfig.authInitialAlgorithm = pj2Str(prm.auth_pref.algorithm); + sipConfig.transportId = prm.transport_id; + + // AccountCallConfig + callConfig.holdType = prm.call_hold_type; + callConfig.prackUse = prm.require_100rel; + callConfig.timerUse = prm.use_timer; + callConfig.timerMinSESec = prm.timer_setting.min_se; + callConfig.timerSessExpiresSec = prm.timer_setting.sess_expires; + + // AccountPresConfig + presConfig.headers.clear(); + hdr = prm.sub_hdr_list.next; + while (hdr != &prm.sub_hdr_list) { + SipHeader new_hdr; + new_hdr.fromPj(hdr); + presConfig.headers.push_back(new_hdr); + hdr = hdr->next; + } + presConfig.publishEnabled = PJ2BOOL(prm.publish_enabled); + presConfig.publishQueue = PJ2BOOL(prm.publish_opt.queue_request); + presConfig.publishShutdownWaitMsec = prm.unpublish_max_wait_time_msec; + presConfig.pidfTupleId = pj2Str(prm.pidf_tuple_id); + + // AccountMwiConfig + mwiConfig.enabled = PJ2BOOL(prm.mwi_enabled); + mwiConfig.expirationSec = prm.mwi_expires; + + // AccountNatConfig + natConfig.sipStunUse = prm.sip_stun_use; + natConfig.mediaStunUse = prm.media_stun_use; + if (prm.ice_cfg_use == PJSUA_ICE_CONFIG_USE_CUSTOM) { + natConfig.iceEnabled = PJ2BOOL(prm.ice_cfg.enable_ice); + natConfig.iceMaxHostCands = prm.ice_cfg.ice_max_host_cands; + natConfig.iceAggressiveNomination = PJ2BOOL(prm.ice_cfg.ice_opt.aggressive); + natConfig.iceNominatedCheckDelayMsec = prm.ice_cfg.ice_opt.nominated_check_delay; + natConfig.iceWaitNominationTimeoutMsec = prm.ice_cfg.ice_opt.controlled_agent_want_nom_timeout; + natConfig.iceNoRtcp = PJ2BOOL(prm.ice_cfg.ice_no_rtcp); + natConfig.iceAlwaysUpdate = PJ2BOOL(prm.ice_cfg.ice_always_update); + } else { + pjsua_media_config default_mcfg; + if (!mcfg) { + pjsua_media_config_default(&default_mcfg); + mcfg = &default_mcfg; + } + natConfig.iceEnabled = PJ2BOOL(mcfg->enable_ice); + natConfig.iceMaxHostCands= mcfg->ice_max_host_cands; + natConfig.iceAggressiveNomination = PJ2BOOL(mcfg->ice_opt.aggressive); + natConfig.iceNominatedCheckDelayMsec = mcfg->ice_opt.nominated_check_delay; + natConfig.iceWaitNominationTimeoutMsec = mcfg->ice_opt.controlled_agent_want_nom_timeout; + natConfig.iceNoRtcp = PJ2BOOL(mcfg->ice_no_rtcp); + natConfig.iceAlwaysUpdate = PJ2BOOL(mcfg->ice_always_update); + } + + if (prm.turn_cfg_use == PJSUA_TURN_CONFIG_USE_CUSTOM) { + natConfig.turnEnabled = PJ2BOOL(prm.turn_cfg.enable_turn); + natConfig.turnServer = pj2Str(prm.turn_cfg.turn_server); + natConfig.turnConnType = prm.turn_cfg.turn_conn_type; + natConfig.turnUserName = pj2Str(prm.turn_cfg.turn_auth_cred.data.static_cred.username); + natConfig.turnPasswordType = prm.turn_cfg.turn_auth_cred.data.static_cred.data_type; + natConfig.turnPassword = pj2Str(prm.turn_cfg.turn_auth_cred.data.static_cred.data); + } else { + pjsua_media_config default_mcfg; + if (!mcfg) { + pjsua_media_config_default(&default_mcfg); + mcfg = &default_mcfg; + } + natConfig.turnEnabled = PJ2BOOL(mcfg->enable_turn); + natConfig.turnServer = pj2Str(mcfg->turn_server); + natConfig.turnConnType = mcfg->turn_conn_type; + natConfig.turnUserName = pj2Str(mcfg->turn_auth_cred.data.static_cred.username); + natConfig.turnPasswordType = mcfg->turn_auth_cred.data.static_cred.data_type; + natConfig.turnPassword = pj2Str(mcfg->turn_auth_cred.data.static_cred.data); + } + natConfig.contactRewriteUse = prm.allow_contact_rewrite; + natConfig.contactRewriteMethod = prm.contact_rewrite_method; + natConfig.viaRewriteUse = prm.allow_via_rewrite; + natConfig.sdpNatRewriteUse = prm.allow_sdp_nat_rewrite; + natConfig.sipOutboundUse = prm.use_rfc5626; + natConfig.sipOutboundInstanceId = pj2Str(prm.rfc5626_instance_id); + natConfig.sipOutboundRegId = pj2Str(prm.rfc5626_reg_id); + natConfig.udpKaIntervalSec = prm.ka_interval; + natConfig.udpKaData = pj2Str(prm.ka_data); + + // AccountMediaConfig + mediaConfig.transportConfig.fromPj(prm.rtp_cfg); + mediaConfig.lockCodecEnabled= PJ2BOOL(prm.lock_codec); +#if defined(PJMEDIA_STREAM_ENABLE_KA) && (PJMEDIA_STREAM_ENABLE_KA != 0) + mediaConfig.streamKaEnabled = PJ2BOOL(prm.use_stream_ka); +#else + mediaConfig.streamKaEnabled = false; +#endif + mediaConfig.srtpUse = prm.use_srtp; + mediaConfig.srtpSecureSignaling = prm.srtp_secure_signaling; + mediaConfig.ipv6Use = prm.ipv6_media_use; + + // AccountVideoConfig + videoConfig.autoShowIncoming = PJ2BOOL(prm.vid_in_auto_show); + videoConfig.autoTransmitOutgoing = PJ2BOOL(prm.vid_out_auto_transmit); + videoConfig.windowFlags = prm.vid_wnd_flags; + videoConfig.defaultCaptureDevice = prm.vid_cap_dev; + videoConfig.defaultRenderDevice = prm.vid_rend_dev; + videoConfig.rateControlMethod = prm.vid_stream_rc_cfg.method; + videoConfig.rateControlBandwidth = prm.vid_stream_rc_cfg.bandwidth; +} + +void AccountConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AccountConfig"); + + NODE_READ_INT ( this_node, priority); + NODE_READ_STRING ( this_node, idUri); + NODE_READ_OBJ ( this_node, regConfig); + NODE_READ_OBJ ( this_node, sipConfig); + NODE_READ_OBJ ( this_node, callConfig); + NODE_READ_OBJ ( this_node, presConfig); + NODE_READ_OBJ ( this_node, mwiConfig); + NODE_READ_OBJ ( this_node, natConfig); + NODE_READ_OBJ ( this_node, mediaConfig); + NODE_READ_OBJ ( this_node, videoConfig); +} + +void AccountConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AccountConfig"); + + NODE_WRITE_INT ( this_node, priority); + NODE_WRITE_STRING ( this_node, idUri); + NODE_WRITE_OBJ ( this_node, regConfig); + NODE_WRITE_OBJ ( this_node, sipConfig); + NODE_WRITE_OBJ ( this_node, callConfig); + NODE_WRITE_OBJ ( this_node, presConfig); + NODE_WRITE_OBJ ( this_node, mwiConfig); + NODE_WRITE_OBJ ( this_node, natConfig); + NODE_WRITE_OBJ ( this_node, mediaConfig); + NODE_WRITE_OBJ ( this_node, videoConfig); +} + + +/////////////////////////////////////////////////////////////////////////////// + +void AccountInfo::fromPj(const pjsua_acc_info &pai) +{ + id = pai.id; + isDefault = pai.is_default != 0; + uri = pj2Str(pai.acc_uri); + regIsConfigured = pai.has_registration != 0; + regIsActive = pai.has_registration && pai.expires > 0 && + (pai.status / 100 == 2); + regExpiresSec = pai.expires; + regStatus = pai.status; + regStatusText = pj2Str(pai.status_text); + regLastErr = pai.reg_last_err; + onlineStatus = pai.online_status != 0; + onlineStatusText = pj2Str(pai.online_status_text); +} + +/////////////////////////////////////////////////////////////////////////////// + +Account::Account() +: id(PJSUA_INVALID_ID) +{ +} + +Account::~Account() +{ + /* If this instance is deleted, also delete the corresponding account in + * PJSUA library. + */ + if (isValid() && pjsua_get_state() < PJSUA_STATE_CLOSING) { + // Cleanup buddies in the buddy list + while(buddyList.size() > 0) { + Buddy *b = buddyList[0]; + delete b; /* this will remove itself from the list */ + } + + pjsua_acc_set_user_data(id, NULL); + pjsua_acc_del(id); + } +} + +void Account::create(const AccountConfig &acc_cfg, + bool make_default) throw(Error) +{ + pjsua_acc_config pj_acc_cfg; + + acc_cfg.toPj(pj_acc_cfg); + pj_acc_cfg.user_data = (void*)this; + PJSUA2_CHECK_EXPR( pjsua_acc_add(&pj_acc_cfg, make_default, &id) ); +} + +void Account::modify(const AccountConfig &acc_cfg) throw(Error) +{ + pjsua_acc_config pj_acc_cfg; + + acc_cfg.toPj(pj_acc_cfg); + pj_acc_cfg.user_data = (void*)this; + PJSUA2_CHECK_EXPR( pjsua_acc_modify(id, &pj_acc_cfg) ); +} + +bool Account::isValid() const +{ + return pjsua_acc_is_valid(id) != 0; +} + +void Account::setDefault() throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_acc_set_default(id) ); +} + +bool Account::isDefault() const +{ + return pjsua_acc_get_default() == id; +} + +int Account::getId() const +{ + return id; +} + +Account *Account::lookup(int acc_id) +{ + return (Account*)pjsua_acc_get_user_data(acc_id); +} + +AccountInfo Account::getInfo() const throw(Error) +{ + pjsua_acc_info pj_ai; + AccountInfo ai; + + PJSUA2_CHECK_EXPR( pjsua_acc_get_info(id, &pj_ai) ); + ai.fromPj(pj_ai); + return ai; +} + +void Account::setRegistration(bool renew) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_acc_set_registration(id, renew) ); +} + +void +Account::setOnlineStatus(const PresenceStatus &pres_st) throw(Error) +{ + pjrpid_element pj_rpid; + + pj_bzero(&pj_rpid, sizeof(pj_rpid)); + pj_rpid.type = PJRPID_ELEMENT_TYPE_PERSON; + pj_rpid.activity = pres_st.activity; + pj_rpid.id = str2Pj(pres_st.rpidId); + pj_rpid.note = str2Pj(pres_st.note); + + PJSUA2_CHECK_EXPR( pjsua_acc_set_online_status2( + id, pres_st.status == PJSUA_BUDDY_STATUS_ONLINE, + &pj_rpid) ); +} + +void Account::setTransport(TransportId tp_id) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_acc_set_transport(id, tp_id) ); +} + +void Account::presNotify(const PresNotifyParam &prm) throw(Error) +{ + pj_str_t pj_state_str = str2Pj(prm.stateStr); + pj_str_t pj_reason = str2Pj(prm.reason); + pjsua_msg_data msg_data; + prm.txOption.toPj(msg_data); + + PJSUA2_CHECK_EXPR( pjsua_pres_notify(id, (pjsua_srv_pres*)prm.srvPres, + prm.state, &pj_state_str, + &pj_reason, prm.withBody, + &msg_data) ); +} + +const BuddyVector& Account::enumBuddies() const throw(Error) +{ + return buddyList; +} + +Buddy* Account::findBuddy(string uri, FindBuddyMatch *buddy_match) const + throw(Error) +{ + if (!buddy_match) { + static FindBuddyMatch def_bm; + buddy_match = &def_bm; + } + + for (unsigned i = 0; i < buddyList.size(); i++) { + if (buddy_match->match(uri, *buddyList[i])) + return buddyList[i]; + } + PJSUA2_RAISE_ERROR(PJ_ENOTFOUND); +} + +void Account::addBuddy(Buddy *buddy) +{ + pj_assert(buddy); + + buddyList.push_back(buddy); +} + +void Account::removeBuddy(Buddy *buddy) +{ + pj_assert(buddy); + + BuddyVector::iterator it; + for (it = buddyList.begin(); it != buddyList.end(); it++) { + if (*it == buddy) { + buddyList.erase(it); + return; + } + } + + pj_assert(!"Bug! Buddy to be removed is not in the buddy list!"); +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/call.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/call.cpp new file mode 100644 index 0000000000000000000000000000000000000000..26cfb9619b47effc2449b77ff6238f6e1119c73e --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/call.cpp @@ -0,0 +1,719 @@ +/* $Id: call.cpp 4719 2014-01-29 08:10:22Z nanang $ */ +/* + * Copyright (C) 2012-2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjsua2/account.hpp> +#include <pjsua2/call.hpp> +#include <pjsua2/endpoint.hpp> +#include <pj/ctype.h> +#include "util.hpp" + +using namespace pj; +using namespace std; + +#define THIS_FILE "call.cpp" + +/////////////////////////////////////////////////////////////////////////////// + +#define SDP_BUFFER_SIZE 1024 + +MathStat::MathStat() +: n(0), max(0), min(0), last(0), mean(0) +{ +} + +void MathStat::fromPj(const pj_math_stat &prm) +{ + this->n = prm.n; + this->max = prm.max; + this->min = prm.min; + this->last = prm.last; + this->mean = prm.mean; +} + +void RtcpStreamStat::fromPj(const pjmedia_rtcp_stream_stat &prm) +{ + this->update.fromPj(prm.update); + this->updateCount = prm.update_cnt; + this->pkt = (unsigned)prm.pkt; + this->bytes = (unsigned)prm.bytes; + this->discard = prm.discard; + this->loss = prm.loss; + this->reorder = prm.loss; + this->dup = prm.dup; + this->lossPeriodUsec.fromPj(prm.loss_period); + this->lossType.burst = prm.loss_type.burst; + this->lossType.random = prm.loss_type.random; + this->jitterUsec.fromPj(prm.jitter); +} + +void RtcpSdes::fromPj(const pjmedia_rtcp_sdes &prm) +{ + this->cname = pj2Str(prm.cname); + this->name = pj2Str(prm.name); + this->email = pj2Str(prm.email); + this->phone = pj2Str(prm.phone); + this->loc = pj2Str(prm.loc); + this->tool = pj2Str(prm.tool); + this->note = pj2Str(prm.note); +} + +void RtcpStat::fromPj(const pjmedia_rtcp_stat &prm) +{ + this->start.fromPj(prm.start); + this->txStat.fromPj(prm.tx); + this->rxStat.fromPj(prm.rx); + this->rttUsec.fromPj(prm.rtt); + this->rtpTxLastTs = prm.rtp_tx_last_ts; + this->rtpTxLastSeq = prm.rtp_tx_last_seq; +#if defined(PJMEDIA_RTCP_STAT_HAS_IPDV) && PJMEDIA_RTCP_STAT_HAS_IPDV!=0 + this->rxIpdvUsec.fromPj(prm.rx_ipdv); +#endif +#if defined(PJMEDIA_RTCP_STAT_HAS_RAW_JITTER) && \ + PJMEDIA_RTCP_STAT_HAS_RAW_JITTER!=0 + this->rxRawJitterUsec.fromPj(prm.rx_raw_jitter); +#endif + this->peerSdes.fromPj(prm.peer_sdes); +} + +void JbufState::fromPj(const pjmedia_jb_state &prm) +{ + this->frameSize = prm.frame_size; + this->minPrefetch = prm.min_prefetch; + this->maxPrefetch = prm.max_prefetch; + this->burst = prm.burst; + this->prefetch = prm.prefetch; + this->size = prm.size; + this->avgDelayMsec = prm.avg_delay; + this->minDelayMsec = prm.min_delay; + this->maxDelayMsec = prm.max_delay; + this->devDelayMsec = prm.dev_delay; + this->avgBurst = prm.avg_burst; + this->lost = prm.lost; + this->discard = prm.discard; + this->empty = prm.empty; +} + +void SdpSession::fromPj(const pjmedia_sdp_session &sdp) +{ + char buf[SDP_BUFFER_SIZE]; + int len; + + len = pjmedia_sdp_print(&sdp, buf, sizeof(buf)); + wholeSdp = (len > -1? string(buf, len): ""); + pjSdpSession = (void *)&sdp; +} + +void MediaEvent::fromPj(const pjmedia_event &ev) +{ + type = ev.type; + if (type == PJMEDIA_EVENT_FMT_CHANGED) { + data.fmtChanged.newWidth = ev.data.fmt_changed.new_fmt.det.vid.size.w; + data.fmtChanged.newHeight = ev.data.fmt_changed.new_fmt.det.vid.size.h; + } + pjMediaEvent = (void *)&ev; +} + +void MediaTransportInfo::fromPj(const pjmedia_transport_info &info) +{ + char straddr[PJ_INET6_ADDRSTRLEN+10]; + + pj_sockaddr_print(&info.src_rtp_name, straddr, sizeof(straddr), 3); + srcRtpName = straddr; + pj_sockaddr_print(&info.src_rtcp_name, straddr, sizeof(straddr), 3); + srcRtcpName = straddr; +} + +////////////////////////////////////////////////////////////////////////////// + +/* Call Audio Media. */ +class CallAudioMedia : public AudioMedia +{ +public: + /* + * Set the conference port identification associated with the + * call audio media. + */ + void setPortId(int id); +}; + + +void CallAudioMedia::setPortId(int id) +{ + this->id = id; +} + +CallOpParam::CallOpParam(bool useDefaultCallSetting) +: statusCode(pjsip_status_code(0)), reason(""), options(0) +{ + if (useDefaultCallSetting) + opt = CallSetting(true); +} + +CallSendRequestParam::CallSendRequestParam() +: method("") +{ +} + +CallVidSetStreamParam::CallVidSetStreamParam() +{ +#if PJSUA_HAS_VIDEO + pjsua_call_vid_strm_op_param prm; + + pjsua_call_vid_strm_op_param_default(&prm); + this->medIdx = prm.med_idx; + this->dir = prm.dir; + this->capDev = prm.cap_dev; +#endif +} + +CallSetting::CallSetting(pj_bool_t useDefaultValues) +{ + if (useDefaultValues) { + pjsua_call_setting setting; + + pjsua_call_setting_default(&setting); + fromPj(setting); + } else { + flag = 0; + reqKeyframeMethod = 0; + audioCount = 0; + videoCount = 0; + } +} + +bool CallSetting::isEmpty() const +{ + return (flag == 0 && reqKeyframeMethod == 0 && audioCount == 0 && + videoCount == 0); +} + +void CallSetting::fromPj(const pjsua_call_setting &prm) +{ + this->flag = prm.flag; + this->reqKeyframeMethod = prm.req_keyframe_method; + this->audioCount = prm.aud_cnt; + this->videoCount = prm.vid_cnt; +} + +pjsua_call_setting CallSetting::toPj() const +{ + pjsua_call_setting setting; + + setting.flag = this->flag; + setting.req_keyframe_method = this->reqKeyframeMethod; + setting.aud_cnt = this->audioCount; + setting.vid_cnt = this->videoCount; + + return setting; +} + + +CallMediaInfo::CallMediaInfo() +{ +} + +void CallMediaInfo::fromPj(const pjsua_call_media_info &prm) +{ + this->index = prm.index; + this->type = prm.type; + this->dir = prm.dir; + this->status = prm.status; + if (this->type == PJMEDIA_TYPE_AUDIO) { + this->audioConfSlot = (int)prm.stream.aud.conf_slot; + } else if (this->type == PJMEDIA_TYPE_VIDEO) { + this->videoIncomingWindowId = prm.stream.vid.win_in; + this->videoCapDev = prm.stream.vid.cap_dev; + } +} + +void CallInfo::fromPj(const pjsua_call_info &pci) +{ + unsigned mi; + + id = pci.id; + role = pci.role; + accId = pci.acc_id; + localUri = pj2Str(pci.local_info); + localContact = pj2Str(pci.local_contact); + remoteUri = pj2Str(pci.remote_info); + remoteContact = pj2Str(pci.remote_contact); + callIdString = pj2Str(pci.call_id); + setting.fromPj(pci.setting); + state = pci.state; + stateText = pj2Str(pci.state_text); + lastStatusCode = pci.last_status; + lastReason = pj2Str(pci.last_status_text); + connectDuration.fromPj(pci.connect_duration); + totalDuration.fromPj(pci.total_duration); + remOfferer = PJ2BOOL(pci.rem_offerer); + remAudioCount = pci.rem_aud_cnt; + remVideoCount = pci.rem_vid_cnt; + + for (mi = 0; mi < pci.media_cnt; mi++) { + CallMediaInfo med; + + med.fromPj(pci.media[mi]); + media.push_back(med); + } + for (mi = 0; mi < pci.prov_media_cnt; mi++) { + CallMediaInfo med; + + med.fromPj(pci.prov_media[mi]); + provMedia.push_back(med); + } +} + +void StreamInfo::fromPj(const pjsua_stream_info &info) +{ + char straddr[PJ_INET6_ADDRSTRLEN+10]; + + type = info.type; + if (type == PJMEDIA_TYPE_AUDIO) { + proto = info.info.aud.proto; + dir = info.info.aud.dir; + pj_sockaddr_print(&info.info.aud.rem_addr, straddr, sizeof(straddr), 3); + remoteRtpAddress = straddr; + pj_sockaddr_print(&info.info.aud.rem_rtcp, straddr, sizeof(straddr), 3); + remoteRtcpAddress = straddr; + txPt = info.info.aud.tx_pt; + rxPt = info.info.aud.rx_pt; + codecName = pj2Str(info.info.aud.fmt.encoding_name); + codecClockRate = info.info.aud.fmt.clock_rate; + codecParam = info.info.aud.param; + } else if (type == PJMEDIA_TYPE_VIDEO) { + proto = info.info.vid.proto; + dir = info.info.vid.dir; + pj_sockaddr_print(&info.info.vid.rem_addr, straddr, sizeof(straddr), 3); + remoteRtpAddress = straddr; + pj_sockaddr_print(&info.info.vid.rem_rtcp, straddr, sizeof(straddr), 3); + remoteRtcpAddress = straddr; + txPt = info.info.vid.tx_pt; + rxPt = info.info.vid.rx_pt; + codecName = pj2Str(info.info.vid.codec_info.encoding_name); + codecClockRate = info.info.vid.codec_info.clock_rate; + codecParam = info.info.vid.codec_param; + } +} + +void StreamStat::fromPj(const pjsua_stream_stat &prm) +{ + rtcp.fromPj(prm.rtcp); + jbuf.fromPj(prm.jbuf); +} + +/////////////////////////////////////////////////////////////////////////////// + +struct call_param +{ + pjsua_msg_data msg_data; + pjsua_msg_data *p_msg_data; + pjsua_call_setting opt; + pjsua_call_setting *p_opt; + pj_str_t reason; + pj_str_t *p_reason; + +public: + /** + * Default constructors with specified parameters. + */ + call_param(const SipTxOption &tx_option); + call_param(const SipTxOption &tx_option, const CallSetting &setting, + const string &reason_str); +}; + +call_param::call_param(const SipTxOption &tx_option) +{ + if (tx_option.isEmpty()) { + p_msg_data = NULL; + } else { + tx_option.toPj(msg_data); + p_msg_data = &msg_data; + } + + p_opt = NULL; + p_reason = NULL; +} + +call_param::call_param(const SipTxOption &tx_option, const CallSetting &setting, + const string &reason_str) +{ + if (tx_option.isEmpty()) { + p_msg_data = NULL; + } else { + tx_option.toPj(msg_data); + p_msg_data = &msg_data; + } + + if (setting.isEmpty()) { + p_opt = NULL; + } else { + opt = setting.toPj(); + p_opt = &opt; + } + + reason = str2Pj(reason_str); + p_reason = (reason.slen == 0? NULL: &reason); +} + +Call::Call(Account& account, int call_id) +: acc(account), id(call_id) +{ + if (call_id != PJSUA_INVALID_ID) + pjsua_call_set_user_data(call_id, this); +} + +Call::~Call() +{ + /** + * If this instance is deleted, also hangup the corresponding call in + * PJSUA library. + */ + if (id != PJSUA_INVALID_ID && pjsua_get_state() < PJSUA_STATE_CLOSING) { + pjsua_call_set_user_data(id, NULL); + if (isActive()) { + CallOpParam prm; + hangup(prm); + } + } +} + +CallInfo Call::getInfo() const throw(Error) +{ + pjsua_call_info pj_ci; + CallInfo ci; + + PJSUA2_CHECK_EXPR( pjsua_call_get_info(id, &pj_ci) ); + ci.fromPj(pj_ci); + return ci; +} + +bool Call::isActive() const +{ + if (id == PJSUA_INVALID_ID) + return false; + + return (pjsua_call_is_active(id) != 0); +} + +int Call::getId() const +{ + return id; +} + +Call *Call::lookup(int call_id) +{ + Call *call = (Call*)pjsua_call_get_user_data(call_id); + if (call) + call->id = call_id; + return call; +} + +bool Call::hasMedia() const +{ + return (pjsua_call_has_media(id) != 0); +} + +Media *Call::getMedia(unsigned med_idx) const +{ + /* Check if the media index is valid and if the media has a valid port ID */ + if (med_idx >= medias.size() || + (medias[med_idx] && medias[med_idx]->getType() == PJMEDIA_TYPE_AUDIO && + ((AudioMedia *)medias[med_idx])->getPortId() == PJSUA_INVALID_ID)) + { + return NULL; + } + + return medias[med_idx]; +} + +pjsip_dialog_cap_status Call::remoteHasCap(int htype, + const string &hname, + const string &token) const +{ + pj_str_t pj_hname = str2Pj(hname); + pj_str_t pj_token = str2Pj(token); + + return pjsua_call_remote_has_cap(id, htype, + (htype == PJSIP_H_OTHER)? &pj_hname: NULL, + &pj_token); +} + +void Call::setUserData(Token user_data) +{ + userData = user_data; +} + +Token Call::getUserData() const +{ + return userData; +} + +pj_stun_nat_type Call::getRemNatType() throw(Error) +{ + pj_stun_nat_type nat; + + PJSUA2_CHECK_EXPR( pjsua_call_get_rem_nat_type(id, &nat) ); + + return nat; +} + +void Call::makeCall(const string &dst_uri, const CallOpParam &prm) throw(Error) +{ + pj_str_t pj_dst_uri = str2Pj(dst_uri); + call_param param(prm.txOption, prm.opt, prm.reason); + + PJSUA2_CHECK_EXPR( pjsua_call_make_call(acc.getId(), &pj_dst_uri, + param.p_opt, this, + param.p_msg_data, &id) ); +} + +void Call::answer(const CallOpParam &prm) throw(Error) +{ + call_param param(prm.txOption, prm.opt, prm.reason); + + PJSUA2_CHECK_EXPR( pjsua_call_answer2(id, param.p_opt, prm.statusCode, + param.p_reason, param.p_msg_data) ); +} + +void Call::hangup(const CallOpParam &prm) throw(Error) +{ + call_param param(prm.txOption, prm.opt, prm.reason); + + PJSUA2_CHECK_EXPR( pjsua_call_hangup(id, prm.statusCode, param.p_reason, + param.p_msg_data) ); +} + +void Call::setHold(const CallOpParam &prm) throw(Error) +{ + call_param param(prm.txOption, prm.opt, prm.reason); + + PJSUA2_CHECK_EXPR( pjsua_call_set_hold2(id, prm.options, param.p_msg_data)); +} + +void Call::reinvite(const CallOpParam &prm) throw(Error) +{ + call_param param(prm.txOption, prm.opt, prm.reason); + + PJSUA2_CHECK_EXPR( pjsua_call_reinvite2(id, param.p_opt, param.p_msg_data)); +} + +void Call::update(const CallOpParam &prm) throw(Error) +{ + call_param param(prm.txOption, prm.opt, prm.reason); + + PJSUA2_CHECK_EXPR( pjsua_call_update2(id, param.p_opt, param.p_msg_data) ); +} + +void Call::xfer(const string &dest, const CallOpParam &prm) throw(Error) +{ + call_param param(prm.txOption); + pj_str_t pj_dest = str2Pj(dest); + + PJSUA2_CHECK_EXPR( pjsua_call_xfer(id, &pj_dest, param.p_msg_data) ); +} + +void Call::xferReplaces(const Call& dest_call, + const CallOpParam &prm) throw(Error) +{ + call_param param(prm.txOption); + + PJSUA2_CHECK_EXPR(pjsua_call_xfer_replaces(id, dest_call.getId(), + prm.options, param.p_msg_data) ); +} + +void Call::processRedirect(pjsip_redirect_op cmd) throw(Error) +{ + PJSUA2_CHECK_EXPR(pjsua_call_process_redirect(id, cmd)); +} + +void Call::dialDtmf(const string &digits) throw(Error) +{ + pj_str_t pj_digits = str2Pj(digits); + + PJSUA2_CHECK_EXPR(pjsua_call_dial_dtmf(id, &pj_digits)); +} + +void Call::sendInstantMessage(const SendInstantMessageParam& prm) + throw(Error) +{ + pj_str_t mime_type = str2Pj(prm.contentType); + pj_str_t content = str2Pj(prm.content); + call_param param(prm.txOption); + + PJSUA2_CHECK_EXPR(pjsua_call_send_im(id, &mime_type, &content, + param.p_msg_data, prm.userData) ); +} + +void Call::sendTypingIndication(const SendTypingIndicationParam &prm) + throw(Error) +{ + call_param param(prm.txOption); + + PJSUA2_CHECK_EXPR(pjsua_call_send_typing_ind(id, + (prm.isTyping? + PJ_TRUE: PJ_FALSE), + param.p_msg_data) ); +} + +void Call::sendRequest(const CallSendRequestParam &prm) throw(Error) +{ + pj_str_t method = str2Pj(prm.method); + call_param param(prm.txOption); + + PJSUA2_CHECK_EXPR(pjsua_call_send_request(id, &method, param.p_msg_data) ); +} + +string Call::dump(bool with_media, const string indent) throw(Error) +{ +#if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) + char buffer[1024 * 10]; +#else + char buffer[1024 * 3]; +#endif + + PJSUA2_CHECK_EXPR(pjsua_call_dump(id, (with_media? PJ_TRUE: PJ_FALSE), + buffer, sizeof(buffer), + indent.c_str())); + + return buffer; +} + +int Call::vidGetStreamIdx() const +{ +#if PJSUA_HAS_VIDEO + return pjsua_call_get_vid_stream_idx(id); +#else + return PJSUA_INVALID_ID; +#endif +} + +bool Call::vidStreamIsRunning(int med_idx, pjmedia_dir dir) const +{ +#if PJSUA_HAS_VIDEO + return (pjsua_call_vid_stream_is_running(id, med_idx, dir) == PJ_TRUE); +#else + PJ_UNUSED_ARG(med_idx); + PJ_UNUSED_ARG(dir); + return false; +#endif +} + +void Call::vidSetStream(pjsua_call_vid_strm_op op, + const CallVidSetStreamParam ¶m) throw(Error) +{ +#if PJSUA_HAS_VIDEO + pjsua_call_vid_strm_op_param prm; + + prm.med_idx = param.medIdx; + prm.dir = param.dir; + prm.cap_dev = param.capDev; + PJSUA2_CHECK_EXPR( pjsua_call_set_vid_strm(id, op, &prm) ); +#else + PJ_UNUSED_ARG(op); + PJ_UNUSED_ARG(param); + PJSUA2_RAISE_ERROR(PJ_EINVALIDOP); +#endif +} + +StreamInfo Call::getStreamInfo(unsigned med_idx) const throw(Error) +{ + pjsua_stream_info pj_si; + StreamInfo si; + + PJSUA2_CHECK_EXPR( pjsua_call_get_stream_info(id, med_idx, &pj_si) ); + si.fromPj(pj_si); + return si; +} + +StreamStat Call::getStreamStat(unsigned med_idx) const throw(Error) +{ + pjsua_stream_stat pj_ss; + StreamStat ss; + + PJSUA2_CHECK_EXPR( pjsua_call_get_stream_stat(id, med_idx, &pj_ss) ); + ss.fromPj(pj_ss); + return ss; +} + +MediaTransportInfo Call::getMedTransportInfo(unsigned med_idx) const + throw(Error) +{ + pjmedia_transport_info pj_mti; + MediaTransportInfo mti; + + PJSUA2_CHECK_EXPR( pjsua_call_get_med_transport_info(id, med_idx, + &pj_mti) ); + mti.fromPj(pj_mti); + return mti; +} + +void Call::processMediaUpdate(OnCallMediaStateParam &prm) +{ + pjsua_call_info pj_ci; + unsigned mi; + + if (pjsua_call_get_info(id, &pj_ci) == PJ_SUCCESS) { + for (mi = 0; mi < pj_ci.media_cnt; mi++) { + if (mi >= medias.size()) { + if (pj_ci.media[mi].type == PJMEDIA_TYPE_AUDIO) { + medias.push_back(new CallAudioMedia); + } else { + medias.push_back(NULL); + } + } + + if (pj_ci.media[mi].type == PJMEDIA_TYPE_AUDIO) { + CallAudioMedia *aud_med = (CallAudioMedia *)medias[mi]; + + aud_med->setPortId(pj_ci.media[mi].stream.aud.conf_slot); + /* Add media if the conference slot ID is valid. */ + if (pj_ci.media[mi].stream.aud.conf_slot != PJSUA_INVALID_ID) + { + Endpoint::instance().mediaAdd((AudioMedia &)*aud_med); + } else { + Endpoint::instance().mediaRemove((AudioMedia &)*aud_med); + } + } + } + } + + /* Call media state callback. */ + onCallMediaState(prm); +} + +void Call::processStateChange(OnCallStateParam &prm) +{ + pjsua_call_info pj_ci; + unsigned mi; + + if (pjsua_call_get_info(id, &pj_ci) == PJ_SUCCESS && + pj_ci.state == PJSIP_INV_STATE_DISCONNECTED) + { + /* Clear medias. */ + for (mi = 0; mi < medias.size(); mi++) { + if (medias[mi]) + delete medias[mi]; + } + medias.clear(); + } + + onCallState(prm); + /* If the state is DISCONNECTED, this call may have already been deleted + * by the application in the callback, so do not access it anymore here. + */ +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/endpoint.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/endpoint.cpp new file mode 100644 index 0000000000000000000000000000000000000000..55426287493d74aa35f137f58159dc284c6e3cf5 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/endpoint.cpp @@ -0,0 +1,1612 @@ +/* $Id: endpoint.cpp 4776 2014-03-04 04:25:31Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjsua2/endpoint.hpp> +#include <pjsua2/account.hpp> +#include <pjsua2/call.hpp> +#include <pjsua2/presence.hpp> +#include <algorithm> +#include "util.hpp" + +using namespace pj; +using namespace std; + +#include <pjsua2/account.hpp> +#include <pjsua2/call.hpp> + +#define THIS_FILE "endpoint.cpp" +#define MAX_STUN_SERVERS 32 +#define TIMER_SIGNATURE 0x600D878A +#define MAX_CODEC_NUM 64 + +struct UserTimer +{ + pj_uint32_t signature; + OnTimerParam prm; + pj_timer_entry entry; +}; + +Endpoint *Endpoint::instance_; + +/////////////////////////////////////////////////////////////////////////////// + +UaConfig::UaConfig() +{ + pjsua_config ua_cfg; + + pjsua_config_default(&ua_cfg); + fromPj(ua_cfg); +} + +void UaConfig::fromPj(const pjsua_config &ua_cfg) +{ + unsigned i; + + this->maxCalls = ua_cfg.max_calls; + this->threadCnt = ua_cfg.thread_cnt; + this->userAgent = pj2Str(ua_cfg.user_agent); + + for (i=0; i<ua_cfg.nameserver_count; ++i) { + this->nameserver.push_back(pj2Str(ua_cfg.nameserver[i])); + } + + for (i=0; i<ua_cfg.stun_srv_cnt; ++i) { + this->stunServer.push_back(pj2Str(ua_cfg.stun_srv[i])); + } + + this->stunIgnoreFailure = PJ2BOOL(ua_cfg.stun_ignore_failure); + this->natTypeInSdp = ua_cfg.nat_type_in_sdp; + this->mwiUnsolicitedEnabled = PJ2BOOL(ua_cfg.enable_unsolicited_mwi); +} + +pjsua_config UaConfig::toPj() const +{ + unsigned i; + pjsua_config pua_cfg; + + pjsua_config_default(&pua_cfg); + + pua_cfg.max_calls = this->maxCalls; + pua_cfg.thread_cnt = this->threadCnt; + pua_cfg.user_agent = str2Pj(this->userAgent); + + for (i=0; i<this->nameserver.size() && i<PJ_ARRAY_SIZE(pua_cfg.nameserver); + ++i) + { + pua_cfg.nameserver[i] = str2Pj(this->nameserver[i]); + } + pua_cfg.nameserver_count = i; + + for (i=0; i<this->stunServer.size() && i<PJ_ARRAY_SIZE(pua_cfg.stun_srv); + ++i) + { + pua_cfg.stun_srv[i] = str2Pj(this->stunServer[i]); + } + pua_cfg.stun_srv_cnt = i; + + pua_cfg.nat_type_in_sdp = this->natTypeInSdp; + pua_cfg.enable_unsolicited_mwi = this->mwiUnsolicitedEnabled; + + return pua_cfg; +} + +void UaConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("UaConfig"); + + NODE_READ_UNSIGNED( this_node, maxCalls); + NODE_READ_UNSIGNED( this_node, threadCnt); + NODE_READ_BOOL ( this_node, mainThreadOnly); + NODE_READ_STRINGV ( this_node, nameserver); + NODE_READ_STRING ( this_node, userAgent); + NODE_READ_STRINGV ( this_node, stunServer); + NODE_READ_BOOL ( this_node, stunIgnoreFailure); + NODE_READ_INT ( this_node, natTypeInSdp); + NODE_READ_BOOL ( this_node, mwiUnsolicitedEnabled); +} + +void UaConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("UaConfig"); + + NODE_WRITE_UNSIGNED( this_node, maxCalls); + NODE_WRITE_UNSIGNED( this_node, threadCnt); + NODE_WRITE_BOOL ( this_node, mainThreadOnly); + NODE_WRITE_STRINGV ( this_node, nameserver); + NODE_WRITE_STRING ( this_node, userAgent); + NODE_WRITE_STRINGV ( this_node, stunServer); + NODE_WRITE_BOOL ( this_node, stunIgnoreFailure); + NODE_WRITE_INT ( this_node, natTypeInSdp); + NODE_WRITE_BOOL ( this_node, mwiUnsolicitedEnabled); +} + +/////////////////////////////////////////////////////////////////////////////// + +LogConfig::LogConfig() +{ + pjsua_logging_config lc; + + pjsua_logging_config_default(&lc); + fromPj(lc); +} + +void LogConfig::fromPj(const pjsua_logging_config &lc) +{ + this->msgLogging = lc.msg_logging; + this->level = lc.level; + this->consoleLevel = lc.console_level; + this->decor = lc.decor; + this->filename = pj2Str(lc.log_filename); + this->fileFlags = lc.log_file_flags; + this->writer = NULL; +} + +pjsua_logging_config LogConfig::toPj() const +{ + pjsua_logging_config lc; + + pjsua_logging_config_default(&lc); + + lc.msg_logging = this->msgLogging; + lc.level = this->level; + lc.console_level = this->consoleLevel; + lc.decor = this->decor; + lc.log_file_flags = this->fileFlags; + lc.log_filename = str2Pj(this->filename); + + return lc; +} + +void LogConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("LogConfig"); + + NODE_READ_UNSIGNED( this_node, msgLogging); + NODE_READ_UNSIGNED( this_node, level); + NODE_READ_UNSIGNED( this_node, consoleLevel); + NODE_READ_UNSIGNED( this_node, decor); + NODE_READ_STRING ( this_node, filename); + NODE_READ_UNSIGNED( this_node, fileFlags); +} + +void LogConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("LogConfig"); + + NODE_WRITE_UNSIGNED( this_node, msgLogging); + NODE_WRITE_UNSIGNED( this_node, level); + NODE_WRITE_UNSIGNED( this_node, consoleLevel); + NODE_WRITE_UNSIGNED( this_node, decor); + NODE_WRITE_STRING ( this_node, filename); + NODE_WRITE_UNSIGNED( this_node, fileFlags); +} + +/////////////////////////////////////////////////////////////////////////////// + +MediaConfig::MediaConfig() +{ + pjsua_media_config mc; + + pjsua_media_config_default(&mc); + fromPj(mc); +} + +void MediaConfig::fromPj(const pjsua_media_config &mc) +{ + this->clockRate = mc.clock_rate; + this->sndClockRate = mc.snd_clock_rate; + this->channelCount = mc.channel_count; + this->audioFramePtime = mc.audio_frame_ptime; + this->maxMediaPorts = mc.max_media_ports; + this->hasIoqueue = PJ2BOOL(mc.has_ioqueue); + this->threadCnt = mc.thread_cnt; + this->quality = mc.quality; + this->ptime = mc.ptime; + this->noVad = PJ2BOOL(mc.no_vad); + this->ilbcMode = mc.ilbc_mode; + this->txDropPct = mc.tx_drop_pct; + this->rxDropPct = mc.rx_drop_pct; + this->ecOptions = mc.ec_options; + this->ecTailLen = mc.ec_tail_len; + this->sndRecLatency = mc.snd_rec_latency; + this->sndPlayLatency = mc.snd_play_latency; + this->jbInit = mc.jb_init; + this->jbMinPre = mc.jb_min_pre; + this->jbMaxPre = mc.jb_max_pre; + this->jbMax = mc.jb_max; + this->sndAutoCloseTime = mc.snd_auto_close_time; + this->vidPreviewEnableNative = PJ2BOOL(mc.vid_preview_enable_native); +} + +pjsua_media_config MediaConfig::toPj() const +{ + pjsua_media_config mcfg; + + pjsua_media_config_default(&mcfg); + + mcfg.clock_rate = this->clockRate; + mcfg.snd_clock_rate = this->sndClockRate; + mcfg.channel_count = this->channelCount; + mcfg.audio_frame_ptime = this->audioFramePtime; + mcfg.max_media_ports = this->maxMediaPorts; + mcfg.has_ioqueue = this->hasIoqueue; + mcfg.thread_cnt = this->threadCnt; + mcfg.quality = this->quality; + mcfg.ptime = this->ptime; + mcfg.no_vad = this->noVad; + mcfg.ilbc_mode = this->ilbcMode; + mcfg.tx_drop_pct = this->txDropPct; + mcfg.rx_drop_pct = this->rxDropPct; + mcfg.ec_options = this->ecOptions; + mcfg.ec_tail_len = this->ecTailLen; + mcfg.snd_rec_latency = this->sndRecLatency; + mcfg.snd_play_latency = this->sndPlayLatency; + mcfg.jb_init = this->jbInit; + mcfg.jb_min_pre = this->jbMinPre; + mcfg.jb_max_pre = this->jbMaxPre; + mcfg.jb_max = this->jbMax; + mcfg.snd_auto_close_time = this->sndAutoCloseTime; + mcfg.vid_preview_enable_native = this->vidPreviewEnableNative; + + return mcfg; +} + +void MediaConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("MediaConfig"); + + NODE_READ_UNSIGNED( this_node, clockRate); + NODE_READ_UNSIGNED( this_node, sndClockRate); + NODE_READ_UNSIGNED( this_node, channelCount); + NODE_READ_UNSIGNED( this_node, audioFramePtime); + NODE_READ_UNSIGNED( this_node, maxMediaPorts); + NODE_READ_BOOL ( this_node, hasIoqueue); + NODE_READ_UNSIGNED( this_node, threadCnt); + NODE_READ_UNSIGNED( this_node, quality); + NODE_READ_UNSIGNED( this_node, ptime); + NODE_READ_BOOL ( this_node, noVad); + NODE_READ_UNSIGNED( this_node, ilbcMode); + NODE_READ_UNSIGNED( this_node, txDropPct); + NODE_READ_UNSIGNED( this_node, rxDropPct); + NODE_READ_UNSIGNED( this_node, ecOptions); + NODE_READ_UNSIGNED( this_node, ecTailLen); + NODE_READ_UNSIGNED( this_node, sndRecLatency); + NODE_READ_UNSIGNED( this_node, sndPlayLatency); + NODE_READ_INT ( this_node, jbInit); + NODE_READ_INT ( this_node, jbMinPre); + NODE_READ_INT ( this_node, jbMaxPre); + NODE_READ_INT ( this_node, jbMax); + NODE_READ_INT ( this_node, sndAutoCloseTime); + NODE_READ_BOOL ( this_node, vidPreviewEnableNative); +} + +void MediaConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("MediaConfig"); + + NODE_WRITE_UNSIGNED( this_node, clockRate); + NODE_WRITE_UNSIGNED( this_node, sndClockRate); + NODE_WRITE_UNSIGNED( this_node, channelCount); + NODE_WRITE_UNSIGNED( this_node, audioFramePtime); + NODE_WRITE_UNSIGNED( this_node, maxMediaPorts); + NODE_WRITE_BOOL ( this_node, hasIoqueue); + NODE_WRITE_UNSIGNED( this_node, threadCnt); + NODE_WRITE_UNSIGNED( this_node, quality); + NODE_WRITE_UNSIGNED( this_node, ptime); + NODE_WRITE_BOOL ( this_node, noVad); + NODE_WRITE_UNSIGNED( this_node, ilbcMode); + NODE_WRITE_UNSIGNED( this_node, txDropPct); + NODE_WRITE_UNSIGNED( this_node, rxDropPct); + NODE_WRITE_UNSIGNED( this_node, ecOptions); + NODE_WRITE_UNSIGNED( this_node, ecTailLen); + NODE_WRITE_UNSIGNED( this_node, sndRecLatency); + NODE_WRITE_UNSIGNED( this_node, sndPlayLatency); + NODE_WRITE_INT ( this_node, jbInit); + NODE_WRITE_INT ( this_node, jbMinPre); + NODE_WRITE_INT ( this_node, jbMaxPre); + NODE_WRITE_INT ( this_node, jbMax); + NODE_WRITE_INT ( this_node, sndAutoCloseTime); + NODE_WRITE_BOOL ( this_node, vidPreviewEnableNative); +} + +/////////////////////////////////////////////////////////////////////////////// + +void EpConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("EpConfig"); + NODE_READ_OBJ( this_node, uaConfig); + NODE_READ_OBJ( this_node, logConfig); + NODE_READ_OBJ( this_node, medConfig); +} + +void EpConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("EpConfig"); + NODE_WRITE_OBJ( this_node, uaConfig); + NODE_WRITE_OBJ( this_node, logConfig); + NODE_WRITE_OBJ( this_node, medConfig); +} + +/////////////////////////////////////////////////////////////////////////////// +/* Class to post log to main thread */ +struct PendingLog : public PendingJob +{ + LogEntry entry; + virtual void execute(bool is_pending) + { + PJ_UNUSED_ARG(is_pending); + Endpoint::instance().utilLogWrite(entry); + } +}; + +/////////////////////////////////////////////////////////////////////////////// +/* + * Endpoint instance + */ +Endpoint::Endpoint() +: writer(NULL), mainThreadOnly(false), mainThread(NULL), pendingJobSize(0) +{ + if (instance_) { + PJSUA2_RAISE_ERROR(PJ_EEXISTS); + } + + instance_ = this; +} + +Endpoint& Endpoint::instance() throw(Error) +{ + if (!instance_) { + PJSUA2_RAISE_ERROR(PJ_ENOTFOUND); + } + return *instance_; +} + +Endpoint::~Endpoint() +{ + while (!pendingJobs.empty()) { + delete pendingJobs.front(); + pendingJobs.pop_front(); + } + + while(mediaList.size() > 0) { + AudioMedia *cur_media = mediaList[0]; + delete cur_media; /* this will remove itself from the list */ + } + + clearCodecInfoList(); + + try { + libDestroy(); + } catch (Error &err) { + // Ignore + PJ_UNUSED_ARG(err); + } + + instance_ = NULL; +} + +void Endpoint::utilAddPendingJob(PendingJob *job) +{ + enum { + MAX_PENDING_JOBS = 1024 + }; + + /* See if we can execute immediately */ + if (!mainThreadOnly || pj_thread_this()==mainThread) { + job->execute(false); + delete job; + return; + } + + if (pendingJobSize > MAX_PENDING_JOBS) { + enum { NUMBER_TO_DISCARD = 5 }; + + pj_enter_critical_section(); + for (unsigned i=0; i<NUMBER_TO_DISCARD; ++i) { + delete pendingJobs.back(); + pendingJobs.pop_back(); + } + + pendingJobSize -= NUMBER_TO_DISCARD; + pj_leave_critical_section(); + + utilLogWrite(1, THIS_FILE, + "*** ERROR: Job queue full!! Jobs discarded!!! ***"); + } + + pj_enter_critical_section(); + pendingJobs.push_back(job); + pendingJobSize++; + pj_leave_critical_section(); +} + +/* Handle log callback */ +void Endpoint::utilLogWrite(LogEntry &entry) +{ + if (mainThreadOnly && pj_thread_this() != mainThread) { + PendingLog *job = new PendingLog; + job->entry = entry; + utilAddPendingJob(job); + } else { + writer->write(entry); + } +} + +/* Run pending jobs only in main thread */ +void Endpoint::performPendingJobs() +{ + if (pj_thread_this() != mainThread) + return; + + if (pendingJobSize == 0) + return; + + for (;;) { + PendingJob *job = NULL; + + pj_enter_critical_section(); + if (pendingJobSize != 0) { + job = pendingJobs.front(); + pendingJobs.pop_front(); + pendingJobSize--; + } + pj_leave_critical_section(); + + if (job) { + job->execute(true); + delete job; + } else + break; + } +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Endpoint static callbacks + */ +void Endpoint::logFunc(int level, const char *data, int len) +{ + Endpoint &ep = Endpoint::instance(); + + if (!ep.writer) + return; + + LogEntry entry; + entry.level = level; + entry.msg = string(data, len); + entry.threadId = (long)pj_thread_this(); + entry.threadName = string(pj_thread_get_name(pj_thread_this())); + + ep.utilLogWrite(entry); +} + +void Endpoint::stun_resolve_cb(const pj_stun_resolve_result *res) +{ + Endpoint &ep = Endpoint::instance(); + + if (!res) + return; + + OnNatCheckStunServersCompleteParam prm; + + prm.userData = res->token; + prm.status = res->status; + if (res->status == PJ_SUCCESS) { + char straddr[PJ_INET6_ADDRSTRLEN+10]; + + prm.name = string(res->name.ptr, res->name.slen); + pj_sockaddr_print(&res->addr, straddr, sizeof(straddr), 3); + prm.addr = straddr; + } + + ep.onNatCheckStunServersComplete(prm); +} + +void Endpoint::on_timer(pj_timer_heap_t *timer_heap, + pj_timer_entry *entry) +{ + PJ_UNUSED_ARG(timer_heap); + + Endpoint &ep = Endpoint::instance(); + UserTimer *ut = (UserTimer*) entry->user_data; + + if (ut->signature != TIMER_SIGNATURE) + return; + + ep.onTimer(ut->prm); +} + +void Endpoint::on_nat_detect(const pj_stun_nat_detect_result *res) +{ + Endpoint &ep = Endpoint::instance(); + + if (!res) + return; + + OnNatDetectionCompleteParam prm; + + prm.status = res->status; + prm.reason = res->status_text; + prm.natType = res->nat_type; + prm.natTypeName = res->nat_type_name; + + ep.onNatDetectionComplete(prm); +} + +void Endpoint::on_transport_state( pjsip_transport *tp, + pjsip_transport_state state, + const pjsip_transport_state_info *info) +{ + Endpoint &ep = Endpoint::instance(); + + OnTransportStateParam prm; + + prm.hnd = (TransportHandle)tp; + prm.state = state; + prm.lastError = info ? info->status : PJ_SUCCESS; + + ep.onTransportState(prm); +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Account static callbacks + */ + +Account *Endpoint::lookupAcc(int acc_id, const char *op) +{ + Account *acc = Account::lookup(acc_id); + if (!acc) { + PJ_LOG(1,(THIS_FILE, + "Error: cannot find Account instance for account id %d in " + "%s", acc_id, op)); + } + + return acc; +} + +Call *Endpoint::lookupCall(int call_id, const char *op) +{ + Call *call = Call::lookup(call_id); + if (!call) { + PJ_LOG(1,(THIS_FILE, + "Error: cannot find Call instance for call id %d in " + "%s", call_id, op)); + } + + return call; +} + +void Endpoint::on_incoming_call(pjsua_acc_id acc_id, pjsua_call_id call_id, + pjsip_rx_data *rdata) +{ + Account *acc = lookupAcc(acc_id, "on_incoming_call()"); + if (!acc) { + pjsua_call_hangup(call_id, PJSIP_SC_INTERNAL_SERVER_ERROR, NULL, NULL); + return; + } + + /* call callback */ + OnIncomingCallParam prm; + prm.callId = call_id; + prm.rdata.fromPj(*rdata); + + acc->onIncomingCall(prm); + + /* disconnect if callback doesn't handle the call */ + pjsua_call_info ci; + + pjsua_call_get_info(call_id, &ci); + if (!pjsua_call_get_user_data(call_id) && + ci.state != PJSIP_INV_STATE_DISCONNECTED) + { + pjsua_call_hangup(call_id, PJSIP_SC_INTERNAL_SERVER_ERROR, NULL, NULL); + } +} + +void Endpoint::on_reg_started(pjsua_acc_id acc_id, pj_bool_t renew) +{ + Account *acc = lookupAcc(acc_id, "on_reg_started()"); + if (!acc) { + return; + } + + OnRegStartedParam prm; + prm.renew = PJ2BOOL(renew); + acc->onRegStarted(prm); +} + +void Endpoint::on_reg_state2(pjsua_acc_id acc_id, pjsua_reg_info *info) +{ + Account *acc = lookupAcc(acc_id, "on_reg_state2()"); + if (!acc) { + return; + } + + OnRegStateParam prm; + prm.status = info->cbparam->status; + prm.code = (pjsip_status_code) info->cbparam->code; + prm.reason = pj2Str(info->cbparam->reason); + if (info->cbparam->rdata) + prm.rdata.fromPj(*info->cbparam->rdata); + prm.expiration = info->cbparam->expiration; + + acc->onRegState(prm); +} + +void Endpoint::on_incoming_subscribe(pjsua_acc_id acc_id, + pjsua_srv_pres *srv_pres, + pjsua_buddy_id buddy_id, + const pj_str_t *from, + pjsip_rx_data *rdata, + pjsip_status_code *code, + pj_str_t *reason, + pjsua_msg_data *msg_data) +{ + PJ_UNUSED_ARG(buddy_id); + PJ_UNUSED_ARG(srv_pres); + + Account *acc = lookupAcc(acc_id, "on_incoming_subscribe()"); + if (!acc) { + /* default behavior should apply */ + return; + } + + OnIncomingSubscribeParam prm; + prm.srvPres = srv_pres; + prm.fromUri = pj2Str(*from); + prm.rdata.fromPj(*rdata); + prm.code = *code; + prm.reason = pj2Str(*reason); + prm.txOption.fromPj(*msg_data); + + acc->onIncomingSubscribe(prm); + + *code = prm.code; + acc->tmpReason = prm.reason; + *reason = str2Pj(acc->tmpReason); + prm.txOption.toPj(*msg_data); +} + +void Endpoint::on_pager2(pjsua_call_id call_id, + const pj_str_t *from, + const pj_str_t *to, + const pj_str_t *contact, + const pj_str_t *mime_type, + const pj_str_t *body, + pjsip_rx_data *rdata, + pjsua_acc_id acc_id) +{ + OnInstantMessageParam prm; + prm.fromUri = pj2Str(*from); + prm.toUri = pj2Str(*to); + prm.contactUri = pj2Str(*contact); + prm.contentType = pj2Str(*mime_type); + prm.msgBody = pj2Str(*body); + prm.rdata.fromPj(*rdata); + + if (call_id != PJSUA_INVALID_ID) { + Call *call = lookupCall(call_id, "on_pager2()"); + if (!call) { + /* Ignored */ + return; + } + + call->onInstantMessage(prm); + } else { + Account *acc = lookupAcc(acc_id, "on_pager2()"); + if (!acc) { + /* Ignored */ + return; + } + + acc->onInstantMessage(prm); + } +} + +void Endpoint::on_pager_status2( pjsua_call_id call_id, + const pj_str_t *to, + const pj_str_t *body, + void *user_data, + pjsip_status_code status, + const pj_str_t *reason, + pjsip_tx_data *tdata, + pjsip_rx_data *rdata, + pjsua_acc_id acc_id) +{ + PJ_UNUSED_ARG(tdata); + + OnInstantMessageStatusParam prm; + prm.userData = user_data; + prm.toUri = pj2Str(*to); + prm.msgBody = pj2Str(*body); + prm.code = status; + prm.reason = pj2Str(*reason); + if (rdata) + prm.rdata.fromPj(*rdata); + + if (call_id != PJSUA_INVALID_ID) { + Call *call = lookupCall(call_id, "on_pager_status2()"); + if (!call) { + /* Ignored */ + return; + } + + call->onInstantMessageStatus(prm); + } else { + Account *acc = lookupAcc(acc_id, "on_pager_status2()"); + if (!acc) { + /* Ignored */ + return; + } + + acc->onInstantMessageStatus(prm); + } +} + +void Endpoint::on_typing2( pjsua_call_id call_id, + const pj_str_t *from, + const pj_str_t *to, + const pj_str_t *contact, + pj_bool_t is_typing, + pjsip_rx_data *rdata, + pjsua_acc_id acc_id) +{ + OnTypingIndicationParam prm; + prm.fromUri = pj2Str(*from); + prm.toUri = pj2Str(*to); + prm.contactUri = pj2Str(*contact); + prm.isTyping = is_typing != 0; + prm.rdata.fromPj(*rdata); + + if (call_id != PJSUA_INVALID_ID) { + Call *call = lookupCall(call_id, "on_typing2()"); + if (!call) { + /* Ignored */ + return; + } + + call->onTypingIndication(prm); + } else { + Account *acc = lookupAcc(acc_id, "on_typing2()"); + if (!acc) { + /* Ignored */ + return; + } + + acc->onTypingIndication(prm); + } +} + +void Endpoint::on_mwi_info(pjsua_acc_id acc_id, + pjsua_mwi_info *mwi_info) +{ + OnMwiInfoParam prm; + prm.state = pjsip_evsub_get_state(mwi_info->evsub); + prm.rdata.fromPj(*mwi_info->rdata); + + Account *acc = lookupAcc(acc_id, "on_mwi_info()"); + if (!acc) { + /* Ignored */ + return; + } + + acc->onMwiInfo(prm); +} + +void Endpoint::on_buddy_state(pjsua_buddy_id buddy_id) +{ + Buddy *buddy = (Buddy*)pjsua_buddy_get_user_data(buddy_id); + if (!buddy || !buddy->isValid()) { + /* Ignored */ + return; + } + + buddy->onBuddyState(); +} + +// Call callbacks +void Endpoint::on_call_state(pjsua_call_id call_id, pjsip_event *e) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnCallStateParam prm; + prm.e.fromPj(*e); + + call->processStateChange(prm); + /* If the state is DISCONNECTED, call may have already been deleted + * by the application in the callback, so do not access it anymore here. + */ +} + +void Endpoint::on_call_tsx_state(pjsua_call_id call_id, + pjsip_transaction *tsx, + pjsip_event *e) +{ + PJ_UNUSED_ARG(tsx); + + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnCallTsxStateParam prm; + prm.e.fromPj(*e); + + call->onCallTsxState(prm); +} + +void Endpoint::on_call_media_state(pjsua_call_id call_id) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnCallMediaStateParam prm; + call->processMediaUpdate(prm); +} + +void Endpoint::on_call_sdp_created(pjsua_call_id call_id, + pjmedia_sdp_session *sdp, + pj_pool_t *pool, + const pjmedia_sdp_session *rem_sdp) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnCallSdpCreatedParam prm; + string orig_sdp; + + prm.sdp.fromPj(*sdp); + orig_sdp = prm.sdp.wholeSdp; + if (rem_sdp) + prm.remSdp.fromPj(*rem_sdp); + + call->onCallSdpCreated(prm); + + /* Check if application modifies the SDP */ + if (orig_sdp != prm.sdp.wholeSdp) { + pjmedia_sdp_parse(pool, (char*)prm.sdp.wholeSdp.c_str(), + prm.sdp.wholeSdp.size(), &sdp); + } +} + +void Endpoint::on_stream_created(pjsua_call_id call_id, + pjmedia_stream *strm, + unsigned stream_idx, + pjmedia_port **p_port) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnStreamCreatedParam prm; + prm.stream = strm; + prm.streamIdx = stream_idx; + prm.pPort = (void *)*p_port; + + call->onStreamCreated(prm); + + if (prm.pPort != (void *)*p_port) + *p_port = (pjmedia_port *)prm.pPort; +} + +void Endpoint::on_stream_destroyed(pjsua_call_id call_id, + pjmedia_stream *strm, + unsigned stream_idx) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnStreamDestroyedParam prm; + prm.stream = strm; + prm.streamIdx = stream_idx; + + call->onStreamDestroyed(prm); +} + +struct PendingOnDtmfDigitCallback : public PendingJob +{ + int call_id; + OnDtmfDigitParam prm; + + virtual void execute(bool is_pending) + { + PJ_UNUSED_ARG(is_pending); + + Call *call = Call::lookup(call_id); + if (!call) + return; + + call->onDtmfDigit(prm); + } +}; + +void Endpoint::on_dtmf_digit(pjsua_call_id call_id, int digit) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + PendingOnDtmfDigitCallback *job = new PendingOnDtmfDigitCallback; + job->call_id = call_id; + char buf[10]; + pj_ansi_sprintf(buf, "%c", digit); + job->prm.digit = (string)buf; + + Endpoint::instance().utilAddPendingJob(job); +} + +void Endpoint::on_call_transfer_request2(pjsua_call_id call_id, + const pj_str_t *dst, + pjsip_status_code *code, + pjsua_call_setting *opt) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnCallTransferRequestParam prm; + prm.dstUri = pj2Str(*dst); + prm.statusCode = *code; + prm.opt.fromPj(*opt); + + call->onCallTransferRequest(prm); + + *code = prm.statusCode; + *opt = prm.opt.toPj(); +} + +void Endpoint::on_call_transfer_status(pjsua_call_id call_id, + int st_code, + const pj_str_t *st_text, + pj_bool_t final, + pj_bool_t *p_cont) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnCallTransferStatusParam prm; + prm.statusCode = (pjsip_status_code)st_code; + prm.reason = pj2Str(*st_text); + prm.finalNotify = PJ2BOOL(final); + prm.cont = PJ2BOOL(*p_cont); + + call->onCallTransferStatus(prm); + + *p_cont = prm.cont; +} + +void Endpoint::on_call_replace_request2(pjsua_call_id call_id, + pjsip_rx_data *rdata, + int *st_code, + pj_str_t *st_text, + pjsua_call_setting *opt) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnCallReplaceRequestParam prm; + prm.rdata.fromPj(*rdata); + prm.statusCode = (pjsip_status_code)*st_code; + prm.reason = pj2Str(*st_text); + prm.opt.fromPj(*opt); + + call->onCallReplaceRequest(prm); + + *st_code = prm.statusCode; + *st_text = str2Pj(prm.reason); + *opt = prm.opt.toPj(); +} + +void Endpoint::on_call_replaced(pjsua_call_id old_call_id, + pjsua_call_id new_call_id) +{ + Call *call = Call::lookup(old_call_id); + if (!call) { + return; + } + + OnCallReplacedParam prm; + prm.newCallId = new_call_id; + + call->onCallReplaced(prm); +} + +void Endpoint::on_call_rx_offer(pjsua_call_id call_id, + const pjmedia_sdp_session *offer, + void *reserved, + pjsip_status_code *code, + pjsua_call_setting *opt) +{ + PJ_UNUSED_ARG(reserved); + + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + OnCallRxOfferParam prm; + prm.offer.fromPj(*offer); + prm.statusCode = *code; + prm.opt.fromPj(*opt); + + call->onCallRxOffer(prm); + + *code = prm.statusCode; + *opt = prm.opt.toPj(); +} + +pjsip_redirect_op Endpoint::on_call_redirected(pjsua_call_id call_id, + const pjsip_uri *target, + const pjsip_event *e) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return PJSIP_REDIRECT_STOP; + } + + OnCallRedirectedParam prm; + char uristr[PJSIP_MAX_URL_SIZE]; + int len = pjsip_uri_print(PJSIP_URI_IN_FROMTO_HDR, target, uristr, + sizeof(uristr)); + if (len < 1) { + pj_ansi_strcpy(uristr, "--URI too long--"); + } + prm.targetUri = string(uristr); + if (e) + prm.e.fromPj(*e); + else + prm.e.type = PJSIP_EVENT_UNKNOWN; + + return call->onCallRedirected(prm); +} + + +struct PendingOnMediaTransportCallback : public PendingJob +{ + int call_id; + OnCallMediaTransportStateParam prm; + + virtual void execute(bool is_pending) + { + PJ_UNUSED_ARG(is_pending); + + Call *call = Call::lookup(call_id); + if (!call) + return; + + call->onCallMediaTransportState(prm); + } +}; + +pj_status_t +Endpoint::on_call_media_transport_state(pjsua_call_id call_id, + const pjsua_med_tp_state_info *info) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return PJ_SUCCESS; + } + + PendingOnMediaTransportCallback *job = new PendingOnMediaTransportCallback; + + job->call_id = call_id; + job->prm.medIdx = info->med_idx; + job->prm.state = info->state; + job->prm.status = info->status; + job->prm.sipErrorCode = info->sip_err_code; + + Endpoint::instance().utilAddPendingJob(job); + + return PJ_SUCCESS; +} + +struct PendingOnMediaEventCallback : public PendingJob +{ + int call_id; + OnCallMediaEventParam prm; + + virtual void execute(bool is_pending) + { + Call *call = Call::lookup(call_id); + if (!call) + return; + + if (is_pending) { + /* Can't do this anymore, pointer is invalid */ + prm.ev.pjMediaEvent = NULL; + } + + call->onCallMediaEvent(prm); + } +}; + +void Endpoint::on_call_media_event(pjsua_call_id call_id, + unsigned med_idx, + pjmedia_event *event) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return; + } + + PendingOnMediaEventCallback *job = new PendingOnMediaEventCallback; + + job->call_id = call_id; + job->prm.medIdx = med_idx; + job->prm.ev.fromPj(*event); + + Endpoint::instance().utilAddPendingJob(job); +} + +pjmedia_transport* +Endpoint::on_create_media_transport(pjsua_call_id call_id, + unsigned media_idx, + pjmedia_transport *base_tp, + unsigned flags) +{ + Call *call = Call::lookup(call_id); + if (!call) { + return base_tp; + } + + OnCreateMediaTransportParam prm; + prm.mediaIdx = media_idx; + prm.mediaTp = base_tp; + prm.flags = flags; + + call->onCreateMediaTransport(prm); + + return (pjmedia_transport *)prm.mediaTp; +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Endpoint library operations + */ +Version Endpoint::libVersion() const +{ + Version ver; + ver.major = PJ_VERSION_NUM_MAJOR; + ver.minor = PJ_VERSION_NUM_MINOR; + ver.rev = PJ_VERSION_NUM_REV; + ver.suffix = PJ_VERSION_NUM_EXTRA; + ver.full = pj_get_version(); + ver.numeric = PJ_VERSION_NUM; + return ver; +} + +void Endpoint::libCreate() throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_create() ); + mainThread = pj_thread_this(); +} + +pjsua_state Endpoint::libGetState() const +{ + return pjsua_get_state(); +} + +void Endpoint::libInit(const EpConfig &prmEpConfig) throw(Error) +{ + pjsua_config ua_cfg; + pjsua_logging_config log_cfg; + pjsua_media_config med_cfg; + + ua_cfg = prmEpConfig.uaConfig.toPj(); + log_cfg = prmEpConfig.logConfig.toPj(); + med_cfg = prmEpConfig.medConfig.toPj(); + + /* Setup log callback */ + if (prmEpConfig.logConfig.writer) { + this->writer = prmEpConfig.logConfig.writer; + log_cfg.cb = &Endpoint::logFunc; + } + mainThreadOnly = prmEpConfig.uaConfig.mainThreadOnly; + + /* Setup UA callbacks */ + pj_bzero(&ua_cfg.cb, sizeof(ua_cfg.cb)); + ua_cfg.cb.on_nat_detect = &Endpoint::on_nat_detect; + ua_cfg.cb.on_transport_state = &Endpoint::on_transport_state; + + ua_cfg.cb.on_incoming_call = &Endpoint::on_incoming_call; + ua_cfg.cb.on_reg_started = &Endpoint::on_reg_started; + ua_cfg.cb.on_reg_state2 = &Endpoint::on_reg_state2; + ua_cfg.cb.on_incoming_subscribe = &Endpoint::on_incoming_subscribe; + ua_cfg.cb.on_pager2 = &Endpoint::on_pager2; + ua_cfg.cb.on_pager_status2 = &Endpoint::on_pager_status2; + ua_cfg.cb.on_typing2 = &Endpoint::on_typing2; + ua_cfg.cb.on_mwi_info = &Endpoint::on_mwi_info; + ua_cfg.cb.on_buddy_state = &Endpoint::on_buddy_state; + + /* Call callbacks */ + ua_cfg.cb.on_call_state = &Endpoint::on_call_state; + ua_cfg.cb.on_call_tsx_state = &Endpoint::on_call_tsx_state; + ua_cfg.cb.on_call_media_state = &Endpoint::on_call_media_state; + ua_cfg.cb.on_call_sdp_created = &Endpoint::on_call_sdp_created; + ua_cfg.cb.on_stream_created = &Endpoint::on_stream_created; + ua_cfg.cb.on_stream_destroyed = &Endpoint::on_stream_destroyed; + ua_cfg.cb.on_dtmf_digit = &Endpoint::on_dtmf_digit; + ua_cfg.cb.on_call_transfer_request2 = &Endpoint::on_call_transfer_request2; + ua_cfg.cb.on_call_transfer_status = &Endpoint::on_call_transfer_status; + ua_cfg.cb.on_call_replace_request2 = &Endpoint::on_call_replace_request2; + ua_cfg.cb.on_call_replaced = &Endpoint::on_call_replaced; + ua_cfg.cb.on_call_rx_offer = &Endpoint::on_call_rx_offer; + ua_cfg.cb.on_call_redirected = &Endpoint::on_call_redirected; + ua_cfg.cb.on_call_media_transport_state = + &Endpoint::on_call_media_transport_state; + ua_cfg.cb.on_call_media_event = &Endpoint::on_call_media_event; + ua_cfg.cb.on_create_media_transport = &Endpoint::on_create_media_transport; + + /* Init! */ + PJSUA2_CHECK_EXPR( pjsua_init(&ua_cfg, &log_cfg, &med_cfg) ); +} + +void Endpoint::libStart() throw(Error) +{ + PJSUA2_CHECK_EXPR(pjsua_start()); +} + +void Endpoint::libRegisterWorkerThread(const string &name) throw(Error) +{ + PJSUA2_CHECK_EXPR(pjsua_register_worker_thread(name.c_str())); +} + +void Endpoint::libStopWorkerThreads() +{ + pjsua_stop_worker_threads(); +} + +int Endpoint::libHandleEvents(unsigned msec_timeout) +{ + performPendingJobs(); + return pjsua_handle_events(msec_timeout); +} + +void Endpoint::libDestroy(unsigned flags) throw(Error) +{ + pj_status_t status; + + status = pjsua_destroy2(flags); + + delete this->writer; + this->writer = NULL; + + if (pj_log_get_log_func() == &Endpoint::logFunc) { + pj_log_set_log_func(NULL); + } + + PJSUA2_CHECK_RAISE_ERROR(status); +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Endpoint Utilities + */ +string Endpoint::utilStrError(pj_status_t prmErr) +{ + char errmsg[PJ_ERR_MSG_SIZE]; + pj_strerror(prmErr, errmsg, sizeof(errmsg)); + return errmsg; +} + +static void ept_log_write(int level, const char *sender, + const char *format, ...) +{ + va_list arg; + va_start(arg, format); + pj_log(sender, level, format, arg ); + va_end(arg); +} + +void Endpoint::utilLogWrite(int prmLevel, + const string &prmSender, + const string &prmMsg) +{ + ept_log_write(prmLevel, prmSender.c_str(), "%s", prmMsg.c_str()); +} + +pj_status_t Endpoint::utilVerifySipUri(const string &prmUri) +{ + return pjsua_verify_sip_url(prmUri.c_str()); +} + +pj_status_t Endpoint::utilVerifyUri(const string &prmUri) +{ + return pjsua_verify_url(prmUri.c_str()); +} + +Token Endpoint::utilTimerSchedule(unsigned prmMsecDelay, + Token prmUserData) throw (Error) +{ + UserTimer *ut; + pj_time_val delay; + pj_status_t status; + + ut = new UserTimer; + ut->signature = TIMER_SIGNATURE; + ut->prm.msecDelay = prmMsecDelay; + ut->prm.userData = prmUserData; + pj_timer_entry_init(&ut->entry, 1, ut, &Endpoint::on_timer); + + delay.sec = 0; + delay.msec = prmMsecDelay; + pj_time_val_normalize(&delay); + + status = pjsua_schedule_timer(&ut->entry, &delay); + if (status != PJ_SUCCESS) { + delete ut; + PJSUA2_CHECK_RAISE_ERROR(status); + } + + return (Token)ut; +} + +void Endpoint::utilTimerCancel(Token prmTimerToken) +{ + UserTimer *ut = (UserTimer*)(void*)prmTimerToken; + + if (ut->signature != TIMER_SIGNATURE) { + PJ_LOG(1,(THIS_FILE, + "Invalid timer token in Endpoint::utilTimerCancel()")); + return; + } + + ut->entry.id = 0; + ut->signature = 0xFFFFFFFE; + pjsua_cancel_timer(&ut->entry); + + delete ut; +} + +IntVector Endpoint::utilSslGetAvailableCiphers() throw (Error) +{ +#if PJ_HAS_SSL_SOCK + pj_ssl_cipher ciphers[64]; + unsigned count = PJ_ARRAY_SIZE(ciphers); + + PJSUA2_CHECK_EXPR( pj_ssl_cipher_get_availables(ciphers, &count) ); + + return IntVector(ciphers, ciphers + count); +#else + return IntVector(); +#endif +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Endpoint NAT operations + */ +void Endpoint::natDetectType(void) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_detect_nat_type() ); +} + +pj_stun_nat_type Endpoint::natGetType() throw(Error) +{ + pj_stun_nat_type type; + + PJSUA2_CHECK_EXPR( pjsua_get_nat_type(&type) ); + + return type; +} + +void Endpoint::natCheckStunServers(const StringVector &servers, + bool wait, + Token token) throw(Error) +{ + pj_str_t srv[MAX_STUN_SERVERS]; + unsigned i, count = 0; + + for (i=0; i<servers.size() && i<MAX_STUN_SERVERS; ++i) { + srv[count].ptr = (char*)servers[i].c_str(); + srv[count].slen = servers[i].size(); + ++count; + } + + PJSUA2_CHECK_EXPR(pjsua_resolve_stun_servers(count, srv, wait, token, + &Endpoint::stun_resolve_cb) ); +} + +void Endpoint::natCancelCheckStunServers(Token token, + bool notify_cb) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_cancel_stun_resolution(token, notify_cb) ); +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Transport API + */ +TransportId Endpoint::transportCreate(pjsip_transport_type_e type, + const TransportConfig &cfg) throw(Error) +{ + pjsua_transport_config tcfg; + pjsua_transport_id tid; + + tcfg = cfg.toPj(); + PJSUA2_CHECK_EXPR( pjsua_transport_create(type, + &tcfg, &tid) ); + + return tid; +} + +IntVector Endpoint::transportEnum() throw(Error) +{ + pjsua_transport_id tids[32]; + unsigned count = PJ_ARRAY_SIZE(tids); + + PJSUA2_CHECK_EXPR( pjsua_enum_transports(tids, &count) ); + + return IntVector(tids, tids+count); +} + +TransportInfo Endpoint::transportGetInfo(TransportId id) throw(Error) +{ + pjsua_transport_info pj_tinfo; + TransportInfo tinfo; + + PJSUA2_CHECK_EXPR( pjsua_transport_get_info(id, &pj_tinfo) ); + tinfo.fromPj(pj_tinfo); + + return tinfo; +} + +void Endpoint::transportSetEnable(TransportId id, bool enabled) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_transport_set_enable(id, enabled) ); +} + +void Endpoint::transportClose(TransportId id) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_transport_close(id, PJ_FALSE) ); +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Call operations + */ + +void Endpoint::hangupAllCalls(void) +{ + pjsua_call_hangup_all(); +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Media API + */ +unsigned Endpoint::mediaMaxPorts() const +{ + return pjsua_conf_get_max_ports(); +} + +unsigned Endpoint::mediaActivePorts() const +{ + return pjsua_conf_get_active_ports(); +} + +const AudioMediaVector &Endpoint::mediaEnumPorts() const throw(Error) +{ + return mediaList; +} + +void Endpoint::mediaAdd(AudioMedia &media) +{ + if (mediaExists(media)) + return; + + mediaList.push_back(&media); +} + +void Endpoint::mediaRemove(AudioMedia &media) +{ + AudioMediaVector::iterator it = std::find(mediaList.begin(), + mediaList.end(), + &media); + + if (it != mediaList.end()) + mediaList.erase(it); + +} + +bool Endpoint::mediaExists(const AudioMedia &media) const +{ + AudioMediaVector::const_iterator it = std::find(mediaList.begin(), + mediaList.end(), + &media); + + return (it != mediaList.end()); +} + +AudDevManager &Endpoint::audDevManager() +{ + return audioDevMgr; +} + +/* + * Codec operations. + */ +const CodecInfoVector &Endpoint::codecEnum() throw(Error) +{ + pjsua_codec_info pj_codec[MAX_CODEC_NUM]; + unsigned count = MAX_CODEC_NUM; + + PJSUA2_CHECK_EXPR( pjsua_enum_codecs(pj_codec, &count) ); + + pj_enter_critical_section(); + clearCodecInfoList(); + for (unsigned i=0; i<count; ++i) { + CodecInfo *codec_info = new CodecInfo; + + codec_info->fromPj(pj_codec[i]); + codecInfoList.push_back(codec_info); + } + pj_leave_critical_section(); + return codecInfoList; +} + +void Endpoint::codecSetPriority(const string &codec_id, + pj_uint8_t priority) throw(Error) +{ + pj_str_t codec_str = str2Pj(codec_id); + PJSUA2_CHECK_EXPR( pjsua_codec_set_priority(&codec_str, priority) ); +} + +CodecParam Endpoint::codecGetParam(const string &codec_id) const throw(Error) +{ + pjmedia_codec_param *pj_param = NULL; + pj_str_t codec_str = str2Pj(codec_id); + + PJSUA2_CHECK_EXPR( pjsua_codec_get_param(&codec_str, pj_param) ); + + return pj_param; +} + +void Endpoint::codecSetParam(const string &codec_id, + const CodecParam param) throw(Error) +{ + pj_str_t codec_str = str2Pj(codec_id); + pjmedia_codec_param *pj_param = (pjmedia_codec_param*)param; + + PJSUA2_CHECK_EXPR( pjsua_codec_set_param(&codec_str, pj_param) ); +} + +void Endpoint::clearCodecInfoList() +{ + for (unsigned i=0;i<codecInfoList.size();++i) { + delete codecInfoList[i]; + } + codecInfoList.clear(); +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/json.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/json.cpp new file mode 100644 index 0000000000000000000000000000000000000000..60776cab0144fa804b71f0f6425495e98950dfd0 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/json.cpp @@ -0,0 +1,544 @@ +/* $Id: json.cpp 4761 2014-02-24 09:02:44Z nanang $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjsua2/json.hpp> +#include <pjlib-util/errno.h> +#include <pj/file_io.h> +#include "util.hpp" + +#define THIS_FILE "json.cpp" + +using namespace pj; +using namespace std; + +/* Json node operations */ +static bool jsonNode_hasUnread(const ContainerNode*); +static string jsonNode_unreadName(const ContainerNode*n) + throw(Error); +static float jsonNode_readNumber(const ContainerNode*, + const string&) + throw(Error); +static bool jsonNode_readBool(const ContainerNode*, + const string&) + throw(Error); +static string jsonNode_readString(const ContainerNode*, + const string&) + throw(Error); +static StringVector jsonNode_readStringVector(const ContainerNode*, + const string&) + throw(Error); +static ContainerNode jsonNode_readContainer(const ContainerNode*, + const string &) + throw(Error); +static ContainerNode jsonNode_readArray(const ContainerNode*, + const string &) + throw(Error); +static void jsonNode_writeNumber(ContainerNode*, + const string &name, + float num) + throw(Error); +static void jsonNode_writeBool(ContainerNode*, + const string &name, + bool value) + throw(Error); +static void jsonNode_writeString(ContainerNode*, + const string &name, + const string &value) + throw(Error); +static void jsonNode_writeStringVector(ContainerNode*, + const string &name, + const StringVector &value) + throw(Error); +static ContainerNode jsonNode_writeNewContainer(ContainerNode*, + const string &name) + throw(Error); +static ContainerNode jsonNode_writeNewArray(ContainerNode*, + const string &name) + throw(Error); + +static container_node_op json_op = +{ + &jsonNode_hasUnread, + &jsonNode_unreadName, + &jsonNode_readNumber, + &jsonNode_readBool, + &jsonNode_readString, + &jsonNode_readStringVector, + &jsonNode_readContainer, + &jsonNode_readArray, + &jsonNode_writeNumber, + &jsonNode_writeBool, + &jsonNode_writeString, + &jsonNode_writeStringVector, + &jsonNode_writeNewContainer, + &jsonNode_writeNewArray +}; + +/////////////////////////////////////////////////////////////////////////////// +JsonDocument::JsonDocument() +: root(NULL) +{ + pj_caching_pool_init(&cp, NULL, 0); + pool = pj_pool_create(&cp.factory, "jsondoc", 512, 512, NULL); + if (!pool) + PJSUA2_RAISE_ERROR(PJ_ENOMEM); +} + +JsonDocument::~JsonDocument() +{ + if (pool) + pj_pool_release(pool); + pj_caching_pool_destroy(&cp); +} + +void JsonDocument::initRoot() const +{ + rootNode.op = &json_op; + rootNode.data.doc = (void*)this; + rootNode.data.data1 = (void*)root; + rootNode.data.data2 = root->value.children.next; +} + +void JsonDocument::loadFile(const string &filename) throw(Error) +{ + if (root) + PJSUA2_RAISE_ERROR3(PJ_EINVALIDOP, "JsonDocument.loadString()", + "Document already initialized"); + + if (!pj_file_exists(filename.c_str())) + PJSUA2_RAISE_ERROR(PJ_ENOTFOUND); + + pj_ssize_t size = (pj_ssize_t)pj_file_size(filename.c_str()); + pj_status_t status; + + char *buffer = (char*)pj_pool_alloc(pool, size+1); + pj_oshandle_t fd = 0; + unsigned parse_size; + char err_msg[120]; + pj_json_err_info err_info; + + err_msg[0] = '\0'; + + status = pj_file_open(pool, filename.c_str(), PJ_O_RDONLY, &fd); + if (status != PJ_SUCCESS) + goto on_error; + + status = pj_file_read(fd, buffer, &size); + if (status != PJ_SUCCESS) + goto on_error; + + pj_file_close(fd); + fd = NULL; + + if (size <= 0) { + status = PJ_EEOF; + goto on_error; + } + + parse_size = (unsigned)size; + root = pj_json_parse(pool, buffer, &parse_size, &err_info); + if (root == NULL) { + pj_ansi_snprintf(err_msg, sizeof(err_msg), + "JSON parsing failed: syntax error in file '%s' at " + "line %d column %d", + filename.c_str(), err_info.line, err_info.col); + PJ_LOG(1,(THIS_FILE, err_msg)); + status = PJLIB_UTIL_EINJSON; + goto on_error; + } + + initRoot(); + return; + +on_error: + if (fd) + pj_file_close(fd); + if (err_msg[0]) + PJSUA2_RAISE_ERROR3(status, "loadFile()", err_msg); + else + PJSUA2_RAISE_ERROR(status); +} + +void JsonDocument::loadString(const string &input) throw(Error) +{ + if (root) + PJSUA2_RAISE_ERROR3(PJ_EINVALIDOP, "JsonDocument.loadString()", + "Document already initialized"); + + unsigned size = (unsigned)input.size(); + char *buffer = (char*)pj_pool_alloc(pool, size+1); + unsigned parse_size = (unsigned)size; + pj_json_err_info err_info; + + pj_memcpy(buffer, input.c_str(), size); + + root = pj_json_parse(pool, buffer, &parse_size, &err_info); + if (root == NULL) { + char err_msg[80]; + + pj_ansi_snprintf(err_msg, sizeof(err_msg), + "JSON parsing failed at line %d column %d", + err_info.line, err_info.col); + PJ_LOG(1,(THIS_FILE, err_msg)); + PJSUA2_RAISE_ERROR3(PJLIB_UTIL_EINJSON, "loadString()", err_msg); + } + initRoot(); +} + +struct save_file_data +{ + pj_oshandle_t fd; +}; + +static pj_status_t json_file_writer(const char *s, + unsigned size, + void *user_data) +{ + save_file_data *sd = (save_file_data*)user_data; + pj_ssize_t ssize = (pj_ssize_t)size; + return pj_file_write(sd->fd, s, &ssize); +} + +void JsonDocument::saveFile(const string &filename) throw(Error) +{ + struct save_file_data sd; + pj_status_t status; + + /* Make sure root container has been created */ + getRootContainer(); + + status = pj_file_open(pool, filename.c_str(), PJ_O_WRONLY, &sd.fd); + if (status != PJ_SUCCESS) + PJSUA2_RAISE_ERROR(status); + + status = pj_json_writef(root, &json_file_writer, &sd.fd); + pj_file_close(sd.fd); + + if (status != PJ_SUCCESS) + PJSUA2_RAISE_ERROR(status); +} + +struct save_string_data +{ + string output; +}; + +static pj_status_t json_string_writer(const char *s, + unsigned size, + void *user_data) +{ + save_string_data *sd = (save_string_data*)user_data; + sd->output.append(s, size); + return PJ_SUCCESS; +} + +string JsonDocument::saveString() throw(Error) +{ + struct save_string_data sd; + pj_status_t status; + + /* Make sure root container has been created */ + getRootContainer(); + + status = pj_json_writef(root, &json_string_writer, &sd); + if (status != PJ_SUCCESS) + PJSUA2_RAISE_ERROR(status); + + return sd.output; +} + +ContainerNode & JsonDocument::getRootContainer() const +{ + if (!root) { + root = allocElement(); + pj_json_elem_obj(root, NULL); + initRoot(); + } + + return rootNode; +} + +pj_json_elem* JsonDocument::allocElement() const +{ + return (pj_json_elem*)pj_pool_alloc(pool, sizeof(pj_json_elem)); +} + +pj_pool_t *JsonDocument::getPool() +{ + return pool; +} + +/////////////////////////////////////////////////////////////////////////////// +struct json_node_data +{ + JsonDocument *doc; + pj_json_elem *jnode; + pj_json_elem *childPtr; +}; + +static bool jsonNode_hasUnread(const ContainerNode *node) +{ + json_node_data *jdat = (json_node_data*)&node->data; + return jdat->childPtr != (pj_json_elem*)&jdat->jnode->value.children; +} + +static void json_verify(struct json_node_data *jdat, + const char *op, + const string &name, + pj_json_val_type type) +{ + if (jdat->childPtr == (pj_json_elem*)&jdat->jnode->value.children) + PJSUA2_RAISE_ERROR3(PJ_EEOF, op, "No unread element"); + + /* If name is specified, then check if the names match, except + * when the node name itself is empty and the parent node is + * an array, then ignore the checking (JSON doesn't allow array + * elements to have name). + */ + if (name.size() && name.compare(0, name.size(), + jdat->childPtr->name.ptr, + jdat->childPtr->name.slen) && + jdat->childPtr->name.slen && + jdat->jnode->type != PJ_JSON_VAL_ARRAY) + { + char err_msg[80]; + pj_ansi_snprintf(err_msg, sizeof(err_msg), + "Name mismatch: expecting '%s' got '%.*s'", + name.c_str(), (int)jdat->childPtr->name.slen, + jdat->childPtr->name.ptr); + PJSUA2_RAISE_ERROR3(PJLIB_UTIL_EINJSON, op, err_msg); + } + + if (type != PJ_JSON_VAL_NULL && jdat->childPtr->type != type) { + char err_msg[80]; + pj_ansi_snprintf(err_msg, sizeof(err_msg), + "Type mismatch: expecting %d got %d", + type, jdat->childPtr->type); + PJSUA2_RAISE_ERROR3(PJLIB_UTIL_EINJSON, op, err_msg); + } +} + +static string jsonNode_unreadName(const ContainerNode *node) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + json_verify(jdat, "unreadName()", "", PJ_JSON_VAL_NULL); + return pj2Str(jdat->childPtr->name); +} + +static float jsonNode_readNumber(const ContainerNode *node, + const string &name) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + json_verify(jdat, "readNumber()", name, PJ_JSON_VAL_NUMBER); + jdat->childPtr = jdat->childPtr->next; + return jdat->childPtr->prev->value.num; +} + +static bool jsonNode_readBool(const ContainerNode *node, + const string &name) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + json_verify(jdat, "readBool()", name, PJ_JSON_VAL_BOOL); + jdat->childPtr = jdat->childPtr->next; + return PJ2BOOL(jdat->childPtr->prev->value.is_true); +} + +static string jsonNode_readString(const ContainerNode *node, + const string &name) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + json_verify(jdat, "readString()", name, PJ_JSON_VAL_STRING); + jdat->childPtr = jdat->childPtr->next; + return pj2Str(jdat->childPtr->prev->value.str); +} + +static StringVector jsonNode_readStringVector(const ContainerNode *node, + const string &name) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + json_verify(jdat, "readStringVector()", name, PJ_JSON_VAL_ARRAY); + + StringVector result; + pj_json_elem *child = jdat->childPtr->value.children.next; + while (child != (pj_json_elem*)&jdat->childPtr->value.children) { + if (child->type != PJ_JSON_VAL_STRING) { + char err_msg[80]; + pj_ansi_snprintf(err_msg, sizeof(err_msg), + "Elements not string but type %d", + child->type); + PJSUA2_RAISE_ERROR3(PJLIB_UTIL_EINJSON, "readStringVector()", + err_msg); + } + result.push_back(pj2Str(child->value.str)); + child = child->next; + } + + jdat->childPtr = jdat->childPtr->next; + return result; +} + +static ContainerNode jsonNode_readContainer(const ContainerNode *node, + const string &name) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + json_verify(jdat, "readContainer()", name, PJ_JSON_VAL_OBJ); + + ContainerNode json_node; + + json_node.op = &json_op; + json_node.data.doc = (void*)jdat->doc; + json_node.data.data1 = (void*)jdat->childPtr; + json_node.data.data2 = (void*)jdat->childPtr->value.children.next; + + jdat->childPtr = jdat->childPtr->next; + return json_node; +} + +static ContainerNode jsonNode_readArray(const ContainerNode *node, + const string &name) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + json_verify(jdat, "readArray()", name, PJ_JSON_VAL_ARRAY); + + ContainerNode json_node; + + json_node.op = &json_op; + json_node.data.doc = (void*)jdat->doc; + json_node.data.data1 = (void*)jdat->childPtr; + json_node.data.data2 = (void*)jdat->childPtr->value.children.next; + + jdat->childPtr = jdat->childPtr->next; + return json_node; +} + +static pj_str_t alloc_name(JsonDocument *doc, const string &name) +{ + pj_str_t new_name; + pj_strdup2(doc->getPool(), &new_name, name.c_str()); + return new_name; +} + +static void jsonNode_writeNumber(ContainerNode *node, + const string &name, + float num) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + pj_json_elem *el = jdat->doc->allocElement(); + pj_str_t nm = alloc_name(jdat->doc, name); + pj_json_elem_number(el, &nm, num); + pj_json_elem_add(jdat->jnode, el); +} + +static void jsonNode_writeBool(ContainerNode *node, + const string &name, + bool value) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + pj_json_elem *el = jdat->doc->allocElement(); + pj_str_t nm = alloc_name(jdat->doc, name); + pj_json_elem_bool(el, &nm, value); + pj_json_elem_add(jdat->jnode, el); +} + +static void jsonNode_writeString(ContainerNode *node, + const string &name, + const string &value) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + pj_json_elem *el = jdat->doc->allocElement(); + pj_str_t nm = alloc_name(jdat->doc, name); + pj_str_t new_val; + pj_strdup2(jdat->doc->getPool(), &new_val, value.c_str()); + pj_json_elem_string(el, &nm, &new_val); + + pj_json_elem_add(jdat->jnode, el); +} + +static void jsonNode_writeStringVector(ContainerNode *node, + const string &name, + const StringVector &value) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + pj_json_elem *el = jdat->doc->allocElement(); + pj_str_t nm = alloc_name(jdat->doc, name); + + pj_json_elem_array(el, &nm); + for (unsigned i=0; i<value.size(); ++i) { + pj_str_t new_val; + + pj_strdup2(jdat->doc->getPool(), &new_val, value[i].c_str()); + pj_json_elem *child = jdat->doc->allocElement(); + pj_json_elem_string(child, NULL, &new_val); + pj_json_elem_add(el, child); + } + + pj_json_elem_add(jdat->jnode, el); +} + +static ContainerNode jsonNode_writeNewContainer(ContainerNode *node, + const string &name) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + pj_json_elem *el = jdat->doc->allocElement(); + pj_str_t nm = alloc_name(jdat->doc, name); + + pj_json_elem_obj(el, &nm); + pj_json_elem_add(jdat->jnode, el); + + ContainerNode json_node; + + json_node.op = &json_op; + json_node.data.doc = (void*)jdat->doc; + json_node.data.data1 = (void*)el; + json_node.data.data2 = (void*)el->value.children.next; + + return json_node; +} + +static ContainerNode jsonNode_writeNewArray(ContainerNode *node, + const string &name) + throw(Error) +{ + json_node_data *jdat = (json_node_data*)&node->data; + pj_json_elem *el = jdat->doc->allocElement(); + pj_str_t nm = alloc_name(jdat->doc, name); + + pj_json_elem_array(el, &nm); + pj_json_elem_add(jdat->jnode, el); + + ContainerNode json_node; + + json_node.op = &json_op; + json_node.data.doc = (void*)jdat->doc; + json_node.data.data1 = (void*)el; + json_node.data.data2 = (void*)el->value.children.next; + + return json_node; +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/media.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/media.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1e67ddafb30c7d77234d4276f8b125b97803e089 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/media.cpp @@ -0,0 +1,851 @@ +/* $Id: media.cpp 4793 2014-03-14 04:09:50Z bennylp $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pj/ctype.h> +#include <pjsua2/media.hpp> +#include <pjsua2/types.hpp> +#include <pjsua2/endpoint.hpp> +#include "util.hpp" + +using namespace pj; +using namespace std; + +#define THIS_FILE "media.cpp" +#define MAX_FILE_NAMES 64 +#define MAX_DEV_COUNT 64 + +/////////////////////////////////////////////////////////////////////////////// +void MediaFormatAudio::fromPj(const pjmedia_format &format) +{ + if ((format.type != PJMEDIA_TYPE_AUDIO) && + (format.detail_type != PJMEDIA_FORMAT_DETAIL_AUDIO)) + { + type = PJMEDIA_TYPE_UNKNOWN; + return; + } + + id = format.id; + type = format.type; + + /* Detail. */ + clockRate = format.det.aud.clock_rate; + channelCount = format.det.aud.channel_count; + frameTimeUsec = format.det.aud.frame_time_usec; + bitsPerSample = format.det.aud.bits_per_sample; + avgBps = format.det.aud.avg_bps; + maxBps = format.det.aud.max_bps; +} + +pjmedia_format MediaFormatAudio::toPj() const +{ + pjmedia_format pj_format; + + pj_format.id = id; + pj_format.type = type; + + pj_format.detail_type = PJMEDIA_FORMAT_DETAIL_AUDIO; + pj_format.det.aud.clock_rate = clockRate; + pj_format.det.aud.channel_count = channelCount; + pj_format.det.aud.frame_time_usec = frameTimeUsec; + pj_format.det.aud.bits_per_sample = bitsPerSample; + pj_format.det.aud.avg_bps = avgBps; + pj_format.det.aud.max_bps = maxBps; + + return pj_format; +} + +/////////////////////////////////////////////////////////////////////////////// +/* Audio Media operations. */ +void ConfPortInfo::fromPj(const pjsua_conf_port_info &port_info) +{ + portId = port_info.slot_id; + name = pj2Str(port_info.name); + format.fromPj(port_info.format); + txLevelAdj = port_info.tx_level_adj; + rxLevelAdj = port_info.rx_level_adj; + + /* + format.id = PJMEDIA_FORMAT_PCM; + format.type = PJMEDIA_TYPE_AUDIO; + format.clockRate = port_info.clock_rate; + format.channelCount = port_info.channel_count; + format.bitsPerSample = port_info.bits_per_sample; + format.frameTimeUsec = (port_info.samples_per_frame * + 1000000) / + (port_info.clock_rate * + port_info.channel_count); + + format.avgBps = format.maxBps = port_info.clock_rate * + port_info.channel_count * + port_info.bits_per_sample; + */ + listeners.clear(); + for (unsigned i=0; i<port_info.listener_cnt; ++i) { + listeners.push_back(port_info.listeners[i]); + } +} +/////////////////////////////////////////////////////////////////////////////// +Media::Media(pjmedia_type med_type) +: type(med_type) +{ + +} + +Media::~Media() +{ + +} + +pjmedia_type Media::getType() const +{ + return type; +} + +/////////////////////////////////////////////////////////////////////////////// +AudioMedia::AudioMedia() +: Media(PJMEDIA_TYPE_AUDIO), id(PJSUA_INVALID_ID), mediaPool(NULL) +{ + +} + +void AudioMedia::registerMediaPort(MediaPort port) throw(Error) +{ + /* Check if media already added to Conf bridge. */ + pj_assert(!Endpoint::instance().mediaExists(*this)); + + if (port != NULL) { + pj_assert(id == PJSUA_INVALID_ID); + + pj_caching_pool_init(&mediaCachingPool, NULL, 0); + + mediaPool = pj_pool_create(&mediaCachingPool.factory, + "media", + 512, + 512, + NULL); + + if (!mediaPool) { + pj_caching_pool_destroy(&mediaCachingPool); + PJSUA2_RAISE_ERROR(PJ_ENOMEM); + } + + PJSUA2_CHECK_EXPR( pjsua_conf_add_port(mediaPool, + (pjmedia_port *)port, + &id) ); + } + + Endpoint::instance().mediaAdd(*this); +} + +void AudioMedia::unregisterMediaPort() +{ + if (id != PJSUA_INVALID_ID) { + pjsua_conf_remove_port(id); + id = PJSUA_INVALID_ID; + } + + if (mediaPool) { + pj_pool_release(mediaPool); + mediaPool = NULL; + pj_caching_pool_destroy(&mediaCachingPool); + } + + Endpoint::instance().mediaRemove(*this); +} + +AudioMedia::~AudioMedia() +{ + unregisterMediaPort(); +} + +ConfPortInfo AudioMedia::getPortInfo() const throw(Error) +{ + return AudioMedia::getPortInfoFromId(id); +} + +int AudioMedia::getPortId() const +{ + return id; +} + +ConfPortInfo AudioMedia::getPortInfoFromId(int port_id) throw(Error) +{ + pjsua_conf_port_info pj_info; + ConfPortInfo pi; + + PJSUA2_CHECK_EXPR( pjsua_conf_get_port_info(port_id, &pj_info) ); + pi.fromPj(pj_info); + return pi; +} + +void AudioMedia::startTransmit(const AudioMedia &sink) const throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_conf_connect(id, sink.id) ); +} + +void AudioMedia::stopTransmit(const AudioMedia &sink) const throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_conf_disconnect(id, sink.id) ); +} + +void AudioMedia::adjustRxLevel(float level) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_conf_adjust_tx_level(id, level) ); +} + +void AudioMedia::adjustTxLevel(float level) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_conf_adjust_rx_level(id, level) ); +} + +unsigned AudioMedia::getRxLevel() const throw(Error) +{ + unsigned level; + PJSUA2_CHECK_EXPR( pjsua_conf_get_signal_level(id, &level, NULL) ); + return level; +} + +unsigned AudioMedia::getTxLevel() const throw(Error) +{ + unsigned level; + PJSUA2_CHECK_EXPR( pjsua_conf_get_signal_level(id, NULL, &level) ); + return level; +} + +AudioMedia* AudioMedia::typecastFromMedia(Media *media) +{ + return static_cast<AudioMedia*>(media); +} + +/////////////////////////////////////////////////////////////////////////////// + +AudioMediaPlayer::AudioMediaPlayer() +: playerId(PJSUA_INVALID_ID) +{ + +} + +AudioMediaPlayer::~AudioMediaPlayer() +{ + if (playerId != PJSUA_INVALID_ID) { + unregisterMediaPort(); + pjsua_player_destroy(playerId); + } +} + +void AudioMediaPlayer::createPlayer(const string &file_name, + unsigned options) + throw(Error) +{ + if (playerId != PJSUA_INVALID_ID) { + PJSUA2_RAISE_ERROR(PJ_EEXISTS); + } + + pj_str_t pj_name = str2Pj(file_name); + + PJSUA2_CHECK_EXPR( pjsua_player_create(&pj_name, + options, + &playerId) ); + + /* Register EOF callback */ + pjmedia_port *port; + pj_status_t status; + + status = pjsua_player_get_port(playerId, &port); + if (status != PJ_SUCCESS) { + pjsua_player_destroy(playerId); + PJSUA2_RAISE_ERROR2(status, "AudioMediaPlayer::createPlayer()"); + } + status = pjmedia_wav_player_set_eof_cb(port, this, &eof_cb); + if (status != PJ_SUCCESS) { + pjsua_player_destroy(playerId); + PJSUA2_RAISE_ERROR2(status, "AudioMediaPlayer::createPlayer()"); + } + + /* Get media port id. */ + id = pjsua_player_get_conf_port(playerId); + + registerMediaPort(NULL); +} + +void AudioMediaPlayer::createPlaylist(const StringVector &file_names, + const string &label, + unsigned options) + throw(Error) +{ + if (playerId != PJSUA_INVALID_ID) { + PJSUA2_RAISE_ERROR(PJ_EEXISTS); + } + + pj_str_t pj_files[MAX_FILE_NAMES]; + unsigned i, count = 0; + pj_str_t pj_lbl = str2Pj(label); + pj_status_t status; + + count = PJ_ARRAY_SIZE(pj_files); + + for(i=0; i<file_names.size() && i<count;++i) + { + const string &file_name = file_names[i]; + + pj_files[i] = str2Pj(file_name); + } + + PJSUA2_CHECK_EXPR( pjsua_playlist_create(pj_files, + i, + &pj_lbl, + options, + &playerId) ); + + /* Register EOF callback */ + pjmedia_port *port; + status = pjsua_player_get_port(playerId, &port); + if (status != PJ_SUCCESS) { + pjsua_player_destroy(playerId); + PJSUA2_RAISE_ERROR2(status, "AudioMediaPlayer::createPlaylist()"); + } + status = pjmedia_wav_playlist_set_eof_cb(port, this, &eof_cb); + if (status != PJ_SUCCESS) { + pjsua_player_destroy(playerId); + PJSUA2_RAISE_ERROR2(status, "AudioMediaPlayer::createPlaylist()"); + } + + /* Get media port id. */ + id = pjsua_player_get_conf_port(playerId); + + registerMediaPort(NULL); +} + +AudioMediaPlayerInfo AudioMediaPlayer::getInfo() const throw(Error) +{ + AudioMediaPlayerInfo info; + pjmedia_wav_player_info pj_info; + + PJSUA2_CHECK_EXPR( pjsua_player_get_info(playerId, &pj_info) ); + + pj_bzero(&info, sizeof(info)); + info.formatId = pj_info.fmt_id; + info.payloadBitsPerSample = pj_info.payload_bits_per_sample; + info.sizeBytes = pj_info.size_bytes; + info.sizeSamples = pj_info.size_samples; + + return info; +} + +pj_uint32_t AudioMediaPlayer::getPos() const throw(Error) +{ + pj_ssize_t pos = pjsua_player_get_pos(playerId); + if (pos < 0) { + PJSUA2_RAISE_ERROR2(-pos, "AudioMediaPlayer::getPos()"); + } + return (pj_uint32_t)pos; +} + +void AudioMediaPlayer::setPos(pj_uint32_t samples) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_player_set_pos(playerId, samples) ); +} + +AudioMediaPlayer* AudioMediaPlayer::typecastFromAudioMedia( + AudioMedia *media) +{ + return static_cast<AudioMediaPlayer*>(media); +} + +pj_status_t AudioMediaPlayer::eof_cb(pjmedia_port *port, + void *usr_data) +{ + AudioMediaPlayer *player = (AudioMediaPlayer*)usr_data; + return player->onEof() ? PJ_SUCCESS : PJ_EEOF; +} + +/////////////////////////////////////////////////////////////////////////////// +AudioMediaRecorder::AudioMediaRecorder() +: recorderId(PJSUA_INVALID_ID) +{ + +} + +AudioMediaRecorder::~AudioMediaRecorder() +{ + if (recorderId != PJSUA_INVALID_ID) { + unregisterMediaPort(); + pjsua_recorder_destroy(recorderId); + } +} + +void AudioMediaRecorder::createRecorder(const string &file_name, + unsigned enc_type, + pj_ssize_t max_size, + unsigned options) + throw(Error) +{ + PJ_UNUSED_ARG(max_size); + + if (recorderId != PJSUA_INVALID_ID) { + PJSUA2_RAISE_ERROR(PJ_EEXISTS); + } + + pj_str_t pj_name = str2Pj(file_name); + + PJSUA2_CHECK_EXPR( pjsua_recorder_create(&pj_name, + enc_type, + NULL, + -1, + options, + &recorderId) ); + + /* Get media port id. */ + id = pjsua_recorder_get_conf_port(recorderId); + + registerMediaPort(NULL); +} + +AudioMediaRecorder* AudioMediaRecorder::typecastFromAudioMedia( + AudioMedia *media) +{ + return static_cast<AudioMediaRecorder*>(media); +} + +/////////////////////////////////////////////////////////////////////////////// +void AudioDevInfo::fromPj(const pjmedia_aud_dev_info &dev_info) +{ + name = dev_info.name; + inputCount = dev_info.input_count; + outputCount = dev_info.output_count; + defaultSamplesPerSec = dev_info.default_samples_per_sec; + driver = dev_info.driver; + caps = dev_info.caps; + routes = dev_info.routes; + + for (unsigned i=0; i<dev_info.ext_fmt_cnt;++i) { + MediaFormatAudio *format = new MediaFormatAudio; + + format->fromPj(dev_info.ext_fmt[i]); + if (format->type == PJMEDIA_TYPE_AUDIO) + extFmt.push_back(format); + } +} + +AudioDevInfo::~AudioDevInfo() +{ + for(unsigned i=0;i<extFmt.size();++i) { + delete extFmt[i]; + } + extFmt.clear(); +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Simple AudioMedia class for sound device. + */ +class DevAudioMedia : public AudioMedia +{ +public: + DevAudioMedia(); + ~DevAudioMedia(); +}; + +DevAudioMedia::DevAudioMedia() +{ + this->id = 0; + registerMediaPort(NULL); +} + +DevAudioMedia::~DevAudioMedia() +{ + /* Avoid removing this port (conf port id=0) from conference */ + this->id = PJSUA_INVALID_ID; +} + +/////////////////////////////////////////////////////////////////////////////// +/* Audio device operations. */ + +AudDevManager::AudDevManager() +: devMedia(NULL) +{ +} + +AudDevManager::~AudDevManager() +{ + // At this point, devMedia should have been cleaned up by Endpoint, + // as AudDevManager destructor is called after Endpoint destructor. + //delete devMedia; + + clearAudioDevList(); +} + +int AudDevManager::getCaptureDev() const throw(Error) +{ + return getActiveDev(true); +} + +AudioMedia &AudDevManager::getCaptureDevMedia() throw(Error) +{ + if (!devMedia) + devMedia = new DevAudioMedia; + return *devMedia; +} + +int AudDevManager::getPlaybackDev() const throw(Error) +{ + return getActiveDev(false); +} + +AudioMedia &AudDevManager::getPlaybackDevMedia() throw(Error) +{ + if (!devMedia) + devMedia = new DevAudioMedia; + return *devMedia; +} + +void AudDevManager::setCaptureDev(int capture_dev) const throw(Error) +{ + int playback_dev = getPlaybackDev(); + + PJSUA2_CHECK_EXPR( pjsua_set_snd_dev(capture_dev, playback_dev) ); +} + +void AudDevManager::setPlaybackDev(int playback_dev) const throw(Error) +{ + int capture_dev = getCaptureDev(); + + PJSUA2_CHECK_EXPR( pjsua_set_snd_dev(capture_dev, playback_dev) ); +} + +const AudioDevInfoVector &AudDevManager::enumDev() throw(Error) +{ + pjmedia_aud_dev_info pj_info[MAX_DEV_COUNT]; + unsigned count = MAX_DEV_COUNT; + + PJSUA2_CHECK_EXPR( pjsua_enum_aud_devs(pj_info, &count) ); + + pj_enter_critical_section(); + clearAudioDevList(); + for (unsigned i = 0; i<count ;++i) { + AudioDevInfo *dev_info = new AudioDevInfo; + dev_info->fromPj(pj_info[i]); + audioDevList.push_back(dev_info); + } + pj_leave_critical_section(); + return audioDevList; +} + +void AudDevManager::setNullDev() throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_set_null_snd_dev() ); +} + +MediaPort *AudDevManager::setNoDev() +{ + return (MediaPort*)pjsua_set_no_snd_dev(); +} + +void AudDevManager::setEcOptions(unsigned tail_msec, + unsigned options) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_set_ec(tail_msec, options) ); +} + +unsigned AudDevManager::getEcTail() const throw(Error) +{ + unsigned tail_msec = 0; + + PJSUA2_CHECK_EXPR( pjsua_get_ec_tail(&tail_msec) ); + + return tail_msec; +} + +bool AudDevManager::sndIsActive() const +{ + return PJ2BOOL(pjsua_snd_is_active()); +} + +void AudDevManager::refreshDevs() throw(Error) +{ + PJSUA2_CHECK_EXPR( pjmedia_aud_dev_refresh() ); +} + +unsigned AudDevManager::getDevCount() const +{ + return pjmedia_aud_dev_count(); +} + +AudioDevInfo +AudDevManager::getDevInfo(int id) const throw(Error) +{ + AudioDevInfo dev_info; + pjmedia_aud_dev_info pj_info; + + PJSUA2_CHECK_EXPR( pjmedia_aud_dev_get_info(id, &pj_info) ); + + dev_info.fromPj(pj_info); + return dev_info; +} + +int AudDevManager::lookupDev(const string &drv_name, + const string &dev_name) const throw(Error) +{ + pjmedia_aud_dev_index pj_idx = 0; + + PJSUA2_CHECK_EXPR( pjmedia_aud_dev_lookup(drv_name.c_str(), + dev_name.c_str(), + &pj_idx) ); + + return pj_idx; +} + + +string AudDevManager::capName(pjmedia_aud_dev_cap cap) const +{ + return pjmedia_aud_dev_cap_name(cap, NULL); +} + +void +AudDevManager::setExtFormat(const MediaFormatAudio &format, + bool keep) throw(Error) +{ + pjmedia_format pj_format = format.toPj(); + + PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_EXT_FORMAT, + &pj_format, + keep) ); +} + +MediaFormatAudio AudDevManager::getExtFormat() const throw(Error) +{ + pjmedia_format pj_format; + MediaFormatAudio format; + + PJSUA2_CHECK_EXPR( pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_EXT_FORMAT, + &pj_format) ); + + format.fromPj(pj_format); + + return format; +} + +void AudDevManager::setInputLatency(unsigned latency_msec, + bool keep) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY, + &latency_msec, + keep) ); +} + +unsigned AudDevManager::getInputLatency() const throw(Error) +{ + unsigned latency_msec = 0; + + PJSUA2_CHECK_EXPR( pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY, + &latency_msec) ); + + return latency_msec; +} + +void +AudDevManager::setOutputLatency(unsigned latency_msec, + bool keep) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY, + &latency_msec, + keep) ); +} + +unsigned AudDevManager::getOutputLatency() const throw(Error) +{ + unsigned latency_msec = 0; + + PJSUA2_CHECK_EXPR( pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY, + &latency_msec) ); + + return latency_msec; +} + +void AudDevManager::setInputVolume(unsigned volume, bool keep) throw(Error) +{ + PJSUA2_CHECK_EXPR( + pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING, + &volume, + keep) ); +} + +unsigned AudDevManager::getInputVolume() const throw(Error) +{ + unsigned volume = 0; + + PJSUA2_CHECK_EXPR( + pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING, + &volume) ); + + return volume; +} + +void AudDevManager::setOutputVolume(unsigned volume, bool keep) throw(Error) +{ + PJSUA2_CHECK_EXPR( + pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + &volume, + keep) ); +} + +unsigned AudDevManager::getOutputVolume() const throw(Error) +{ + unsigned volume = 0; + + PJSUA2_CHECK_EXPR( + pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + &volume) ); + + return volume; +} + +unsigned AudDevManager::getInputSignal() const throw(Error) +{ + unsigned signal = 0; + + PJSUA2_CHECK_EXPR( + pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_INPUT_SIGNAL_METER, + &signal) ); + + return signal; +} + +unsigned AudDevManager::getOutputSignal() const throw(Error) +{ + unsigned signal = 0; + + PJSUA2_CHECK_EXPR( + pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_SIGNAL_METER, + &signal) ); + + return signal; +} + +void +AudDevManager::setInputRoute(pjmedia_aud_dev_route route, + bool keep) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE, + &route, + keep) ); +} + +pjmedia_aud_dev_route AudDevManager::getInputRoute() const throw(Error) +{ + pjmedia_aud_dev_route route = PJMEDIA_AUD_DEV_ROUTE_DEFAULT; + + PJSUA2_CHECK_EXPR( pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE, + &route) ); + + return route; +} + +void +AudDevManager::setOutputRoute(pjmedia_aud_dev_route route, + bool keep) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, + &route, + keep) ); +} + +pjmedia_aud_dev_route AudDevManager::getOutputRoute() const throw(Error) +{ + pjmedia_aud_dev_route route = PJMEDIA_AUD_DEV_ROUTE_DEFAULT; + + PJSUA2_CHECK_EXPR( pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE, + &route) ); + + return route; +} + +void AudDevManager::setVad(bool enable, bool keep) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_VAD, + &enable, + keep) ); +} + +bool AudDevManager::getVad() const throw(Error) +{ + bool enable = false; + + PJSUA2_CHECK_EXPR( pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_VAD, + &enable) ); + + return enable; +} + +void AudDevManager::setCng(bool enable, bool keep) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_CNG, + &enable, + keep) ); +} + +bool AudDevManager::getCng() const throw(Error) +{ + bool enable = false; + + PJSUA2_CHECK_EXPR( pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_CNG, + &enable) ); + + return enable; +} + +void AudDevManager::setPlc(bool enable, bool keep) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_PLC, + &enable, + keep) ); +} + +bool AudDevManager::getPlc() const throw(Error) +{ + bool enable = false; + + PJSUA2_CHECK_EXPR( pjsua_snd_get_setting(PJMEDIA_AUD_DEV_CAP_PLC, + &enable) ); + + return enable; +} + +void AudDevManager::clearAudioDevList() +{ + for(unsigned i=0;i<audioDevList.size();++i) { + delete audioDevList[i]; + } + audioDevList.clear(); +} + +int AudDevManager::getActiveDev(bool is_capture) const throw(Error) +{ + int capture_dev = 0, playback_dev = 0; + PJSUA2_CHECK_EXPR( pjsua_get_snd_dev(&capture_dev, &playback_dev) ); + + return is_capture?capture_dev:playback_dev; +} + +/////////////////////////////////////////////////////////////////////////////// +void CodecInfo::fromPj(const pjsua_codec_info &codec_info) +{ + codecId = pj2Str(codec_info.codec_id); + priority = codec_info.priority; + desc = pj2Str(codec_info.desc); +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/persistent.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/persistent.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f6febacabc80d64eb0ca45e2db819578e62ee484 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/persistent.cpp @@ -0,0 +1,227 @@ +/* $Id: persistent.cpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjsua2/persistent.hpp> + +using namespace pj; +using namespace std; + + +bool PersistentDocument::hasUnread() const +{ + return getRootContainer().hasUnread(); +} + +string PersistentDocument::unreadName() const throw(Error) +{ + return getRootContainer().unreadName(); +} + +int PersistentDocument::readInt(const string &name) const throw(Error) +{ + return (int)getRootContainer().readNumber(name); +} + +float PersistentDocument::readNumber(const string &name) const throw(Error) +{ + return getRootContainer().readNumber(name); +} + +bool PersistentDocument::readBool(const string &name) const throw(Error) +{ + return getRootContainer().readBool(name); +} + +string PersistentDocument::readString(const string &name) const throw(Error) +{ + return getRootContainer().readString(name); +} + +StringVector PersistentDocument::readStringVector(const string &name) const + throw(Error) +{ + return getRootContainer().readStringVector(name); +} + +void PersistentDocument::readObject(PersistentObject &obj) const throw(Error) +{ + getRootContainer().readObject(obj); +} + +ContainerNode PersistentDocument::readContainer(const string &name) const + throw(Error) +{ + return getRootContainer().readContainer(name); +} + +ContainerNode PersistentDocument::readArray(const string &name) const + throw(Error) +{ + return getRootContainer().readArray(name); +} + +void PersistentDocument::writeNumber(const string &name, + float num) throw(Error) +{ + getRootContainer().writeNumber(name, num); +} + +void PersistentDocument::writeInt(const string &name, + int num) throw(Error) +{ + getRootContainer().writeNumber(name, (float)num); +} + +void PersistentDocument::writeBool(const string &name, + bool value) throw(Error) +{ + getRootContainer().writeBool(name, value); +} + +void PersistentDocument::writeString(const string &name, + const string &value) throw(Error) +{ + getRootContainer().writeString(name, value); +} + +void PersistentDocument::writeStringVector(const string &name, + const StringVector &value) + throw(Error) +{ + getRootContainer().writeStringVector(name, value); +} + +void PersistentDocument::writeObject(const PersistentObject &obj) throw(Error) +{ + getRootContainer().writeObject(obj); +} + +ContainerNode PersistentDocument::writeNewContainer(const string &name) + throw(Error) +{ + return getRootContainer().writeNewContainer(name); +} + +ContainerNode PersistentDocument::writeNewArray(const string &name) + throw(Error) +{ + return getRootContainer().writeNewArray(name); +} + +/////////////////////////////////////////////////////////////////////////////// + +bool ContainerNode::hasUnread() const +{ + return op->hasUnread(this); +} + +string ContainerNode::unreadName() const throw(Error) +{ + return op->unreadName(this); +} + +int ContainerNode::readInt(const string &name) const throw(Error) +{ + return (int)op->readNumber(this, name); +} + +float ContainerNode::readNumber(const string &name) const throw(Error) +{ + return op->readNumber(this, name); +} + +bool ContainerNode::readBool(const string &name) const throw(Error) +{ + return op->readBool(this, name); +} + +string ContainerNode::readString(const string &name) const throw(Error) +{ + return op->readString(this, name); +} + +StringVector ContainerNode::readStringVector(const string &name) const + throw(Error) +{ + return op->readStringVector(this, name); +} + +void ContainerNode::readObject(PersistentObject &obj) const throw(Error) +{ + obj.readObject(*this); +} + +ContainerNode ContainerNode::readContainer(const string &name) const + throw(Error) +{ + return op->readContainer(this, name); +} + +ContainerNode ContainerNode::readArray(const string &name) const + throw(Error) +{ + return op->readArray(this, name); +} + +void ContainerNode::writeNumber(const string &name, + float num) throw(Error) +{ + return op->writeNumber(this, name, num); +} + +void ContainerNode::writeInt(const string &name, + int num) throw(Error) +{ + return op->writeNumber(this, name, (float)num); +} + +void ContainerNode::writeBool(const string &name, + bool value) throw(Error) +{ + return op->writeBool(this, name, value); +} + +void ContainerNode::writeString(const string &name, + const string &value) throw(Error) +{ + return op->writeString(this, name, value); +} + +void ContainerNode::writeStringVector(const string &name, + const StringVector &value) + throw(Error) +{ + return op->writeStringVector(this, name, value); +} + +void ContainerNode::writeObject(const PersistentObject &obj) throw(Error) +{ + obj.writeObject(*this); +} + +ContainerNode ContainerNode::writeNewContainer(const string &name) + throw(Error) +{ + return op->writeNewContainer(this, name); +} + +ContainerNode ContainerNode::writeNewArray(const string &name) + throw(Error) +{ + return op->writeNewArray(this, name); +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/presence.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/presence.cpp new file mode 100644 index 0000000000000000000000000000000000000000..4cdc52597357cc1d66bf4730c685c8991250564e --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/presence.cpp @@ -0,0 +1,190 @@ +/* $Id: presence.cpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjsua2/presence.hpp> +#include <pjsua2/account.hpp> +#include "util.hpp" + +using namespace pj; +using namespace std; + +#define THIS_FILE "presence.cpp" + + +/////////////////////////////////////////////////////////////////////////////// + +PresenceStatus::PresenceStatus() +: status(PJSUA_BUDDY_STATUS_UNKNOWN), activity(PJRPID_ACTIVITY_UNKNOWN) +{ +} + + +/////////////////////////////////////////////////////////////////////////////// + +void BuddyConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("BuddyConfig"); + + NODE_READ_STRING ( this_node, uri); + NODE_READ_BOOL ( this_node, subscribe); +} + +void BuddyConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("BuddyConfig"); + + NODE_WRITE_STRING ( this_node, uri); + NODE_WRITE_BOOL ( this_node, subscribe); +} + +////////////////////////////////////////////////////////////////////////////// + +void BuddyInfo::fromPj(const pjsua_buddy_info &pbi) +{ + uri = pj2Str(pbi.uri); + contact = pj2Str(pbi.contact); + presMonitorEnabled = PJ2BOOL(pbi.monitor_pres); + subState = pbi.sub_state; + subStateName = string(pbi.sub_state_name); + subTermCode = (pjsip_status_code)pbi.sub_term_code; + subTermReason = pj2Str(pbi.sub_term_reason); + + /* Presence status */ + presStatus.status = pbi.status; + presStatus.statusText = pj2Str(pbi.status_text); + presStatus.activity = pbi.rpid.activity; + presStatus.note = pj2Str(pbi.rpid.note); + presStatus.rpidId = pj2Str(pbi.rpid.id); +} + +////////////////////////////////////////////////////////////////////////////// + +/* + * Constructor. + */ +Buddy::Buddy() +: id(PJSUA_INVALID_ID) +{ +} + +/* + * Destructor. + */ +Buddy::~Buddy() +{ + if (isValid()) { + pjsua_buddy_set_user_data(id, NULL); + pjsua_buddy_del(id); + + /* Remove from account buddy list */ + acc->removeBuddy(this); + } +} + +/* + * Create buddy and register the buddy to PJSUA-LIB. + */ +void Buddy::create(Account &account, const BuddyConfig &cfg) throw(Error) +{ + pjsua_buddy_config pj_cfg; + pjsua_buddy_config_default(&pj_cfg); + + if (!account.isValid()) + PJSUA2_RAISE_ERROR3(PJ_EINVAL, "Buddy::create()", "Invalid account"); + + pj_cfg.uri = str2Pj(cfg.uri); + pj_cfg.subscribe = cfg.subscribe; + pj_cfg.user_data = (void*)this; + PJSUA2_CHECK_EXPR( pjsua_buddy_add(&pj_cfg, &id) ); + + acc = &account; + acc->addBuddy(this); +} + +/* + * Check if this buddy is valid. + */ +bool Buddy::isValid() const +{ + return PJ2BOOL( pjsua_buddy_is_valid(id) ); +} + +/* + * Get detailed buddy info. + */ +BuddyInfo Buddy::getInfo() const throw(Error) +{ + pjsua_buddy_info pj_bi; + BuddyInfo bi; + + PJSUA2_CHECK_EXPR( pjsua_buddy_get_info(id, &pj_bi) ); + bi.fromPj(pj_bi); + return bi; +} + +/* + * Enable/disable buddy's presence monitoring. + */ +void Buddy::subscribePresence(bool subscribe) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_buddy_subscribe_pres(id, subscribe) ); +} + + +/* + * Update the presence information for the buddy. + */ +void Buddy::updatePresence(void) throw(Error) +{ + PJSUA2_CHECK_EXPR( pjsua_buddy_update_pres(id) ); +} + +/* + * Send instant messaging outside dialog. + */ +void Buddy::sendInstantMessage(const SendInstantMessageParam &prm) throw(Error) +{ + BuddyInfo bi = getInfo(); + + pj_str_t to = str2Pj(bi.contact.empty()? bi.uri : bi.contact); + pj_str_t mime_type = str2Pj(prm.contentType); + pj_str_t content = str2Pj(prm.content); + void *user_data = (void*)prm.userData; + pjsua_msg_data msg_data; + prm.txOption.toPj(msg_data); + + PJSUA2_CHECK_EXPR( pjsua_im_send(acc->getId(), &to, &mime_type, &content, + &msg_data, user_data) ); +} + +/* + * Send typing indication outside dialog. + */ +void Buddy::sendTypingIndication(const SendTypingIndicationParam &prm) + throw(Error) +{ + BuddyInfo bi = getInfo(); + + pj_str_t to = str2Pj(bi.contact.empty()? bi.uri : bi.contact); + pjsua_msg_data msg_data; + prm.txOption.toPj(msg_data); + + PJSUA2_CHECK_EXPR( pjsua_im_typing(acc->getId(), &to, prm.isTyping, + &msg_data) ); +} + diff --git a/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/siptypes.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/siptypes.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8b7779bbf52d72d1c66518a7f4fb9739e7ec5533 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/siptypes.cpp @@ -0,0 +1,590 @@ +/* $Id: siptypes.cpp 4761 2014-02-24 09:02:44Z nanang $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjsua2/types.hpp> +#include <pjsua2/siptypes.hpp> +#include "util.hpp" + +using namespace pj; +using namespace std; + +#define THIS_FILE "siptypes.cpp" + +/////////////////////////////////////////////////////////////////////////////// +namespace pj +{ +void readIntVector( ContainerNode &node, + const string &array_name, + IntVector &v) throw(Error) +{ + ContainerNode array_node = node.readArray(array_name); + v.resize(0); + while (array_node.hasUnread()) { + v.push_back((int)array_node.readNumber()); + } +} + +void writeIntVector(ContainerNode &node, + const string &array_name, + const IntVector &v) throw(Error) +{ + ContainerNode array_node = node.writeNewArray(array_name); + for (unsigned i=0; i<v.size(); ++i) { + array_node.writeNumber("", (float)v[i]); + } +} + +void readQosParams( ContainerNode &node, + pj_qos_params &qos) throw(Error) +{ + ContainerNode this_node = node.readContainer("qosParams"); + + NODE_READ_NUM_T( this_node, pj_uint8_t, qos.flags); + NODE_READ_NUM_T( this_node, pj_uint8_t, qos.dscp_val); + NODE_READ_NUM_T( this_node, pj_uint8_t, qos.so_prio); + NODE_READ_NUM_T( this_node, pj_qos_wmm_prio, qos.wmm_prio); +} + +void writeQosParams( ContainerNode &node, + const pj_qos_params &qos) throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("qosParams"); + + NODE_WRITE_NUM_T( this_node, pj_uint8_t, qos.flags); + NODE_WRITE_NUM_T( this_node, pj_uint8_t, qos.dscp_val); + NODE_WRITE_NUM_T( this_node, pj_uint8_t, qos.so_prio); + NODE_WRITE_NUM_T( this_node, pj_qos_wmm_prio, qos.wmm_prio); +} + +void readSipHeaders( const ContainerNode &node, + const string &array_name, + SipHeaderVector &headers) throw(Error) +{ + ContainerNode headers_node = node.readArray(array_name); + headers.resize(0); + while (headers_node.hasUnread()) { + SipHeader hdr; + + ContainerNode header_node = headers_node.readContainer("header"); + hdr.hName = header_node.readString("hname"); + hdr.hValue = header_node.readString("hvalue"); + headers.push_back(hdr); + } +} + +void writeSipHeaders(ContainerNode &node, + const string &array_name, + const SipHeaderVector &headers) throw(Error) +{ + ContainerNode headers_node = node.writeNewArray(array_name); + for (unsigned i=0; i<headers.size(); ++i) { + ContainerNode header_node = headers_node.writeNewContainer("header"); + header_node.writeString("hname", headers[i].hName); + header_node.writeString("hvalue", headers[i].hValue); + } +} + +} // namespace +/////////////////////////////////////////////////////////////////////////////// + +AuthCredInfo::AuthCredInfo() +: scheme("digest"), realm("*"), dataType(0) +{ +} + +AuthCredInfo::AuthCredInfo(const string ¶m_scheme, + const string ¶m_realm, + const string ¶m_user_name, + const int param_data_type, + const string param_data) +: scheme(param_scheme), realm(param_realm), username(param_user_name), + dataType(param_data_type), data(param_data) +{ +} + +void AuthCredInfo::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("AuthCredInfo"); + + NODE_READ_STRING( this_node, scheme); + NODE_READ_STRING( this_node, realm); + NODE_READ_STRING( this_node, username); + NODE_READ_INT ( this_node, dataType); + NODE_READ_STRING( this_node, data); + NODE_READ_STRING( this_node, akaK); + NODE_READ_STRING( this_node, akaOp); + NODE_READ_STRING( this_node, akaAmf); +} + +void AuthCredInfo::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("AuthCredInfo"); + + NODE_WRITE_STRING( this_node, scheme); + NODE_WRITE_STRING( this_node, realm); + NODE_WRITE_STRING( this_node, username); + NODE_WRITE_INT ( this_node, dataType); + NODE_WRITE_STRING( this_node, data); + NODE_WRITE_STRING( this_node, akaK); + NODE_WRITE_STRING( this_node, akaOp); + NODE_WRITE_STRING( this_node, akaAmf); +} + +/////////////////////////////////////////////////////////////////////////////// + +TlsConfig::TlsConfig() +{ + pjsip_tls_setting ts; + pjsip_tls_setting_default(&ts); + this->fromPj(ts); +} + +pjsip_tls_setting TlsConfig::toPj() const +{ + pjsip_tls_setting ts; + + ts.ca_list_file = str2Pj(this->CaListFile); + ts.cert_file = str2Pj(this->certFile); + ts.privkey_file = str2Pj(this->privKeyFile); + ts.password = str2Pj(this->password); + ts.method = this->method; + ts.ciphers_num = (unsigned)this->ciphers.size(); + // The following will only work if sizeof(enum)==sizeof(int) + pj_assert(sizeof(ts.ciphers[0]) == sizeof(int)); + ts.ciphers = ts.ciphers_num? + (pj_ssl_cipher*)&this->ciphers[0] : NULL; + ts.verify_server = this->verifyServer; + ts.verify_client = this->verifyClient; + ts.require_client_cert = this->requireClientCert; + ts.timeout.sec = this->msecTimeout / 1000; + ts.timeout.msec = this->msecTimeout % 1000; + ts.qos_type = this->qosType; + ts.qos_params = this->qosParams; + ts.qos_ignore_error = this->qosIgnoreError; + + return ts; +} + +void TlsConfig::fromPj(const pjsip_tls_setting &prm) +{ + this->CaListFile = pj2Str(prm.ca_list_file); + this->certFile = pj2Str(prm.cert_file); + this->privKeyFile = pj2Str(prm.privkey_file); + this->password = pj2Str(prm.password); + this->method = (pjsip_ssl_method)prm.method; + // The following will only work if sizeof(enum)==sizeof(int) + pj_assert(sizeof(prm.ciphers[0]) == sizeof(int)); + this->ciphers = IntVector(prm.ciphers, prm.ciphers+prm.ciphers_num); + this->verifyServer = PJ2BOOL(prm.verify_server); + this->verifyClient = PJ2BOOL(prm.verify_client); + this->requireClientCert = PJ2BOOL(prm.require_client_cert); + this->msecTimeout = PJ_TIME_VAL_MSEC(prm.timeout); + this->qosType = prm.qos_type; + this->qosParams = prm.qos_params; + this->qosIgnoreError = PJ2BOOL(prm.qos_ignore_error); +} + +void TlsConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("TlsConfig"); + + NODE_READ_STRING ( this_node, CaListFile); + NODE_READ_STRING ( this_node, certFile); + NODE_READ_STRING ( this_node, privKeyFile); + NODE_READ_STRING ( this_node, password); + NODE_READ_NUM_T ( this_node, pjsip_ssl_method, method); + readIntVector ( this_node, "ciphers", ciphers); + NODE_READ_BOOL ( this_node, verifyServer); + NODE_READ_BOOL ( this_node, verifyClient); + NODE_READ_BOOL ( this_node, requireClientCert); + NODE_READ_UNSIGNED( this_node, msecTimeout); + NODE_READ_NUM_T ( this_node, pj_qos_type, qosType); + readQosParams ( this_node, qosParams); + NODE_READ_BOOL ( this_node, qosIgnoreError); +} + +void TlsConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("TlsConfig"); + + NODE_WRITE_STRING ( this_node, CaListFile); + NODE_WRITE_STRING ( this_node, certFile); + NODE_WRITE_STRING ( this_node, privKeyFile); + NODE_WRITE_STRING ( this_node, password); + NODE_WRITE_NUM_T ( this_node, pjsip_ssl_method, method); + writeIntVector ( this_node, "ciphers", ciphers); + NODE_WRITE_BOOL ( this_node, verifyServer); + NODE_WRITE_BOOL ( this_node, verifyClient); + NODE_WRITE_BOOL ( this_node, requireClientCert); + NODE_WRITE_UNSIGNED( this_node, msecTimeout); + NODE_WRITE_NUM_T ( this_node, pj_qos_type, qosType); + writeQosParams ( this_node, qosParams); + NODE_WRITE_BOOL ( this_node, qosIgnoreError); +} + +/////////////////////////////////////////////////////////////////////////////// + +TransportConfig::TransportConfig() +{ + pjsua_transport_config tc; + pjsua_transport_config_default(&tc); + this->fromPj(tc); +} + +void TransportConfig::fromPj(const pjsua_transport_config &prm) +{ + this->port = prm.port; + this->portRange = prm.port_range; + this->publicAddress = pj2Str(prm.public_addr); + this->boundAddress = pj2Str(prm.bound_addr); + this->tlsConfig.fromPj(prm.tls_setting); + this->qosType = prm.qos_type; + this->qosParams = prm.qos_params; +} + +pjsua_transport_config TransportConfig::toPj() const +{ + pjsua_transport_config tc; + + tc.port = this->port; + tc.port_range = this->portRange; + tc.public_addr = str2Pj(this->publicAddress); + tc.bound_addr = str2Pj(this->boundAddress); + tc.tls_setting = this->tlsConfig.toPj(); + tc.qos_type = this->qosType; + tc.qos_params = this->qosParams; + + return tc; +} + +void TransportConfig::readObject(const ContainerNode &node) throw(Error) +{ + ContainerNode this_node = node.readContainer("TransportConfig"); + + NODE_READ_UNSIGNED ( this_node, port); + NODE_READ_UNSIGNED ( this_node, portRange); + NODE_READ_STRING ( this_node, publicAddress); + NODE_READ_STRING ( this_node, boundAddress); + NODE_READ_NUM_T ( this_node, pj_qos_type, qosType); + readQosParams ( this_node, qosParams); + NODE_READ_OBJ ( this_node, tlsConfig); +} + +void TransportConfig::writeObject(ContainerNode &node) const throw(Error) +{ + ContainerNode this_node = node.writeNewContainer("TransportConfig"); + + NODE_WRITE_UNSIGNED ( this_node, port); + NODE_WRITE_UNSIGNED ( this_node, portRange); + NODE_WRITE_STRING ( this_node, publicAddress); + NODE_WRITE_STRING ( this_node, boundAddress); + NODE_WRITE_NUM_T ( this_node, pj_qos_type, qosType); + writeQosParams ( this_node, qosParams); + NODE_WRITE_OBJ ( this_node, tlsConfig); +} + +/////////////////////////////////////////////////////////////////////////////// + +void TransportInfo::fromPj(const pjsua_transport_info &info) +{ + this->id = info.id; + this->type = info.type; + this->typeName = pj2Str(info.type_name); + this->info = pj2Str(info.info); + this->flags = info.flag; + + char straddr[PJ_INET6_ADDRSTRLEN+10]; + pj_sockaddr_print(&info.local_addr, straddr, sizeof(straddr), 3); + this->localAddress = straddr; + + pj_ansi_snprintf(straddr, sizeof(straddr), "%.*s:%d", + (int)info.local_name.host.slen, + info.local_name.host.ptr, + info.local_name.port); + this->localName = straddr; + this->usageCount = info.usage_count; +} + +/////////////////////////////////////////////////////////////////////////////// + +SipRxData::SipRxData() +: pjRxData(NULL) +{ +} + +void SipRxData::fromPj(pjsip_rx_data &rdata) +{ + char straddr[PJ_INET6_ADDRSTRLEN+10]; + + info = pjsip_rx_data_get_info(&rdata); + wholeMsg = string(rdata.msg_info.msg_buf, rdata.msg_info.len); + pj_sockaddr_print(&rdata.pkt_info.src_addr, straddr, sizeof(straddr), 3); + srcAddress = straddr; + pjRxData = (void *)&rdata; +} + +/////////////////////////////////////////////////////////////////////////////// + +void SipMediaType::fromPj(const pjsip_media_type &prm) +{ + type = pj2Str(prm.type); + subType = pj2Str(prm.subtype); +} + +pjsip_media_type SipMediaType::toPj() const +{ + pjsip_media_type pj_mt; + pj_bzero(&pj_mt, sizeof(pj_mt)); + pj_mt.type = str2Pj(type); + pj_mt.subtype = str2Pj(subType); + return pj_mt; +} + +/////////////////////////////////////////////////////////////////////////////// + +void SipHeader::fromPj(const pjsip_hdr *hdr) throw(Error) +{ + char buf[256]; + + int len = pjsip_hdr_print_on((void*)hdr, buf, sizeof(buf)-1); + if (len <= 0) + PJSUA2_RAISE_ERROR(PJ_ETOOSMALL); + buf[len] = '\0'; + + char *pos = strchr(buf, ':'); + if (!pos) + PJSUA2_RAISE_ERROR(PJSIP_EINVALIDHDR); + + // Trim white space after header name + char *end_name = pos; + while (end_name>buf && pj_isspace(*(end_name-1))) --end_name; + + // Trim whitespaces after colon + char *start_val = pos+1; + while (*start_val && pj_isspace(*start_val)) ++start_val; + + hName = string(buf, end_name); + hValue = string(start_val); +} + +pjsip_generic_string_hdr &SipHeader::toPj() const +{ + pj_str_t hname = str2Pj(hName); + pj_str_t hvalue = str2Pj(hValue); + + pjsip_generic_string_hdr_init2(&pjHdr, &hname, &hvalue); + return pjHdr; +} + +/////////////////////////////////////////////////////////////////////////////// + +void SipMultipartPart::fromPj(const pjsip_multipart_part &prm) throw(Error) +{ + headers.clear(); + pjsip_hdr* pj_hdr = prm.hdr.next; + while (pj_hdr != &prm.hdr) { + SipHeader sh; + sh.fromPj(pj_hdr); + headers.push_back(sh); + pj_hdr = pj_hdr->next; + } + + if (!prm.body) + PJSUA2_RAISE_ERROR(PJ_EINVAL); + + contentType.fromPj(prm.body->content_type); + body = string((char*)prm.body->data, prm.body->len); +} + +pjsip_multipart_part& SipMultipartPart::toPj() const +{ + pj_list_init(&pjMpp.hdr); + for (unsigned i = 0; i < headers.size(); i++) { + pjsip_generic_string_hdr& pj_hdr = headers[i].toPj(); + pj_list_push_back(&pjMpp.hdr, &pj_hdr); + } + + pj_bzero(&pjMsgBody, sizeof(pjMsgBody)); + pjMsgBody.content_type = contentType.toPj(); + pjMsgBody.print_body = &pjsip_print_text_body; + pjMsgBody.clone_data = &pjsip_clone_text_data; + pjMsgBody.data = (void*)body.c_str(); + pjMsgBody.len = (unsigned)body.size(); + pjMpp.body = &pjMsgBody; + + return pjMpp; +} + +/////////////////////////////////////////////////////////////////////////////// + +SipEvent::SipEvent() +: type(PJSIP_EVENT_UNKNOWN), pjEvent(NULL) +{ +} + +void SipEvent::fromPj(const pjsip_event &ev) +{ + type = ev.type; + if (type == PJSIP_EVENT_TIMER) { + body.timer.entry = ev.body.timer.entry; + } else if (type == PJSIP_EVENT_TSX_STATE) { + body.tsxState.prevState = (pjsip_tsx_state_e) + ev.body.tsx_state.prev_state; + body.tsxState.tsx.fromPj(*ev.body.tsx_state.tsx); + if (body.tsxState.type == PJSIP_EVENT_TX_MSG) { + if (ev.body.tsx_state.src.tdata) + body.tsxState.src.tdata.fromPj(*ev.body.tsx_state.src.tdata); + } else if (body.tsxState.type == PJSIP_EVENT_RX_MSG) { + if (ev.body.tsx_state.src.rdata) + body.tsxState.src.rdata.fromPj(*ev.body.tsx_state.src.rdata); + } else if (body.tsxState.type == PJSIP_EVENT_TRANSPORT_ERROR) { + body.tsxState.src.status = ev.body.tsx_state.src.status; + } else if (body.tsxState.type == PJSIP_EVENT_TIMER) { + body.tsxState.src.timer = ev.body.tsx_state.src.timer; + } else if (body.tsxState.type == PJSIP_EVENT_USER) { + body.tsxState.src.data = ev.body.tsx_state.src.data; + } + } else if (type == PJSIP_EVENT_TX_MSG) { + if (ev.body.tx_msg.tdata) + body.txMsg.tdata.fromPj(*ev.body.tx_msg.tdata); + } else if (type == PJSIP_EVENT_RX_MSG) { + if (ev.body.rx_msg.rdata) + body.rxMsg.rdata.fromPj(*ev.body.rx_msg.rdata); + } else if (type == PJSIP_EVENT_TRANSPORT_ERROR) { + if (ev.body.tx_error.tdata) + body.txError.tdata.fromPj(*ev.body.tx_error.tdata); + if (ev.body.tx_error.tsx) + body.txError.tsx.fromPj(*ev.body.tx_error.tsx); + } else if (type == PJSIP_EVENT_USER) { + body.user.user1 = ev.body.user.user1; + body.user.user2 = ev.body.user.user2; + body.user.user3 = ev.body.user.user3; + body.user.user4 = ev.body.user.user4; + } + pjEvent = (void *)&ev; +} + +SipTxData::SipTxData() +: pjTxData(NULL) +{ +} + +void SipTxData::fromPj(pjsip_tx_data &tdata) +{ + char straddr[PJ_INET6_ADDRSTRLEN+10]; + + info = pjsip_tx_data_get_info(&tdata); + pjsip_tx_data_encode(&tdata); + wholeMsg = string(tdata.buf.start, tdata.buf.end - tdata.buf.start); + if (pj_sockaddr_has_addr(&tdata.tp_info.dst_addr)) { + pj_sockaddr_print(&tdata.tp_info.dst_addr, straddr, sizeof(straddr), 3); + dstAddress = straddr; + } else { + dstAddress = ""; + } + pjTxData = (void *)&tdata; +} + +SipTransaction::SipTransaction() +: role(PJSIP_ROLE_UAC), statusCode(0), pjTransaction(NULL) +{ +} + +void SipTransaction::fromPj(pjsip_transaction &tsx) +{ + this->role = tsx.role; + this->method = pj2Str(tsx.method.name); + this->statusCode = tsx.status_code; + this->statusText = pj2Str(tsx.status_text); + if (tsx.last_tx) + this->lastTx.fromPj(*tsx.last_tx); + else + this->lastTx.pjTxData = NULL; + this->pjTransaction = (void *)&tsx; +} + +bool SipTxOption::isEmpty() const +{ + return (targetUri == "" && headers.size() == 0 && contentType == "" && + msgBody == "" && multipartContentType.type == "" && + multipartContentType.subType == "" && multipartParts.size() == 0); +} + +void SipTxOption::fromPj(const pjsua_msg_data &prm) throw(Error) +{ + targetUri = pj2Str(prm.target_uri); + + headers.clear(); + pjsip_hdr* pj_hdr = prm.hdr_list.next; + while (pj_hdr != &prm.hdr_list) { + SipHeader sh; + sh.fromPj(pj_hdr); + headers.push_back(sh); + pj_hdr = pj_hdr->next; + } + + contentType = pj2Str(prm.content_type); + msgBody = pj2Str(prm.msg_body); + multipartContentType.fromPj(prm.multipart_ctype); + + multipartParts.clear(); + pjsip_multipart_part* pj_mp = prm.multipart_parts.next; + while (pj_mp != &prm.multipart_parts) { + SipMultipartPart smp; + smp.fromPj(*pj_mp); + multipartParts.push_back(smp); + pj_mp = pj_mp->next; + } +} + +void SipTxOption::toPj(pjsua_msg_data &msg_data) const +{ + unsigned i; + + pjsua_msg_data_init(&msg_data); + + msg_data.target_uri = str2Pj(targetUri); + + pj_list_init(&msg_data.hdr_list); + for (i = 0; i < headers.size(); i++) { + pjsip_generic_string_hdr& pj_hdr = headers[i].toPj(); + pj_list_push_back(&msg_data.hdr_list, &pj_hdr); + } + + msg_data.content_type = str2Pj(contentType); + msg_data.msg_body = str2Pj(msgBody); + msg_data.multipart_ctype = multipartContentType.toPj(); + + pj_list_init(&msg_data.multipart_parts); + for (i = 0; i < multipartParts.size(); i++) { + pjsip_multipart_part& pj_part = multipartParts[i].toPj(); + pj_list_push_back(&msg_data.multipart_parts, &pj_part); + } +} + +////////////////////////////////////////////////////////////////////////////// + +SendInstantMessageParam::SendInstantMessageParam() +: contentType("text/plain"), content(""), userData(NULL) +{ +} + +SendTypingIndicationParam::SendTypingIndicationParam() +: isTyping(false) +{ +} diff --git a/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/types.cpp b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/types.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e193ba41f8bec17858c7a0672c2f4eb71e50f1e7 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/types.cpp @@ -0,0 +1,95 @@ +/* $Id: types.cpp 4742 2014-02-12 05:18:31Z bennylp $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include <pjsua2/types.hpp> +#include "util.hpp" + +using namespace pj; +using namespace std; + +#define THIS_FILE "types.cpp" + +/////////////////////////////////////////////////////////////////////////////// + +Error::Error() +: status(PJ_SUCCESS), srcLine(0) +{ +} + +Error::Error( pj_status_t prm_status, + const string &prm_title, + const string &prm_reason, + const string &prm_src_file, + int prm_src_line) +: status(prm_status), title(prm_title), reason(prm_reason), + srcFile(prm_src_file), srcLine(prm_src_line) +{ + if (this->status != PJ_SUCCESS && prm_reason.empty()) { + char errmsg[PJ_ERR_MSG_SIZE]; + pj_strerror(this->status, errmsg, sizeof(errmsg)); + this->reason = errmsg; + } +} + +string Error::info(bool multi_line) const +{ + string output; + + if (status==PJ_SUCCESS) { + output = "No error"; + } else if (!multi_line) { + char temp[80]; + + if (!title.empty()) { + output += title + " error: "; + } + snprintf(temp, sizeof(temp), " (status=%d)", status); + output += reason + temp; + if (!srcFile.empty()) { + output += " ["; + output += srcFile; + snprintf(temp, sizeof(temp), ":%d]", srcLine); + output += temp; + } + } else { + char temp[80]; + + if (!title.empty()) { + output += string("Title: ") + title + "\n"; + } + + snprintf(temp, sizeof(temp), "%d\n", status); + output += string("Code: ") + temp; + output += string("Description: ") + reason + "\n"; + if (!srcFile.empty()) { + snprintf(temp, sizeof(temp), ":%d\n", srcLine); + output += string("Location: ") + srcFile + temp; + } + } + + return output; +} + +/////////////////////////////////////////////////////////////////////////////// + +void TimeVal::fromPj(const pj_time_val &prm) +{ + this->sec = prm.sec; + this->msec = prm.msec; +} + diff --git a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/TabBarController.m b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/util.hpp similarity index 54% rename from daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/TabBarController.m rename to daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/util.hpp index 96b62799c1e815ea461c5296221ea23a31ea3f30..cc99a0e97d2e3123f8cc0f8e26a7c909d2952f8e 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip-apps/src/ipjsua/Classes/TabBarController.m +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/pjsua2/util.hpp @@ -1,6 +1,6 @@ -/* $Id: TabBarController.m 3550 2011-05-05 05:33:27Z nanang $ */ -/* - * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) +/* $Id: util.hpp 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -14,17 +14,32 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#import "TabBarController.h" +#include <pjsua2/types.hpp> +#include <string> -@implementation TabBarController +#define PJ2BOOL(var) ((var) != PJ_FALSE) -// Override to allow orientations other than the default portrait orientation. -- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - // Return YES for supported orientations - return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); +namespace pj +{ +using std::string; + +inline pj_str_t str2Pj(const string &input_str) +{ + pj_str_t output_str; + output_str.ptr = (char*)input_str.c_str(); + output_str.slen = input_str.size(); + return output_str; +} + +inline string pj2Str(const pj_str_t &input_str) +{ + if (input_str.ptr) + return string(input_str.ptr, input_str.slen); + return string(); } -@end + +} // namespace diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/dlg_core_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/dlg_core_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/dlg_core_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/dlg_core_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/dns_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/dns_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/dns_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/dns_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/inv_offer_answer_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/inv_offer_answer_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/inv_offer_answer_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/inv_offer_answer_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/main.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/main.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/main.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/main.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/main_rtems.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/main_rtems.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/main_rtems.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/main_rtems.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/main_win32.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/main_win32.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/main_win32.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/main_win32.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/msg_err_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/msg_err_test.c similarity index 92% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/msg_err_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/msg_err_test.c index d3c563698ac96502b64f564334580515aa12f0f1..f43aa1b5d7e62c2ec5c3b6c9f76a162af550dfe6 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/msg_err_test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/msg_err_test.c @@ -1,4 +1,4 @@ -/* $Id: msg_err_test.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: msg_err_test.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -81,12 +81,11 @@ int msg_err_test(void) for (i=0; i<PJ_ARRAY_SIZE(test_entries); ++i) { pjsip_parser_err_report err_list, *e; - pjsip_msg *msg; PJ_LOG(3,(THIS_FILE, " Parsing msg %d", i)); pj_list_init(&err_list); - msg = pjsip_parse_msg(pool, test_entries[i].msg, - strlen(test_entries[i].msg), &err_list); + pjsip_parse_msg(pool, test_entries[i].msg, + strlen(test_entries[i].msg), &err_list); e = err_list.next; while (e != &err_list) { diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/msg_logger.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/msg_logger.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/msg_logger.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/msg_logger.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/msg_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/msg_test.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/msg_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/msg_test.c index f64906c7c61bd204392e16e039b23bbebf449206..1b2c23119d4352632cfb92e17f3cd9c3f5a836c2 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/msg_test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/msg_test.c @@ -1,4 +1,4 @@ -/* $Id: msg_test.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: msg_test.c 4587 2013-09-05 02:14:05Z ming $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -247,7 +247,7 @@ static pj_status_t test_entry( pj_pool_t *pool, struct test_msg *entry ) pjsip_msg *parsed_msg, *ref_msg = NULL; static pjsip_msg *print_msg; pj_status_t status = PJ_SUCCESS; - int len; + pj_ssize_t len; pj_str_t str1, str2; pjsip_hdr *hdr1, *hdr2; pj_timestamp t1, t2; @@ -447,7 +447,7 @@ parse_msg: print_msg: var.print_len = var.print_len + entry->len; pj_get_timestamp(&t1); - if (var.flag && FLAG_PRINT_ONLY) + if (var.flag & FLAG_PRINT_ONLY) ref_msg = print_msg; len = pjsip_msg_print(ref_msg, msgbuf1, PJSIP_MAX_PKT_LEN); if (len < 1) { @@ -809,7 +809,7 @@ static pjsip_msg *create_msg1(pj_pool_t *pool) "c=IN IP4 pc33.atlanta.com\r\n" "m=audio 3456 RTP/AVP 0 1 3 99\r\n" "a=rtpmap:0 PCMU/8000\r\n"; - body->len = pj_ansi_strlen((const char*) body->data); + body->len = (unsigned)pj_ansi_strlen((const char*) body->data); body->print_body = &pjsip_print_text_body; return msg; @@ -1888,7 +1888,8 @@ static int hdr_test(void) for (i=0; i<PJ_ARRAY_SIZE(hdr_test_data); ++i) { struct hdr_test_t *test = &hdr_test_data[i]; pj_str_t hname; - int len, parsed_len; + pj_ssize_t len; + int parsed_len; pj_pool_t *pool; pjsip_hdr *parsed_hdr1=NULL, *parsed_hdr2=NULL; char *input, *output; @@ -2016,7 +2017,7 @@ int msg_test(void) /* Calculate average message length */ for (i=0, avg_len=0; i<PJ_ARRAY_SIZE(test_array); ++i) { - avg_len += test_array[i].len; + avg_len += (unsigned)test_array[i].len; } avg_len /= PJ_ARRAY_SIZE(test_array); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/multipart_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/multipart_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/multipart_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/multipart_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/regc_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/regc_test.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/regc_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/regc_test.c index 45912a3a0ef4de593d40bf6d28b3a31f7b1e49ad..3c9cbedda392112fd4198f0dd195fb2d8c947b60 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/regc_test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/regc_test.c @@ -1,4 +1,4 @@ -/* $Id: regc_test.c 4094 2012-04-26 09:31:00Z bennylp $ */ +/* $Id: regc_test.c 4712 2014-01-23 08:09:29Z nanang $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -347,7 +347,10 @@ static int do_test(const char *title, client_cfg->error, client_result.error)); return -210; } - if (client_result.code != client_cfg->code) { + if (client_result.code != client_cfg->code && + client_cfg->code != 502 && client_cfg->code != 503 && + client_result.code != 502 && client_result.code != 503) + { PJ_LOG(3,(THIS_FILE, " error: expecting code=%d, got code=%d", client_cfg->code, client_result.code)); return -220; @@ -542,7 +545,7 @@ static int update_test(const pj_str_t *registrar_uri) pjsip_regc *regc; pjsip_contact_hdr *h1, *h2; - pjsip_sip_uri *u1, *u2; + pjsip_sip_uri *u1; unsigned i; pj_status_t status; pjsip_tx_data *tdata = NULL; @@ -599,7 +602,6 @@ static int update_test(const pj_str_t *registrar_uri) } u1 = (pjsip_sip_uri*) pjsip_uri_get_uri(h1->uri); - u2 = (pjsip_sip_uri*) pjsip_uri_get_uri(h2->uri); if (*u1->host.ptr == 'a') { if (h1->expires != 0) { diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/test.c similarity index 97% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/test.c index 4d179398d94d48787b89df2024279da83902f9e6..d10d3451825eceb0b8516433fee23878799e004c 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/test.c @@ -1,4 +1,4 @@ -/* $Id: test.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: test.c 4420 2013-03-05 11:59:54Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -47,9 +47,10 @@ pjsip_endpoint *endpt; +pj_caching_pool caching_pool; int log_level = 3; int param_log_decor = PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_TIME | - PJ_LOG_HAS_MICRO_SEC; + PJ_LOG_HAS_MICRO_SEC | PJ_LOG_HAS_INDENT; static pj_oshandle_t fd_report; const char *system_name = "Unknown"; @@ -223,7 +224,6 @@ static void close_report(void) int test_main(void) { pj_status_t rc; - pj_caching_pool caching_pool; const char *filename; unsigned tsx_test_cnt=0; struct tsx_test_param tsx_test[10]; @@ -369,6 +369,12 @@ int test_main(void) DO_TEST(regc_test()); #endif + /* + * Better be last because it recreates the endpt + */ +#if INCLUDE_TSX_DESTROY_TEST + DO_TEST(tsx_destroy_test()); +#endif on_return: flush_events(500); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/test.h b/daemon/libs/pjproject-2.2.1/pjsip/src/test/test.h similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/test.h rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/test.h index d04668225e784721ffd9e27ccc0ed79ed615faa9..9b70435625f8f51459418b8fe991dc7d092b67c8 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/test.h +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/test.h @@ -1,4 +1,4 @@ -/* $Id: test.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: test.h 4420 2013-03-05 11:59:54Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -23,6 +23,7 @@ #include <pjsip/sip_types.h> extern pjsip_endpoint *endpt; +extern pj_caching_pool caching_pool; #define TEST_UDP_PORT 15060 #define TEST_UDP_PORT_STR "15060" @@ -64,6 +65,7 @@ extern pjsip_endpoint *endpt; #define INCLUDE_TCP_TEST INCLUDE_TRANSPORT_GROUP #define INCLUDE_RESOLVE_TEST INCLUDE_TRANSPORT_GROUP #define INCLUDE_TSX_TEST INCLUDE_TSX_GROUP +#define INCLUDE_TSX_DESTROY_TEST INCLUDE_TSX_GROUP #define INCLUDE_INV_OA_TEST INCLUDE_INV_GROUP #define INCLUDE_REGC_TEST INCLUDE_REGC_GROUP @@ -75,6 +77,7 @@ int msg_err_test(void); int multipart_test(void); int txdata_test(void); int tsx_bench(void); +int tsx_destroy_test(void); int transport_udp_test(void); int transport_loop_test(void); int transport_tcp_test(void); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/transport_loop_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/transport_loop_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/transport_loop_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/transport_loop_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/transport_tcp_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/transport_tcp_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/transport_tcp_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/transport_tcp_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/transport_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/transport_test.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/transport_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/transport_test.c index 409ec5a9fecc3e7649333b0aabc503116c74b42c..851d5ddf7113087e016d640265896eb13194437c 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/transport_test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/transport_test.c @@ -1,4 +1,4 @@ -/* $Id: transport_test.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: transport_test.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -163,7 +163,7 @@ static void send_msg_callback(pjsip_send_state *stateless_data, if (sent < 1) { /* Obtain the error code. */ - send_status = -sent; + send_status = (int)-sent; } else { send_status = PJ_SUCCESS; } @@ -415,7 +415,7 @@ static pj_status_t rt_send_request(int thread_id) pjsip_endpt_cancel_timer(endpt, &rt_test_data[thread_id].timeout_timer); } timeout_delay.sec = 100; timeout_delay.msec = 0; - rt_test_data[thread_id].timeout_timer.user_data = (void*)1; + rt_test_data[thread_id].timeout_timer.user_data = (void*)(pj_ssize_t)1; pjsip_endpt_schedule_timer(endpt, &rt_test_data[thread_id].timeout_timer, &timeout_delay); @@ -445,7 +445,7 @@ static pj_bool_t rt_on_rx_response(pjsip_rx_data *rdata) if (!rt_stop) { pj_time_val tx_delay = { 0, 0 }; pj_assert(rt_test_data[thread_id].tx_timer.user_data == NULL); - rt_test_data[thread_id].tx_timer.user_data = (void*)1; + rt_test_data[thread_id].tx_timer.user_data = (void*)(pj_ssize_t)1; pjsip_endpt_schedule_timer(endpt, &rt_test_data[thread_id].tx_timer, &tx_delay); } @@ -468,7 +468,7 @@ static void rt_timeout_timer( pj_timer_heap_t *timer_heap, if (rt_test_data[entry->id].tx_timer.user_data == NULL) { pj_time_val delay = { 0, 0 }; - rt_test_data[entry->id].tx_timer.user_data = (void*)1; + rt_test_data[entry->id].tx_timer.user_data = (void*)(pj_ssize_t)1; pjsip_endpt_schedule_timer(endpt, &rt_test_data[entry->id].tx_timer, &delay); } @@ -585,7 +585,8 @@ int transport_rt_test( pjsip_transport_type_e tp_type, } /* Create thread, suspended. */ - status = pj_thread_create(pool, "rttest%p", &rt_worker_thread, (void*)(long)i, 0, + status = pj_thread_create(pool, "rttest%p", &rt_worker_thread, + (void*)(pj_ssize_t)i, 0, PJ_THREAD_SUSPENDED, &rt_test_data[i].thread); if (status != PJ_SUCCESS) { app_perror(" error: unable to create thread", status); @@ -599,7 +600,7 @@ int transport_rt_test( pjsip_transport_type_e tp_type, pj_thread_resume(rt_test_data[i].thread); /* Schedule first message transmissions. */ - rt_test_data[i].tx_timer.user_data = (void*)1; + rt_test_data[i].tx_timer.user_data = (void*)(pj_ssize_t)1; pjsip_endpt_schedule_timer(endpt, &rt_test_data[i].tx_timer, &delay); } diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/transport_udp_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/transport_udp_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/transport_udp_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/transport_udp_test.c diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_basic_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_basic_test.c similarity index 51% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_basic_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_basic_test.c index 20b93a050bfdd79de436577ff0718969ca63f1e7..aaeabcef0a33c6ce3281245eaee4dbd1242e53cb 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_basic_test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_basic_test.c @@ -1,4 +1,4 @@ -/* $Id: tsx_basic_test.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: tsx_basic_test.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -125,7 +125,7 @@ static int double_terminate(void) app_perror(" error: unable to terminate transaction", status); return -40; } - pj_mutex_unlock(tsx->mutex); + pj_grp_lock_release(tsx->grp_lock); } flush_events(500); @@ -155,3 +155,189 @@ int tsx_basic_test(struct tsx_test_param *param) return 0; } + +/**************************************************************************/ + +struct tsx_test_state +{ + pj_size_t pool_cnt; +}; + +static void save_tsx_test_state(struct tsx_test_state *st) +{ + st->pool_cnt = caching_pool.used_count; +} + +static pj_status_t check_tsx_test_state(struct tsx_test_state *st) +{ + if (caching_pool.used_count > st->pool_cnt) + return -1; + + return 0; +} + +static void destroy_endpt() +{ + pjsip_endpt_destroy(endpt); + endpt = NULL; +} + +static pj_status_t init_endpt() +{ + pj_str_t ns = { "10.187.27.172", 13}; /* just a random, unreachable IP */ + pj_dns_resolver *resolver; + pj_status_t rc; + + rc = pjsip_endpt_create(&caching_pool.factory, "endpt", &endpt); + if (rc != PJ_SUCCESS) { + app_perror("pjsip_endpt_create", rc); + return rc; + } + + /* Start transaction layer module. */ + rc = pjsip_tsx_layer_init_module(endpt); + if (rc != PJ_SUCCESS) { + app_perror("tsx_layer_init", rc); + return rc; + } + + rc = pjsip_udp_transport_start(endpt, NULL, NULL, 1, NULL); + if (rc != PJ_SUCCESS) { + app_perror("udp init", rc); + return rc; + } + + rc = pjsip_tcp_transport_start(endpt, NULL, 1, NULL); + if (rc != PJ_SUCCESS) { + app_perror("tcp init", rc); + return rc; + } + + rc = pjsip_endpt_create_resolver(endpt, &resolver); + if (rc != PJ_SUCCESS) { + app_perror("create resolver", rc); + return rc; + } + + pj_dns_resolver_set_ns(resolver, 1, &ns, NULL); + + rc = pjsip_endpt_set_resolver(endpt, resolver); + if (rc != PJ_SUCCESS) { + app_perror("set resolver", rc); + return rc; + } + + return PJ_SUCCESS; +} + +static int tsx_create_and_send_req(void *arg) +{ + pj_str_t dst_uri = pj_str((char*)arg); + pj_str_t from_uri = pj_str((char*)"<sip:user@host>"); + pjsip_tx_data *tdata; + pj_status_t status; + + status = pjsip_endpt_create_request(endpt, &pjsip_options_method, + &dst_uri, &from_uri, &dst_uri, + NULL, NULL, -1, NULL, + &tdata); + if (status != PJ_SUCCESS) + return status; + + status = pjsip_endpt_send_request(endpt, tdata, -1, NULL, NULL); + if (status != PJ_SUCCESS) + return status; + + return PJ_SUCCESS; +} + +int tsx_destroy_test() +{ + struct tsx_test_state state; + struct test_desc + { + const char *title; + int (*func)(void*); + void *arg; + int sleep_before_unload; + int sleep_after_unload; + } test_entries[] = + { + { + "normal unable to resolve", + &tsx_create_and_send_req, + "sip:user@somehost", + 10000, + 1 + }, + { + "resolve and destroy, wait", + &tsx_create_and_send_req, + "sip:user@somehost", + 1, + 10000 + }, + { + "tcp connect and destroy", + &tsx_create_and_send_req, + "sip:user@10.125.36.63:58517;transport=tcp", + 60000, + 1000 + }, + { + "tcp connect and destroy", + &tsx_create_and_send_req, + "sip:user@10.125.36.63:58517;transport=tcp", + 1, + 60000 + }, + + }; + int rc; + unsigned i; + const int INDENT = 2; + + pj_log_add_indent(INDENT); + destroy_endpt(); + + for (i=0; i<PJ_ARRAY_SIZE(test_entries); ++i) { + struct test_desc *td = &test_entries[i]; + + PJ_LOG(3,(THIS_FILE, "%s", td->title)); + + pj_log_add_indent(INDENT); + save_tsx_test_state(&state); + + rc = init_endpt(); + if (rc != PJ_SUCCESS) { + pj_log_add_indent(-INDENT*2); + return -10; + } + + rc = td->func(td->arg); + if (rc != PJ_SUCCESS) { + pj_log_add_indent(-INDENT*2); + return -20; + } + + flush_events(td->sleep_before_unload); + pjsip_tsx_layer_destroy(); + flush_events(td->sleep_after_unload); + destroy_endpt(); + + rc = check_tsx_test_state(&state); + if (rc != PJ_SUCCESS) { + init_endpt(); + pj_log_add_indent(-INDENT*2); + return -30; + } + + pj_log_add_indent(-INDENT); + } + + init_endpt(); + + pj_log_add_indent(-INDENT); + return 0; +} + diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_bench.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_bench.c similarity index 94% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_bench.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_bench.c index 834f4443936309f89d05c53396fa0868304437db..81d543ea7e7727d2993db1103587ed7b8f4e05d8 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_bench.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_bench.c @@ -1,4 +1,4 @@ -/* $Id: tsx_bench.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: tsx_bench.c 4420 2013-03-05 11:59:54Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -79,8 +79,13 @@ static int uac_tsx_bench(unsigned working_set, pj_timestamp *p_elapsed) on_error: for (i=0; i<working_set; ++i) { if (tsx[i]) { + pj_timer_heap_t *th; + pjsip_tsx_terminate(tsx[i], 601); tsx[i] = NULL; + + th = pjsip_endpt_get_timer_heap(endpt); + pj_timer_heap_poll(th, NULL); } } pjsip_tx_data_dec_ref(request); @@ -177,8 +182,14 @@ static int uas_tsx_bench(unsigned working_set, pj_timestamp *p_elapsed) on_error: for (i=0; i<working_set; ++i) { if (tsx[i]) { + pj_timer_heap_t *th; + pjsip_tsx_terminate(tsx[i], 601); tsx[i] = NULL; + + th = pjsip_endpt_get_timer_heap(endpt); + pj_timer_heap_poll(th, NULL); + } } pjsip_tx_data_dec_ref(request); @@ -208,6 +219,8 @@ int tsx_bench(void) for (i=0; i<REPEAT; ++i) { PJ_LOG(3,(THIS_FILE, " test %d of %d..", i+1, REPEAT)); + PJ_LOG(3,(THIS_FILE, " number of current tsx: %d", + pjsip_tsx_layer_get_tsx_count())); status = uac_tsx_bench(WORKING_SET, &usec[i]); if (status != PJ_SUCCESS) return status; @@ -246,6 +259,8 @@ int tsx_bench(void) for (i=0; i<REPEAT; ++i) { PJ_LOG(3,(THIS_FILE, " test %d of %d..", i+1, REPEAT)); + PJ_LOG(3,(THIS_FILE, " number of current tsx: %d", + pjsip_tsx_layer_get_tsx_count())); status = uas_tsx_bench(WORKING_SET, &usec[i]); if (status != PJ_SUCCESS) return status; diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_uac_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_uac_test.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_uac_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_uac_test.c index eec92fcb9a95bfe07766f4521b2fded49ff033fc..6b67d812cf4416ad3d3e5a39c40d95919471a699 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_uac_test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_uac_test.c @@ -1,4 +1,4 @@ -/* $Id: tsx_uac_test.c 4208 2012-07-18 07:52:33Z ming $ */ +/* $Id: tsx_uac_test.c 4420 2013-03-05 11:59:54Z bennylp $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -220,10 +220,13 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) if (tsx->state == PJSIP_TSX_STATE_TERMINATED) { /* Test the status code. */ - if (tsx->status_code != PJSIP_SC_TSX_TRANSPORT_ERROR) { + if (tsx->status_code != PJSIP_SC_TSX_TRANSPORT_ERROR && + tsx->status_code != PJSIP_SC_BAD_GATEWAY) + { PJ_LOG(3,(THIS_FILE, - " error: status code is %d instead of %d", - tsx->status_code, PJSIP_SC_TSX_TRANSPORT_ERROR)); + " error: status code is %d instead of %d or %d", + tsx->status_code, PJSIP_SC_TSX_TRANSPORT_ERROR, + PJSIP_SC_BAD_GATEWAY)); test_complete = -720; } @@ -688,7 +691,7 @@ static pj_bool_t msg_receiver_on_rx_request(pjsip_rx_data *rdata) tsx = pjsip_tsx_layer_find_tsx(&key, PJ_TRUE); if (tsx) { pjsip_tsx_terminate(tsx, PJSIP_SC_REQUEST_TERMINATED); - pj_mutex_unlock(tsx->mutex); + pj_grp_lock_release(tsx->grp_lock); } else { PJ_LOG(3,(THIS_FILE, " error: uac transaction not found!")); test_complete = -633; @@ -1027,7 +1030,7 @@ static int perform_tsx_test(int dummy, char *target_uri, char *from_uri, tsx = pjsip_tsx_layer_find_tsx(&tsx_key, PJ_TRUE); if (tsx) { pjsip_tsx_terminate(tsx, PJSIP_SC_REQUEST_TERMINATED); - pj_mutex_unlock(tsx->mutex); + pj_grp_lock_release(tsx->grp_lock); flush_events(1000); } pjsip_tx_data_dec_ref(tdata); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_uas_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_uas_test.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_uas_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_uas_test.c index 6da1c4cc601b9248e273a4aa42ceb88d426cc82d..2911f2cc05d4f8b6c02b3b44aef2c7791cad8183 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/tsx_uas_test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/tsx_uas_test.c @@ -1,5 +1,5 @@ -/* $Id: tsx_uas_test.c 4208 2012-07-18 07:52:33Z ming $ */ -/* +/* $Id: tsx_uas_test.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "test.h" @@ -30,7 +30,7 @@ ** UAS tests. ** ** This file performs various tests for UAC transactions. Each test will have - ** a different Via branch param so that message receiver module and + ** a different Via branch param so that message receiver module and ** transaction user module can identify which test is being carried out. ** ** TEST1_BRANCH_ID @@ -47,7 +47,7 @@ ** response is sent. ** ** TEST4_BRANCH_ID - ** Transaction retransmits last response (if any) without notifying + ** Transaction retransmits last response (if any) without notifying ** transaction user upon receiving request retransmissions on TRYING ** state ** @@ -66,7 +66,7 @@ ** ** TEST9_BRANCH_ID ** INVITE transaction MUST cease retransmission of final response when - ** ACK is received. (Note: PJSIP also retransmit 2xx final response + ** ACK is received. (Note: PJSIP also retransmit 2xx final response ** until it's terminated by user). ** Transaction also MUST terminate in T4 seconds. ** (Only applicable for non-reliable transports). @@ -116,7 +116,7 @@ #define TEST4_STATUS_CODE 200 #define TEST4_REQUEST_COUNT 2 #define TEST5_PROVISIONAL_CODE 100 -#define TEST5_STATUS_CODE 200 +#define TEST5_STATUS_CODE 200 #define TEST5_REQUEST_COUNT 2 #define TEST5_RESPONSE_COUNT 2 #define TEST6_PROVISIONAL_CODE 100 @@ -146,7 +146,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e); static pj_bool_t on_rx_message(pjsip_rx_data *rdata); /* UAC transaction user module. */ -static pjsip_module tsx_user = +static pjsip_module tsx_user = { NULL, NULL, /* prev and next */ { "Tsx-UAS-User", 12}, /* Name. */ @@ -164,7 +164,7 @@ static pjsip_module tsx_user = }; /* Module to send request. */ -static pjsip_module msg_sender = +static pjsip_module msg_sender = { NULL, NULL, /* prev and next */ { "Msg-Sender", 10}, /* Name. */ @@ -225,12 +225,12 @@ static void send_response_timer( pj_timer_heap_t *timer_heap, if (status != PJ_SUCCESS) { // Some tests do expect failure! //PJ_LOG(3,(THIS_FILE," error: timer unable to send response")); - pj_mutex_unlock(tsx->mutex); + pj_grp_lock_release(tsx->grp_lock); pjsip_tx_data_dec_ref(r->tdata); return; } - pj_mutex_unlock(tsx->mutex); + pj_grp_lock_release(tsx->grp_lock); } /* Utility to send response. */ @@ -241,7 +241,7 @@ static void send_response( pjsip_rx_data *rdata, pj_status_t status; pjsip_tx_data *tdata; - status = pjsip_endpt_create_response( endpt, rdata, status_code, NULL, + status = pjsip_endpt_create_response( endpt, rdata, status_code, NULL, &tdata); if (status != PJ_SUCCESS) { app_perror(" error: unable to create response", status); @@ -271,7 +271,7 @@ static void schedule_send_response( pjsip_rx_data *rdata, struct response *r; pj_time_val delay; - status = pjsip_endpt_create_response( endpt, rdata, status_code, NULL, + status = pjsip_endpt_create_response( endpt, rdata, status_code, NULL, &tdata); if (status != PJ_SUCCESS) { app_perror(" error: unable to create response", status); @@ -313,7 +313,7 @@ static void terminate_our_tsx(int status_code) } pjsip_tsx_terminate(tsx, status_code); - pj_mutex_unlock(tsx->mutex); + pj_grp_lock_release(tsx->grp_lock); } #if 0 /* Unused for now */ @@ -353,7 +353,7 @@ static void schedule_terminate_tsx( pjsip_transaction *tsx, static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) { if (pj_stricmp2(&tsx->branch, TEST1_BRANCH_ID)==0 || - pj_stricmp2(&tsx->branch, TEST2_BRANCH_ID)==0) + pj_stricmp2(&tsx->branch, TEST2_BRANCH_ID)==0) { /* * TEST1_BRANCH_ID tests that non-INVITE transaction transmits final @@ -374,7 +374,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) PJ_LOG(3,(THIS_FILE, " error: incorrect status code")); test_complete = -100; } - + /* Previous state must be completed. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_COMPLETED) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); @@ -405,7 +405,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) PJ_LOG(3,(THIS_FILE, " error: incorrect status code")); test_complete = -110; } - + /* Previous state must be completed. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_COMPLETED) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); @@ -465,20 +465,20 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) /* Check that status code is status_code. */ if (tsx->status_code != TEST4_STATUS_CODE) { - PJ_LOG(3,(THIS_FILE, + PJ_LOG(3,(THIS_FILE, " error: incorrect status code %d " "(expecting %d)", tsx->status_code, TEST4_STATUS_CODE)); test_complete = -120; } - + /* Previous state. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_TRYING) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); test_complete = -121; } - } else if (tsx->state != PJSIP_TSX_STATE_DESTROYED) + } else if (tsx->state != PJSIP_TSX_STATE_DESTROYED) { PJ_LOG(3,(THIS_FILE, " error: unexpected state %s (122)", pjsip_tsx_state_str(tsx->state))); @@ -502,7 +502,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) PJ_LOG(3,(THIS_FILE, " error: incorrect status code")); test_complete = -130; } - + /* Previous state. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_PROCEEDING) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); @@ -537,11 +537,11 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) /* Check that status code is status_code. */ if (tsx->status_code != TEST6_STATUS_CODE) { PJ_LOG(3,(THIS_FILE, " error: incorrect status code %d " - "(expecting %d)", tsx->status_code, + "(expecting %d)", tsx->status_code, TEST6_STATUS_CODE)); test_complete = -140; } - + /* Previous state. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_COMPLETED) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); @@ -550,7 +550,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) } else if (tsx->state != PJSIP_TSX_STATE_PROCEEDING && tsx->state != PJSIP_TSX_STATE_COMPLETED && - tsx->state != PJSIP_TSX_STATE_DESTROYED) + tsx->state != PJSIP_TSX_STATE_DESTROYED) { PJ_LOG(3,(THIS_FILE, " error: unexpected state %s (142)", pjsip_tsx_state_str(tsx->state))); @@ -561,7 +561,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) } else if (pj_stricmp2(&tsx->branch, TEST7_BRANCH_ID)==0 || - pj_stricmp2(&tsx->branch, TEST8_BRANCH_ID)==0) + pj_stricmp2(&tsx->branch, TEST8_BRANCH_ID)==0) { /* * TEST7_BRANCH_ID and TEST8_BRANCH_ID test retransmission of @@ -587,7 +587,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) PJ_LOG(3,(THIS_FILE, " error: incorrect status code")); test_complete = -150; } - + /* Previous state. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_COMPLETED) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); @@ -605,7 +605,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) } else { if (tsx->retransmit_count != 10) { - PJ_LOG(3,(THIS_FILE, + PJ_LOG(3,(THIS_FILE, " error: incorrect retransmit count %d " "(expecting 10)", tsx->retransmit_count)); @@ -621,7 +621,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) PJ_LOG(3,(THIS_FILE, " error: incorrect status code")); test_complete = -152; } - + /* Previous state. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_TRYING) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); @@ -656,7 +656,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) PJ_LOG(3,(THIS_FILE, " error: incorrect status code")); test_complete = -160; } - + /* Previous state. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_CONFIRMED) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); @@ -670,7 +670,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) PJ_LOG(3,(THIS_FILE, " error: incorrect status code")); test_complete = -162; } - + /* Previous state. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_TRYING) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); @@ -685,7 +685,7 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) PJ_LOG(3,(THIS_FILE, " error: incorrect status code")); test_complete = -164; } - + /* Previous state. */ if (e->body.tsx_state.prev_state != PJSIP_TSX_STATE_COMPLETED) { PJ_LOG(3,(THIS_FILE, " error: incorrect prev_state")); @@ -703,10 +703,10 @@ static void tsx_user_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) } else if (pj_stricmp2(&tsx->branch, TEST10_BRANCH_ID)==0 || pj_stricmp2(&tsx->branch, TEST11_BRANCH_ID)==0 || - pj_stricmp2(&tsx->branch, TEST12_BRANCH_ID)==0) + pj_stricmp2(&tsx->branch, TEST12_BRANCH_ID)==0) { if (tsx->state == PJSIP_TSX_STATE_TERMINATED) { - + if (!test_complete) test_complete = 1; @@ -740,11 +740,11 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) pj_status_t status; if (pj_stricmp2(&branch_param, TEST1_BRANCH_ID) == 0 || - pj_stricmp2(&branch_param, TEST2_BRANCH_ID) == 0) + pj_stricmp2(&branch_param, TEST2_BRANCH_ID) == 0) { /* - * TEST1_BRANCH_ID tests that non-INVITE transaction transmits 2xx - * final response using correct transport and terminates transaction + * TEST1_BRANCH_ID tests that non-INVITE transaction transmits 2xx + * final response using correct transport and terminates transaction * after 32 seconds. * * TEST2_BRANCH_ID performs similar test for non-2xx final response. @@ -753,8 +753,8 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) TEST1_STATUS_CODE : TEST2_STATUS_CODE; if (msg->type == PJSIP_REQUEST_MSG) { - /* On received request, create UAS and respond with final - * response. + /* On received request, create UAS and respond with final + * response. */ pjsip_transaction *tsx; @@ -810,7 +810,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) save_key(tsx); send_response(rdata, tsx, TEST3_PROVISIONAL_CODE); - schedule_send_response(rdata, &tsx->transaction_key, + schedule_send_response(rdata, &tsx->transaction_key, TEST3_STATUS_CODE, 2000); } else { @@ -840,7 +840,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) } else if (pj_stricmp2(&branch_param, TEST4_BRANCH_ID) == 0 || pj_stricmp2(&branch_param, TEST5_BRANCH_ID) == 0 || - pj_stricmp2(&branch_param, TEST6_BRANCH_ID) == 0) + pj_stricmp2(&branch_param, TEST6_BRANCH_ID) == 0) { /* TEST4_BRANCH_ID: absorbs retransmissions in TRYING state. */ @@ -877,7 +877,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) } else { /* Verify the response received. */ - + PJ_LOG(4,(THIS_FILE, " received response number %d", recv_count)); ++recv_count; @@ -892,7 +892,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) PJ_LOG(3,(THIS_FILE, " error: incorrect status code!")); test_complete = -133; - } + } if (recv_count > TEST5_RESPONSE_COUNT) { PJ_LOG(3,(THIS_FILE, " error: not expecting response!")); test_complete = -134; @@ -928,7 +928,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) } else if (pj_stricmp2(&branch_param, TEST7_BRANCH_ID) == 0 || - pj_stricmp2(&branch_param, TEST8_BRANCH_ID) == 0) + pj_stricmp2(&branch_param, TEST8_BRANCH_ID) == 0) { /* @@ -971,7 +971,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) code = TEST8_STATUS_CODE; if (recv_count==1) { - + if (rdata->msg_info.msg->line.status.code != code) { PJ_LOG(3,(THIS_FILE," error: invalid status code")); test_complete = -141; @@ -987,7 +987,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) now = rdata->pkt_info.timestamp; PJ_TIME_VAL_SUB(now, recv_last); - + msec = now.sec*1000 + now.msec; msec_expected = (1 << (recv_count-2)) * pjsip_cfg()->tsx.t1; if (msec_expected > pjsip_cfg()->tsx.t2) @@ -1016,7 +1016,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) } else if (pj_stricmp2(&branch_param, TEST9_BRANCH_ID) == 0) { /* - * TEST9_BRANCH_ID tests that the retransmission of INVITE final + * TEST9_BRANCH_ID tests that the retransmission of INVITE final * response should cease when ACK is received. Transaction also MUST * terminate in T4 seconds. */ @@ -1059,7 +1059,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) now = rdata->pkt_info.timestamp; PJ_TIME_VAL_SUB(now, recv_last); - + msec = now.sec*1000 + now.msec; msec_expected = (1 << (recv_count-2)) * pjsip_cfg()->tsx.t1; if (msec_expected > pjsip_cfg()->tsx.t2) @@ -1081,11 +1081,11 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) pjsip_via_hdr *via; status = pjsip_endpt_create_request_from_hdr( - endpt, &pjsip_ack_method, + endpt, &pjsip_ack_method, rdata->msg_info.to->uri, rdata->msg_info.from, rdata->msg_info.to, - NULL, + NULL, rdata->msg_info.cid, rdata->msg_info.cseq->cseq, NULL, @@ -1120,7 +1120,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) } else if (pj_stricmp2(&branch_param, TEST10_BRANCH_ID) == 0 || pj_stricmp2(&branch_param, TEST11_BRANCH_ID) == 0 || - pj_stricmp2(&branch_param, TEST12_BRANCH_ID) == 0) + pj_stricmp2(&branch_param, TEST12_BRANCH_ID) == 0) { int test_num, code1, code2; @@ -1131,6 +1131,8 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) else test_num=12, code1 = 200, code2 = 0; + PJ_UNUSED_ARG(test_num); + if (rdata->msg_info.msg->type == PJSIP_REQUEST_MSG) { /* On received response, create UAS. */ @@ -1145,7 +1147,7 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) pjsip_tsx_recv_msg(tsx, rdata); save_key(tsx); - + schedule_send_response(rdata, &tsx_key, code1, 1000); if (code2) @@ -1161,11 +1163,11 @@ static pj_bool_t on_rx_message(pjsip_rx_data *rdata) return PJ_FALSE; } -/* - * The generic test framework, used by most of the tests. +/* + * The generic test framework, used by most of the tests. */ -static int perform_test( char *target_uri, char *from_uri, - char *branch_param, int test_time, +static int perform_test( char *target_uri, char *from_uri, + char *branch_param, int test_time, const pjsip_method *method, int request_cnt, int request_interval_msec, int expecting_timeout) @@ -1177,7 +1179,7 @@ static int perform_test( char *target_uri, char *from_uri, int sent_cnt; pj_status_t status; - PJ_LOG(3,(THIS_FILE, + PJ_LOG(3,(THIS_FILE, " please standby, this will take at most %d seconds..", test_time)); @@ -1192,7 +1194,7 @@ static int perform_test( char *target_uri, char *from_uri, /* Create request. */ status = pjsip_endpt_create_request( endpt, method, &target, - &from, &target, NULL, NULL, -1, + &from, &target, NULL, NULL, -1, NULL, &tdata); if (status != PJ_SUCCESS) { app_perror(" Error: unable to create request", status); @@ -1259,7 +1261,7 @@ static int perform_test( char *target_uri, char *from_uri, tsx = pjsip_tsx_layer_find_tsx(&tsx_key, PJ_TRUE); if (tsx) { pjsip_tsx_terminate(tsx, PJSIP_SC_REQUEST_TERMINATED); - pj_mutex_unlock(tsx->mutex); + pj_grp_lock_release(tsx->grp_lock); flush_events(1000); } pjsip_tx_data_dec_ref(tdata); @@ -1368,7 +1370,7 @@ static int tsx_retransmit_last_response_test(const char *title, PJ_LOG(3,(THIS_FILE," %s", title)); status = perform_test(TARGET_URI, FROM_URI, branch_id, 5, - &pjsip_options_method, + &pjsip_options_method, request_cnt, 1000, 1); if (status && status != TEST_TIMEOUT_ERROR) return status; @@ -1422,7 +1424,7 @@ static int tsx_final_response_retransmission_test(void) /***************************************************************************** ** - ** TEST9_BRANCH_ID: retransmission of non-2xx INVITE final response must + ** TEST9_BRANCH_ID: retransmission of non-2xx INVITE final response must ** cease when ACK is received ** ***************************************************************************** @@ -1463,7 +1465,7 @@ static int tsx_transport_failure_test(void) int fail_delay; char *branch_id; char *title; - } tests[] = + } tests[] = { { 0, 10, TEST10_BRANCH_ID, "test10: failed transport in TRYING state (no delay)" }, { 50, 10, TEST10_BRANCH_ID, "test10: failed transport in TRYING state (50 ms delay)" }, @@ -1537,13 +1539,13 @@ int tsx_uas_test(struct tsx_test_param *param) test_param = param; tp_flag = pjsip_transport_get_flag_from_type((pjsip_transport_type_e)param->type); - pj_ansi_sprintf(TARGET_URI, "sip:bob@127.0.0.1:%d;transport=%s", + pj_ansi_sprintf(TARGET_URI, "sip:bob@127.0.0.1:%d;transport=%s", param->port, param->tp_type); - pj_ansi_sprintf(FROM_URI, "sip:alice@127.0.0.1:%d;transport=%s", + pj_ansi_sprintf(FROM_URI, "sip:alice@127.0.0.1:%d;transport=%s", param->port, param->tp_type); /* Check if loop transport is configured. */ - status = pjsip_endpt_acquire_transport(endpt, PJSIP_TRANSPORT_LOOP_DGRAM, + status = pjsip_endpt_acquire_transport(endpt, PJSIP_TRANSPORT_LOOP_DGRAM, &addr, sizeof(addr), NULL, &loop); if (status != PJ_SUCCESS) { PJ_LOG(3,(THIS_FILE, " Error: loop transport is not configured!")); @@ -1561,8 +1563,8 @@ int tsx_uas_test(struct tsx_test_param *param) return -4; } - /* TEST1_BRANCH_ID: Basic 2xx final response. - * TEST2_BRANCH_ID: Basic non-2xx final response. + /* TEST1_BRANCH_ID: Basic 2xx final response. + * TEST2_BRANCH_ID: Basic non-2xx final response. */ status = tsx_basic_final_response_test(); if (status != 0) @@ -1577,7 +1579,7 @@ int tsx_uas_test(struct tsx_test_param *param) /* TEST4_BRANCH_ID: absorbs retransmissions in TRYING state */ status = tsx_retransmit_last_response_test(TEST4_TITLE, - TEST4_BRANCH_ID, + TEST4_BRANCH_ID, TEST4_REQUEST_COUNT, TEST4_STATUS_CODE); if (status != 0) @@ -1586,7 +1588,7 @@ int tsx_uas_test(struct tsx_test_param *param) /* TEST5_BRANCH_ID: retransmit last response in PROCEEDING state */ status = tsx_retransmit_last_response_test(TEST5_TITLE, - TEST5_BRANCH_ID, + TEST5_BRANCH_ID, TEST5_REQUEST_COUNT, TEST5_STATUS_CODE); if (status != 0) @@ -1599,7 +1601,7 @@ int tsx_uas_test(struct tsx_test_param *param) */ if ((tp_flag & PJSIP_TRANSPORT_RELIABLE) == 0) { status = tsx_retransmit_last_response_test(TEST6_TITLE, - TEST6_BRANCH_ID, + TEST6_BRANCH_ID, TEST6_REQUEST_COUNT, TEST6_STATUS_CODE); if (status != 0) @@ -1613,7 +1615,7 @@ int tsx_uas_test(struct tsx_test_param *param) if (status != 0) return status; - /* TEST9_BRANCH_ID: retransmission of non-2xx INVITE final response must + /* TEST9_BRANCH_ID: retransmission of non-2xx INVITE final response must * cease when ACK is received * Only applicable for non-reliable transports. */ diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/txdata_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/txdata_test.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/txdata_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/txdata_test.c index fd111e2f7ca1b7a289073765a08acd57ada70dc3..330e49b9f1be2822d66f9df77524e042b579eb5f 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/txdata_test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/txdata_test.c @@ -1,4 +1,4 @@ -/* $Id: txdata_test.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* $Id: txdata_test.c 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> @@ -431,7 +431,7 @@ static int txdata_test_uri_params(void) pjsip_via_hdr *via; pjsip_parser_err_report err_list; pjsip_msg *msg; - int len; + pj_ssize_t len; pj_status_t status; PJ_LOG(3,(THIS_FILE, " header param in URI to create request")); diff --git a/daemon/libs/pjproject-2.1.0/pjsip/src/test/uri_test.c b/daemon/libs/pjproject-2.2.1/pjsip/src/test/uri_test.c similarity index 95% rename from daemon/libs/pjproject-2.1.0/pjsip/src/test/uri_test.c rename to daemon/libs/pjproject-2.2.1/pjsip/src/test/uri_test.c index c8b0b3edcce86bf9ba27da29c9336bc200a0954e..62bf8f6d5c997ec810186d7501b557cbd1bcb4af 100644 --- a/daemon/libs/pjproject-2.1.0/pjsip/src/test/uri_test.c +++ b/daemon/libs/pjproject-2.2.1/pjsip/src/test/uri_test.c @@ -1,5 +1,5 @@ -/* $Id: uri_test.c 4210 2012-07-19 01:00:07Z ming $ */ -/* +/* $Id: uri_test.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> * @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "test.h" #include <pjsip.h> @@ -67,7 +67,6 @@ static pjsip_uri *create_uri14( pj_pool_t *pool ); static pjsip_uri *create_uri15( pj_pool_t *pool ); static pjsip_uri *create_uri16( pj_pool_t *pool ); static pjsip_uri *create_uri17( pj_pool_t *pool ); -static pjsip_uri *create_uri18( pj_pool_t *pool ); static pjsip_uri *create_uri25( pj_pool_t *pool ); static pjsip_uri *create_uri26( pj_pool_t *pool ); static pjsip_uri *create_uri27( pj_pool_t *pool ); @@ -83,6 +82,7 @@ static pjsip_uri *create_uri36( pj_pool_t *pool ); static pjsip_uri *create_uri37( pj_pool_t *pool ); static pjsip_uri *create_uri38( pj_pool_t *pool ); static pjsip_uri *create_uri39( pj_pool_t *pool ); +static pjsip_uri *create_uri40( pj_pool_t *pool ); static pjsip_uri *create_dummy( pj_pool_t *pool ); #define ERR_NOT_EQUAL -1001 @@ -95,7 +95,7 @@ struct uri_test pjsip_uri *(*creator)(pj_pool_t *pool); const char *printed; pj_size_t len; -} uri_test_array[] = +} uri_test_array[] = { { PJ_SUCCESS, @@ -182,7 +182,7 @@ struct uri_test }, { /* Excercise strange character sets allowed in display, user, password, - * host, and port. + * host, and port. */ PJ_SUCCESS, "This is -. !% *_+`'~ me <sip:a19A&=+$,;?/%2c:%40a&Zz=+$,@" @@ -196,7 +196,7 @@ struct uri_test &create_uri15, }, { - /* Another excercise to the allowed character sets to the username + /* Another excercise to the allowed character sets to the username * and password. */ PJ_SUCCESS, @@ -357,6 +357,12 @@ struct uri_test PJ_SUCCESS, "\"User\\\\\" <sip:localhost>", &create_uri39, + }, + { + /* Quoted display name. */ + PJ_SUCCESS, + "\"\\\"User\\\"\" <sip:localhost>", + &create_uri40, } }; @@ -431,7 +437,7 @@ static pjsip_uri *create_uri4(pj_pool_t *pool) static pjsip_uri *create_uri5(pj_pool_t *pool) { /* "sip:localhost;pickup=hurry;user=phone;message=I%20am%20sorry" - "?Subject=Hello%20There&Server=SIP%20Server" + "?Subject=Hello%20There&Server=SIP%20Server" */ pjsip_sip_uri *url = pjsip_sip_uri_create(pool, 0); @@ -651,7 +657,7 @@ static pjsip_uri *create_uri29(pj_pool_t *pool) pjsip_tel_uri *uri = pjsip_tel_uri_create(pool); uri->number = pj_str("(44).1234-*#+Deaf"); - return (pjsip_uri*)uri; + return (pjsip_uri*)uri; } /* "tel:+1;isub=/:@&$,-_.!~*'()[]/:&$aA1%21+=" */ @@ -661,7 +667,7 @@ static pjsip_uri *create_uri30(pj_pool_t *pool) uri->number = pj_str("+1"); uri->isub_param = pj_str("/:@&$,-_.!~*'()[]/:&$aA1!+="); - return (pjsip_uri*)uri; + return (pjsip_uri*)uri; } /* "tel:+1;ext=+123" */ @@ -671,7 +677,7 @@ static pjsip_uri *create_uri31(pj_pool_t *pool) uri->number = pj_str("+1"); uri->ext_param = pj_str("+123"); - return (pjsip_uri*)uri; + return (pjsip_uri*)uri; } /* "tel:911;phone-context=+1-911" */ @@ -681,7 +687,7 @@ static pjsip_uri *create_uri32(pj_pool_t *pool) uri->number = pj_str("911"); uri->context = pj_str("+1-911"); - return (pjsip_uri*)uri; + return (pjsip_uri*)uri; } /* "tel:911;phone-context=emergency.example.com" */ @@ -691,7 +697,7 @@ static pjsip_uri *create_uri33(pj_pool_t *pool) uri->number = pj_str("911"); uri->context = pj_str("EMERGENCY.EXAMPLE.COM"); - return (pjsip_uri*)uri; + return (pjsip_uri*)uri; } /* "tel:911;p1=p1;p2=p2" */ @@ -701,12 +707,12 @@ static pjsip_uri *create_uri34(pj_pool_t *pool) pjsip_param *p; uri->number = pj_str("911"); - + p = PJ_POOL_ALLOC_T(pool, pjsip_param); p->name = p->value = pj_str("p1"); pj_list_insert_before(&uri->other_param, p); - return (pjsip_uri*)uri; + return (pjsip_uri*)uri; } /* "sip:user@[::1];maddr=[::01]" */ @@ -742,7 +748,7 @@ static pjsip_uri *create_uri37( pj_pool_t *pool ) url = pjsip_sip_uri_create(pool, 0); url->host = pj_str("localhost"); - + name->uri = (pjsip_uri*)url; return (pjsip_uri*)name; @@ -760,7 +766,7 @@ static pjsip_uri *create_uri38( pj_pool_t *pool ) url = pjsip_sip_uri_create(pool, 0); url->host = pj_str("localhost"); - + name->uri = (pjsip_uri*)url; return (pjsip_uri*)name; @@ -781,6 +787,20 @@ static pjsip_uri *create_uri39(pj_pool_t *pool) return (pjsip_uri*)name_addr; } +/* "\"\\\"User\\\"\" <sip:localhost>" */ +static pjsip_uri *create_uri40(pj_pool_t *pool) +{ + pjsip_name_addr *name_addr = pjsip_name_addr_create(pool); + pjsip_sip_uri *url; + + url = pjsip_sip_uri_create(pool, 0); + name_addr->uri = (pjsip_uri*) url; + + pj_strdup2(pool, &name_addr->display, "\\\"User\\\""); + pj_strdup2(pool, &url->host, "localhost"); + return (pjsip_uri*)name_addr; +} + static pjsip_uri *create_dummy(pj_pool_t *pool) { PJ_UNUSED_ARG(pool); @@ -978,8 +998,8 @@ static int uri_benchmark(unsigned *p_parse, unsigned *p_print, unsigned *p_cmp) avg_parse = 1; avg_parse = 1000000 / avg_parse; - PJ_LOG(3,(THIS_FILE, - " %u.%u MB of urls parsed in %d.%03ds (avg=%d urls/sec)", + PJ_LOG(3,(THIS_FILE, + " %u.%u MB of urls parsed in %d.%03ds (avg=%d urls/sec)", (unsigned)(var.parse_len/1000000), (unsigned)kbytes, elapsed.sec, elapsed.msec, (unsigned)avg_parse)); @@ -997,8 +1017,8 @@ static int uri_benchmark(unsigned *p_parse, unsigned *p_print, unsigned *p_cmp) avg_print = 1; avg_print = 1000000 / avg_print; - PJ_LOG(3,(THIS_FILE, - " %u.%u MB of urls printed in %d.%03ds (avg=%d urls/sec)", + PJ_LOG(3,(THIS_FILE, + " %u.%u MB of urls printed in %d.%03ds (avg=%d urls/sec)", (unsigned)(var.print_len/1000000), (unsigned)kbytes, elapsed.sec, elapsed.msec, (unsigned)avg_print)); @@ -1016,8 +1036,8 @@ static int uri_benchmark(unsigned *p_parse, unsigned *p_print, unsigned *p_cmp) avg_cmp = 1; avg_cmp = 1000000 / avg_cmp; - PJ_LOG(3,(THIS_FILE, - " %u.%u MB of urls compared in %d.%03ds (avg=%d urls/sec)", + PJ_LOG(3,(THIS_FILE, + " %u.%u MB of urls compared in %d.%03ds (avg=%d urls/sec)", (unsigned)(var.cmp_len/1000000), (unsigned)kbytes, elapsed.sec, elapsed.msec, (unsigned)avg_cmp)); @@ -1039,7 +1059,8 @@ int uri_test(void) unsigned print; unsigned cmp; } run[COUNT]; - unsigned i, max, avg_len; + unsigned i, max; + pj_ssize_t avg_len; char desc[200]; pj_status_t status; @@ -1062,8 +1083,8 @@ int uri_test(void) avg_len /= PJ_ARRAY_SIZE(uri_test_array); - /* - * Print maximum parse/sec + /* + * Print maximum parse/sec */ for (i=0, max=0; i<COUNT; ++i) if (run[i].parse > max) max = run[i].parse; @@ -1074,12 +1095,12 @@ int uri_test(void) "<tt>pjsip_parse_uri()</tt> per second " "(tested with %d URI set, with average length of " "%d chars)", - (int)PJ_ARRAY_SIZE(uri_test_array), avg_len); + (int)PJ_ARRAY_SIZE(uri_test_array), (int)avg_len); report_ival("uri-parse-per-sec", max, "URI/sec", desc); /* URI parsing bandwidth */ - report_ival("uri-parse-bandwidth-mb", avg_len*max/1000000, "MB/sec", + report_ival("uri-parse-bandwidth-mb", (int)avg_len*max/1000000, "MB/sec", "URI parsing bandwidth in megabytes (number of megabytes " "worth of URI that can be parsed per second)"); @@ -1094,7 +1115,7 @@ int uri_test(void) "<tt>pjsip_uri_print()</tt> per second " "(tested with %d URI set, with average length of " "%d chars)", - (int)PJ_ARRAY_SIZE(uri_test_array), avg_len); + (int)PJ_ARRAY_SIZE(uri_test_array), (int)avg_len); report_ival("uri-print-per-sec", max, "URI/sec", desc); @@ -1108,7 +1129,7 @@ int uri_test(void) "<tt>pjsip_uri_cmp()</tt> per second " "(tested with %d URI set, with average length of " "%d chars)", - (int)PJ_ARRAY_SIZE(uri_test_array), avg_len); + (int)PJ_ARRAY_SIZE(uri_test_array), (int)avg_len); report_ival("uri-cmp-per-sec", max, "URI/sec", desc); diff --git a/daemon/libs/pjproject-2.1.0/pkgconfig.py b/daemon/libs/pjproject-2.2.1/pkgconfig.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/pkgconfig.py rename to daemon/libs/pjproject-2.2.1/pkgconfig.py diff --git a/daemon/libs/pjproject-2.1.0/self-test.mak b/daemon/libs/pjproject-2.2.1/self-test.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/self-test.mak rename to daemon/libs/pjproject-2.2.1/self-test.mak diff --git a/daemon/libs/pjproject-2.1.0/svn_add b/daemon/libs/pjproject-2.2.1/svn_add similarity index 100% rename from daemon/libs/pjproject-2.1.0/svn_add rename to daemon/libs/pjproject-2.2.1/svn_add diff --git a/daemon/libs/pjproject-2.1.0/svn_add.bat b/daemon/libs/pjproject-2.2.1/svn_add.bat similarity index 100% rename from daemon/libs/pjproject-2.1.0/svn_add.bat rename to daemon/libs/pjproject-2.2.1/svn_add.bat diff --git a/daemon/libs/pjproject-2.1.0/svn_pset b/daemon/libs/pjproject-2.2.1/svn_pset similarity index 100% rename from daemon/libs/pjproject-2.1.0/svn_pset rename to daemon/libs/pjproject-2.2.1/svn_pset diff --git a/daemon/libs/pjproject-2.1.0/svn_pset.bat b/daemon/libs/pjproject-2.2.1/svn_pset.bat similarity index 100% rename from daemon/libs/pjproject-2.1.0/svn_pset.bat rename to daemon/libs/pjproject-2.2.1/svn_pset.bat diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/README.txt b/daemon/libs/pjproject-2.2.1/tests/automated/README.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/README.txt rename to daemon/libs/pjproject-2.2.1/tests/automated/README.txt diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/configure.py b/daemon/libs/pjproject-2.2.1/tests/automated/configure.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/configure.py rename to daemon/libs/pjproject-2.2.1/tests/automated/configure.py diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/gnu-ipp.xml.template b/daemon/libs/pjproject-2.2.1/tests/automated/gnu-ipp.xml.template similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/gnu-ipp.xml.template rename to daemon/libs/pjproject-2.2.1/tests/automated/gnu-ipp.xml.template diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/gnu.xml.template b/daemon/libs/pjproject-2.2.1/tests/automated/gnu.xml.template similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/gnu.xml.template rename to daemon/libs/pjproject-2.2.1/tests/automated/gnu.xml.template diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/iphone.xml.template b/daemon/libs/pjproject-2.2.1/tests/automated/iphone.xml.template similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/iphone.xml.template rename to daemon/libs/pjproject-2.2.1/tests/automated/iphone.xml.template diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/msvc.xml.template b/daemon/libs/pjproject-2.2.1/tests/automated/msvc.xml.template similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/msvc.xml.template rename to daemon/libs/pjproject-2.2.1/tests/automated/msvc.xml.template diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/prepare.xml.template b/daemon/libs/pjproject-2.2.1/tests/automated/prepare.xml.template similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/prepare.xml.template rename to daemon/libs/pjproject-2.2.1/tests/automated/prepare.xml.template diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/run_continuous.py b/daemon/libs/pjproject-2.2.1/tests/automated/run_continuous.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/run_continuous.py rename to daemon/libs/pjproject-2.2.1/tests/automated/run_continuous.py diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/run_scenario.py b/daemon/libs/pjproject-2.2.1/tests/automated/run_scenario.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/run_scenario.py rename to daemon/libs/pjproject-2.2.1/tests/automated/run_scenario.py diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/symbian-aps.xml.template b/daemon/libs/pjproject-2.2.1/tests/automated/symbian-aps.xml.template similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/symbian-aps.xml.template rename to daemon/libs/pjproject-2.2.1/tests/automated/symbian-aps.xml.template diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/symbian-vas.xml.template b/daemon/libs/pjproject-2.2.1/tests/automated/symbian-vas.xml.template similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/symbian-vas.xml.template rename to daemon/libs/pjproject-2.2.1/tests/automated/symbian-vas.xml.template diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/symbian.xml.template b/daemon/libs/pjproject-2.2.1/tests/automated/symbian.xml.template similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/symbian.xml.template rename to daemon/libs/pjproject-2.2.1/tests/automated/symbian.xml.template diff --git a/daemon/libs/pjproject-2.1.0/tests/automated/testvars.template b/daemon/libs/pjproject-2.2.1/tests/automated/testvars.template similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/automated/testvars.template rename to daemon/libs/pjproject-2.2.1/tests/automated/testvars.template diff --git a/daemon/libs/pjproject-2.1.0/tests/cdash/README.TXT b/daemon/libs/pjproject-2.2.1/tests/cdash/README.TXT similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/cdash/README.TXT rename to daemon/libs/pjproject-2.2.1/tests/cdash/README.TXT diff --git a/daemon/libs/pjproject-2.1.0/tests/cdash/builder.py b/daemon/libs/pjproject-2.2.1/tests/cdash/builder.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/cdash/builder.py rename to daemon/libs/pjproject-2.2.1/tests/cdash/builder.py diff --git a/daemon/libs/pjproject-2.1.0/tests/cdash/cfg_gnu.py b/daemon/libs/pjproject-2.2.1/tests/cdash/cfg_gnu.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/cdash/cfg_gnu.py rename to daemon/libs/pjproject-2.2.1/tests/cdash/cfg_gnu.py diff --git a/daemon/libs/pjproject-2.1.0/tests/cdash/cfg_msvc.py b/daemon/libs/pjproject-2.2.1/tests/cdash/cfg_msvc.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/cdash/cfg_msvc.py rename to daemon/libs/pjproject-2.2.1/tests/cdash/cfg_msvc.py diff --git a/daemon/libs/pjproject-2.1.0/tests/cdash/cfg_site_sample.py b/daemon/libs/pjproject-2.2.1/tests/cdash/cfg_site_sample.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/cdash/cfg_site_sample.py rename to daemon/libs/pjproject-2.2.1/tests/cdash/cfg_site_sample.py diff --git a/daemon/libs/pjproject-2.1.0/tests/cdash/cfg_symbian.py b/daemon/libs/pjproject-2.2.1/tests/cdash/cfg_symbian.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/cdash/cfg_symbian.py rename to daemon/libs/pjproject-2.2.1/tests/cdash/cfg_symbian.py diff --git a/daemon/libs/pjproject-2.1.0/tests/cdash/inc_test.py b/daemon/libs/pjproject-2.2.1/tests/cdash/inc_test.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/cdash/inc_test.py rename to daemon/libs/pjproject-2.2.1/tests/cdash/inc_test.py diff --git a/daemon/libs/pjproject-2.1.0/tests/cdash/main.py b/daemon/libs/pjproject-2.2.1/tests/cdash/main.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/cdash/main.py rename to daemon/libs/pjproject-2.2.1/tests/cdash/main.py diff --git a/daemon/libs/pjproject-2.1.0/tests/cdash/starttest_sample.bat b/daemon/libs/pjproject-2.2.1/tests/cdash/starttest_sample.bat similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/cdash/starttest_sample.bat rename to daemon/libs/pjproject-2.2.1/tests/cdash/starttest_sample.bat diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/README.TXT b/daemon/libs/pjproject-2.2.1/tests/pjsua/README.TXT similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/README.TXT rename to daemon/libs/pjproject-2.2.1/tests/pjsua/README.TXT diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/config_site.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/config_site.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/config_site.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/config_site.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/inc_cfg.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/inc_cfg.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/inc_cfg.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/inc_cfg.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/inc_const.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/inc_const.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/inc_const.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/inc_const.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/inc_sdp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/inc_sdp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/inc_sdp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/inc_sdp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/inc_sip.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/inc_sip.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/inc_sip.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/inc_sip.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/mod_call.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/mod_call.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/mod_call.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/mod_call.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/mod_media_playrec.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/mod_media_playrec.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/mod_media_playrec.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/mod_media_playrec.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/mod_pesq.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/mod_pesq.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/mod_pesq.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/mod_pesq.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/mod_pres.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/mod_pres.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/mod_pres.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/mod_pres.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/mod_recvfrom.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/mod_recvfrom.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/mod_recvfrom.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/mod_recvfrom.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/mod_run.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/mod_run.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/mod_run.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/mod_run.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/mod_sendto.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/mod_sendto.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/mod_sendto.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/mod_sendto.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/mod_sipp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/mod_sipp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/mod_sipp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/mod_sipp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/run.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/run.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/run.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/run.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/runall.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/runall.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/runall.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/runall.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/100_simplecall.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/100_simplecall.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/100_simplecall.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/100_simplecall.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_0_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_0_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_0_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_0_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_0_3.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_0_3.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_0_3.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_0_3.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_1_0.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_1_0.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_1_0.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_1_0.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_1_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_1_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_1_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_1_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_1_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_1_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_1_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_1_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_1_3.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_1_3.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_1_3.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_1_3.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_2_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_2_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_2_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_2_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_2_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_2_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_2_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_2_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_2_3.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_2_3.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_2_3.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_2_3.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_3_0.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_3_0.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_3_0.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_3_0.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_3_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_3_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_3_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_3_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_3_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_3_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_3_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_3_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_3_3.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_3_3.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/150_srtp_3_3.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/150_srtp_3_3.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/200_tcp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/200_tcp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/200_tcp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/200_tcp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/300_ice_0_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/300_ice_0_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/300_ice_0_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/300_ice_0_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/300_ice_1_0.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/300_ice_1_0.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/300_ice_1_0.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/300_ice_1_0.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/300_ice_1_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/300_ice_1_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/300_ice_1_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/300_ice_1_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/301_ice_public_a.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/301_ice_public_a.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/301_ice_public_a.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/301_ice_public_a.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/301_ice_public_b.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/301_ice_public_b.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/301_ice_public_b.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/301_ice_public_b.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/305_ice_comp_1_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/305_ice_comp_1_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/305_ice_comp_1_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/305_ice_comp_1_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/305_ice_comp_2_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/305_ice_comp_2_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/305_ice_comp_2_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/305_ice_comp_2_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/350_prack_a.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/350_prack_a.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/350_prack_a.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/350_prack_a.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/350_prack_b.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/350_prack_b.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/350_prack_b.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/350_prack_b.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/400_tel_uri.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/400_tel_uri.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-call/400_tel_uri.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-call/400_tel_uri.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_16.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_16.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_16.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_16.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_22.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_22.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_22.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_22.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_32.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_32.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_32.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_32.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_44.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_44.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_44.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_44.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_48.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_48.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_48.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_48.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_8.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_8.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_11_8.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_11_8.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_11.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_11.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_11.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_11.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_16.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_16.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_16.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_16.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_22.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_22.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_22.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_22.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_32.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_32.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_32.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_32.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_44.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_44.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_44.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_44.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_48.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_48.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-media-playrec/100_resample_lf_8_48.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-media-playrec/100_resample_lf_8_48.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/100_defaults.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/100_defaults.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/100_defaults.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/100_defaults.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/101_defaults.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/101_defaults.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/101_defaults.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/101_defaults.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_g711a.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_g711a.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_g711a.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_g711a.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_g711u.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_g711u.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_g711u.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_g711u.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_g722.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_g722.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_g722.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_g722.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_gsm.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_gsm.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_gsm.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_gsm.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_ilbc.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_ilbc.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_ilbc.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_ilbc.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_l16_16000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_l16_16000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_l16_16000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_l16_16000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_l16_16000_stereo.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_l16_16000_stereo.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_l16_16000_stereo.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_l16_16000_stereo.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_l16_8000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_l16_8000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_l16_8000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_l16_8000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_l16_8000_stereo.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_l16_8000_stereo.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_l16_8000_stereo.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_l16_8000_stereo.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_speex_16000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_speex_16000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_speex_16000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_speex_16000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_speex_8000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_speex_8000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/200_codec_speex_8000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/200_codec_speex_8000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_g711a.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_g711a.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_g711a.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_g711a.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_g711u.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_g711u.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_g711u.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_g711u.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_g722.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_g722.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_g722.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_g722.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_gsm.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_gsm.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_gsm.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_gsm.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_ilbc.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_ilbc.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_ilbc.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_ilbc.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_l16_16000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_l16_16000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_l16_16000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_l16_16000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_l16_16000_stereo.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_l16_16000_stereo.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_l16_16000_stereo.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_l16_16000_stereo.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_l16_8000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_l16_8000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_l16_8000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_l16_8000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_l16_8000_stereo.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_l16_8000_stereo.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_l16_8000_stereo.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_l16_8000_stereo.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_speex_16000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_speex_16000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_speex_16000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_speex_16000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_speex_8000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_speex_8000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pesq/201_codec_speex_8000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pesq/201_codec_speex_8000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pres/100_peertopeer.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pres/100_peertopeer.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pres/100_peertopeer.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pres/100_peertopeer.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pres/200_publish.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pres/200_publish.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-pres/200_publish.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-pres/200_publish.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/100_simple.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/100_simple.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/100_simple.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/100_simple.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/200_reg_good_enocredentiall.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/200_reg_good_enocredentiall.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/200_reg_good_enocredentiall.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/200_reg_good_enocredentiall.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/201_reg_good_ok.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/201_reg_good_ok.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/201_reg_good_ok.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/201_reg_good_ok.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/202_reg_good_ok_wildcard.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/202_reg_good_ok_wildcard.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/202_reg_good_ok_wildcard.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/202_reg_good_ok_wildcard.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/203_reg_good_empty_realm.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/203_reg_good_empty_realm.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/203_reg_good_empty_realm.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/203_reg_good_empty_realm.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/205_reg_good_no_realm.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/205_reg_good_no_realm.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/205_reg_good_no_realm.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/205_reg_good_no_realm.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/206_reg_good_efailedcredential.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/206_reg_good_efailedcredential.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/206_reg_good_efailedcredential.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/206_reg_good_efailedcredential.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/208_reg_good_retry_nonce_ok.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/208_reg_good_retry_nonce_ok.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/208_reg_good_retry_nonce_ok.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/208_reg_good_retry_nonce_ok.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/209a_reg_handle_423_ok.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/209a_reg_handle_423_ok.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/209a_reg_handle_423_ok.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/209a_reg_handle_423_ok.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/209b_reg_handle_423_bad_min_expires1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/209b_reg_handle_423_bad_min_expires1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/209b_reg_handle_423_bad_min_expires1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/209b_reg_handle_423_bad_min_expires1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/209c_reg_handle_423_bad_min_expires2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/209c_reg_handle_423_bad_min_expires2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/209c_reg_handle_423_bad_min_expires2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/209c_reg_handle_423_bad_min_expires2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/215_reg_good_multi_ok.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/215_reg_good_multi_ok.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/215_reg_good_multi_ok.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/215_reg_good_multi_ok.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/220_reg_good_ims_ok.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/220_reg_good_ims_ok.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/220_reg_good_ims_ok.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/220_reg_good_ims_ok.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/230_reg_bad_fail_stale_true.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/230_reg_bad_fail_stale_true.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/230_reg_bad_fail_stale_true.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/230_reg_bad_fail_stale_true.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/231_reg_bad_fail_stale_false_nonce_changed.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/231_reg_bad_fail_stale_false_nonce_changed.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/231_reg_bad_fail_stale_false_nonce_changed.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/231_reg_bad_fail_stale_false_nonce_changed.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/234_reg_bad_stale_ok.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/234_reg_bad_stale_ok.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/234_reg_bad_stale_ok.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/234_reg_bad_stale_ok.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/235_reg_good_tel_uri_enocredential.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/235_reg_good_tel_uri_enocredential.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/235_reg_good_tel_uri_enocredential.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/235_reg_good_tel_uri_enocredential.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/240_publish_scenarios.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/240_publish_scenarios.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/240_publish_scenarios.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/240_publish_scenarios.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/300_timer_good.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/300_timer_good.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/300_timer_good.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/300_timer_good.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/301_timer_good_retry_after_422.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/301_timer_good_retry_after_422.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/301_timer_good_retry_after_422.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/301_timer_good_retry_after_422.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/400_inv_answered_with_less_media.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/400_inv_answered_with_less_media.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-recvfrom/400_inv_answered_with_less_media.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-recvfrom/400_inv_answered_with_less_media.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-run/100_simple.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-run/100_simple.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-run/100_simple.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-run/100_simple.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-run/200_register.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-run/200_register.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-run/200_register.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-run/200_register.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_3.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_3.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_3.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_3.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_4.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_4.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_4.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_4.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_5.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_5.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_5.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/001_torture_4475_3_1_1_5.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/100_simplecall.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/100_simplecall.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/100_simplecall.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/100_simplecall.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/110_tel_uri.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/110_tel_uri.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/110_tel_uri.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/110_tel_uri.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/120_sdp_with_video_dynamic_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/121_sdp_with_video_static_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/121_sdp_with_video_static_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/121_sdp_with_video_static_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/121_sdp_with_video_static_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/121_sdp_with_video_static_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/121_sdp_with_video_static_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/121_sdp_with_video_static_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/121_sdp_with_video_static_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/122_sdp_with_unknown_dynamic_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/123_sdp_with_unknown_static_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/124_sdp_with_unknown_static_unknown_transport.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/124_sdp_with_unknown_static_unknown_transport.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/124_sdp_with_unknown_static_unknown_transport.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/124_sdp_with_unknown_static_unknown_transport.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_0.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_0.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_0.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_0.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_3.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_3.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_3.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_3.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_4.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_4.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_4.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/125_sdp_with_multi_audio_4.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/126_sdp_with_port_0_and_no_rtpmap_for_dynamic_pt.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/126_sdp_with_port_0_and_no_rtpmap_for_dynamic_pt.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/126_sdp_with_port_0_and_no_rtpmap_for_dynamic_pt.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/126_sdp_with_port_0_and_no_rtpmap_for_dynamic_pt.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/140_sdp_with_direction_attr_in_session_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/150_err_extension.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/150_err_extension.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/150_err_extension.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/150_err_extension.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/151_err_sdp_video.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/151_err_sdp_video.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/151_err_sdp_video.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/151_err_sdp_video.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/152_err_sdp_no_media.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/152_err_sdp_no_media.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/152_err_sdp_no_media.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/152_err_sdp_no_media.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/153_err_sdp_unsupported_codec.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/153_err_sdp_unsupported_codec.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/153_err_sdp_unsupported_codec.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/153_err_sdp_unsupported_codec.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/155_err_sdp_bad_syntax.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/155_err_sdp_bad_syntax.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/155_err_sdp_bad_syntax.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/155_err_sdp_bad_syntax.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/156_err_sdp_bad_net_type.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/156_err_sdp_bad_net_type.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/156_err_sdp_bad_net_type.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/156_err_sdp_bad_net_type.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/157_err_sdp_bad_addr_type.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/157_err_sdp_bad_addr_type.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/157_err_sdp_bad_addr_type.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/157_err_sdp_bad_addr_type.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/158_err_sdp_bad_transport_type.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/158_err_sdp_bad_transport_type.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/158_err_sdp_bad_transport_type.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/158_err_sdp_bad_transport_type.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/159_no_rport.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/159_no_rport.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/159_no_rport.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/159_no_rport.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/159_no_rport_nit.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/159_no_rport_nit.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/159_no_rport_nit.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/159_no_rport_nit.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/160_err_duplicate_replaces.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/160_err_duplicate_replaces.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/160_err_duplicate_replaces.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/160_err_duplicate_replaces.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/161_err_replaces_dlg_not_found.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/161_err_replaces_dlg_not_found.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/161_err_replaces_dlg_not_found.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/161_err_replaces_dlg_not_found.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/170_timer_required.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/170_timer_required.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/170_timer_required.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/170_timer_required.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/171_timer_initiated_by_uas.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/171_timer_initiated_by_uas.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/171_timer_initiated_by_uas.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/171_timer_initiated_by_uas.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/172_timer_supported_but_not_used.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/172_timer_supported_but_not_used.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/172_timer_supported_but_not_used.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/172_timer_supported_but_not_used.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/173_timer_offer_no_refresher.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/173_timer_offer_no_refresher.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/173_timer_offer_no_refresher.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/173_timer_offer_no_refresher.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uac.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uac.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uac.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uac.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uas.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uas.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uas.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/173_timer_offer_refresher_uas.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/174_timer_se_too_small.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/174_timer_se_too_small.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/174_timer_se_too_small.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/174_timer_se_too_small.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_no_ice.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_no_ice.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_no_ice.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_no_ice.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_success_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_success_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_success_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_success_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_success_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_success_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_success_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_success_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_success_3.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_success_3.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_success_3.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_success_3.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_success_4.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_success_4.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/200_ice_success_4.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/200_ice_success_4.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/201_ice_mismatch_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/201_ice_mismatch_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/201_ice_mismatch_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/201_ice_mismatch_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/201_ice_mismatch_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/201_ice_mismatch_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/201_ice_mismatch_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/201_ice_mismatch_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/201_ice_mismatch_3.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/201_ice_mismatch_3.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/201_ice_mismatch_3.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/201_ice_mismatch_3.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/251_multipart_ok_simple.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/251_multipart_ok_simple.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/251_multipart_ok_simple.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/251_multipart_ok_simple.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/252_multipart_ok_clutter.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/252_multipart_ok_clutter.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/252_multipart_ok_clutter.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/252_multipart_ok_clutter.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/260_multipart_err_no_sdp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/260_multipart_err_no_sdp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/260_multipart_err_no_sdp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/260_multipart_err_no_sdp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_crypto_case_insensitive.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_crypto_case_insensitive.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_crypto_case_insensitive.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_crypto_case_insensitive.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_duplicated_crypto_tag.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_duplicated_crypto_tag.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_duplicated_crypto_tag.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_duplicated_crypto_tag.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_invalid_crypto_tag_non_numeric.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_invalid_crypto_tag_non_numeric.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_invalid_crypto_tag_non_numeric.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_invalid_crypto_tag_non_numeric.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_receive_crypto_tag_zero.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_receive_crypto_tag_zero.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_receive_crypto_tag_zero.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_receive_crypto_tag_zero.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_3.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_3.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_3.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/300_srtp_receive_no_key_3.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/301_srtp0_recv_avp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/301_srtp0_recv_avp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/301_srtp0_recv_avp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/301_srtp0_recv_avp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/301_srtp0_recv_savp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/301_srtp0_recv_savp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/301_srtp0_recv_savp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/301_srtp0_recv_savp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/310_srtp1_no_crypto.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/310_srtp1_no_crypto.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/310_srtp1_no_crypto.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/310_srtp1_no_crypto.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/311_srtp1_recv_avp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/311_srtp1_recv_avp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/311_srtp1_recv_avp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/311_srtp1_recv_avp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/312_srtp1_recv_savp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/312_srtp1_recv_savp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/312_srtp1_recv_savp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/312_srtp1_recv_savp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/313_srtp1_unsupported_crypto.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/313_srtp1_unsupported_crypto.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/313_srtp1_unsupported_crypto.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/313_srtp1_unsupported_crypto.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp2_no_crypto.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp2_no_crypto.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp2_no_crypto.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp2_no_crypto.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp_with_unknown_media_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_1.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_1.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_1.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_1.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/320_srtp_with_unknown_transport_2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/321_srtp2_recv_avp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/321_srtp2_recv_avp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/321_srtp2_recv_avp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/321_srtp2_recv_avp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/322_srtp2_recv_savp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/322_srtp2_recv_savp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/322_srtp2_recv_savp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/322_srtp2_recv_savp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/323_srtp2_receive_too_long_key.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/323_srtp2_receive_too_long_key.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/323_srtp2_receive_too_long_key.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/323_srtp2_receive_too_long_key.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/323_srtp2_unsupported_crypto.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/323_srtp2_unsupported_crypto.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/323_srtp2_unsupported_crypto.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/323_srtp2_unsupported_crypto.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/330_srtp_prefer_rtp_savp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/330_srtp_prefer_rtp_savp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/330_srtp_prefer_rtp_savp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/330_srtp_prefer_rtp_savp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/331_srtp_prefer_rtp_avp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/331_srtp_prefer_rtp_avp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/331_srtp_prefer_rtp_avp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/331_srtp_prefer_rtp_avp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/360_non_sip_uri.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/360_non_sip_uri.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/360_non_sip_uri.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/360_non_sip_uri.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/361_non_sip_uri.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/361_non_sip_uri.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/361_non_sip_uri.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/361_non_sip_uri.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/362_non_sip_uri.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/362_non_sip_uri.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/362_non_sip_uri.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/362_non_sip_uri.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/363_non_sip_uri_subscribe.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/363_non_sip_uri_subscribe.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/363_non_sip_uri_subscribe.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/363_non_sip_uri_subscribe.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/364_non_sip_uri_subscribe.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/364_non_sip_uri_subscribe.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/364_non_sip_uri_subscribe.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/364_non_sip_uri_subscribe.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/400_fmtp_g7221_with_bitrate.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/400_fmtp_g7221_with_bitrate.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/400_fmtp_g7221_with_bitrate.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/400_fmtp_g7221_with_bitrate.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_24000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_24000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_24000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_24000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_32000.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_32000.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_32000.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/401_fmtp_g7221_with_bitrate_32000.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/410_fmtp_amrnb_offer_octet_align.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/410_fmtp_amrnb_offer_octet_align.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/410_fmtp_amrnb_offer_octet_align.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/410_fmtp_amrnb_offer_octet_align.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/411_fmtp_amrnb_offer_band_eff.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/411_fmtp_amrnb_offer_band_eff.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/411_fmtp_amrnb_offer_band_eff.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/411_fmtp_amrnb_offer_band_eff.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/412_fmtp_amrnb_offer_band_eff2.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/412_fmtp_amrnb_offer_band_eff2.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/412_fmtp_amrnb_offer_band_eff2.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/412_fmtp_amrnb_offer_band_eff2.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/500_pres_subscribe_with_bad_event.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/500_pres_subscribe_with_bad_event.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/500_pres_subscribe_with_bad_event.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/500_pres_subscribe_with_bad_event.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/999_asterisk_err.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/999_asterisk_err.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/999_asterisk_err.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/999_asterisk_err.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/999_message_no_body.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/999_message_no_body.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sendto/999_message_no_body.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sendto/999_message_no_body.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/strict-route.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/strict-route.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/strict-route.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/strict-route.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/strict-route.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/strict-route.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/strict-route.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/strict-route.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-attended.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-attended.py similarity index 87% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-attended.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-attended.py index 2eaf44b8c76635947d3394f3e8026d3006092a4f..13e36e692b368069a8cc8434f7f2bfe9453d2776 100644 --- a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-attended.py +++ b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-attended.py @@ -1,4 +1,4 @@ -# $Id: transfer-attended.py 4188 2012-06-29 09:01:17Z nanang $ +# $Id: transfer-attended.py 4724 2014-01-31 08:52:09Z nanang $ # import inc_const as const @@ -41,11 +41,11 @@ PJSUA_EXPECTS = [ # B transfer A to C [1, "", "X"], [1, "", "1"], - [0, "Call .* is being transfered", ""], + [0, "Call .* is being transferred", ""], [1, "Subscription state .* ACCEPTED", ""], [0, const.STATE_CALLING, ""], [2, "Call .* is being replaced", ""], - [1, "call transfered successfully", ""], + [1, "call transferred successfully", ""], [0, const.MEDIA_ACTIVE, ""], [2, const.MEDIA_ACTIVE, ""], [1, const.STATE_DISCONNECTED, ""] diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-attended.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-attended.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-attended.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-attended.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-unattended.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-unattended.py similarity index 85% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-unattended.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-unattended.py index 14011e132f07079dc3e4e08853e91ef912949fe5..9cb6f59944fe3313cd2ae068ed5e218ffdd6ce18 100644 --- a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-unattended.py +++ b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-unattended.py @@ -1,4 +1,4 @@ -# $Id: transfer-unattended.py 4188 2012-06-29 09:01:17Z nanang $ +# $Id: transfer-unattended.py 4724 2014-01-31 08:52:09Z nanang $ # import inc_const as const @@ -25,6 +25,6 @@ PJSUA_EXPECTS = [ [2, "", "200"], [0, const.MEDIA_ACTIVE, ""], [2, const.MEDIA_ACTIVE, ""], - [1, "call transfered successfully", ""], + [1, "call transferred successfully", ""], [1, const.STATE_DISCONNECTED, ""] ] diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-unattended.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-unattended.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/transfer-unattended.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/transfer-unattended.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-bad-ack.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-bad-ack.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-bad-ack.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-bad-ack.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-and-ack-without-sdp.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-and-ack-without-sdp.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-and-ack-without-sdp.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-and-ack-without-sdp.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-multiple-require.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-multiple-require.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-multiple-require.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-multiple-require.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-two-media-but-one-disabled-no-rtpmap.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-two-media-but-one-disabled-no-rtpmap.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-two-media-but-one-disabled-no-rtpmap.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-two-media-but-one-disabled-no-rtpmap.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-two-media-but-one-disabled-no-rtpmap.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-two-media-but-one-disabled-no-rtpmap.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-two-media-but-one-disabled-no-rtpmap.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-two-media-but-one-disabled-no-rtpmap.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-without-sdp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-without-sdp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-without-sdp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-without-sdp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-without-sdp.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-without-sdp.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-inv-without-sdp.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-inv-without-sdp.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-message-no-body.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-message-no-body.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-message-no-body.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-message-no-body.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-options.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-options.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-options.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-options.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-reinvite-bad-via-branch.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-reinvite-bad-via-branch.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-reinvite-bad-via-branch.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-reinvite-bad-via-branch.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-reinvite-port-0-bad-sdp.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-reinvite-port-0-bad-sdp.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-reinvite-port-0-bad-sdp.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-reinvite-port-0-bad-sdp.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-subscribe.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-subscribe.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-subscribe.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-subscribe.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-ticket-1148.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-ticket-1148.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-ticket-1148.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-ticket-1148.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-ticket-1148.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-ticket-1148.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uac-ticket-1148.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uac-ticket-1148.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-422-then-200-bad-se.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-422-then-200-bad-se.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-422-then-200-bad-se.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-422-then-200-bad-se.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts-support-update.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts-support-update.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts-support-update.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts-support-update.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-inv-without-sdp.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-inv-without-sdp.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-inv-without-sdp.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-inv-without-sdp.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts-support-update.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts-support-update.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts-support-update.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts-support-update.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-reinvite-without-sdp.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-answer-200-update-without-sdp.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-auth.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-auth.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-auth.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-auth.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-auth.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-auth.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-auth.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-auth.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-cancel-no-final.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-cancel-no-final.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-cancel-no-final.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-cancel-no-final.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-cancel-no-final.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-cancel-no-final.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-cancel-no-final.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-cancel-no-final.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-early-bye.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-early-bye.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-early-bye.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-early-bye.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-forked-100rel.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-forked-100rel.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-forked-100rel.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-forked-100rel.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-forked-200.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-forked-200.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-forked-200.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-forked-200.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-inv-answered-with-srtp.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-inv-answered-with-srtp.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-inv-answered-with-srtp.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-inv-answered-with-srtp.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-inv_401_retry_after_100.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-inv_401_retry_after_100.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-inv_401_retry_after_100.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-inv_401_retry_after_100.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-mwi-0.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-mwi-0.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-mwi-0.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-mwi-0.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-mwi-0.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-mwi-0.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-mwi-0.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-mwi-0.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-mwi.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-mwi.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-mwi.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-mwi.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-mwi.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-mwi.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-mwi.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-mwi.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-prack_fork.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-prack_fork.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-prack_fork.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-prack_fork.xml diff --git a/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-register-ip-change-port-only.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-register-ip-change-port-only.xml new file mode 100644 index 0000000000000000000000000000000000000000..a1392dfd9f884d8209f57346f68cd1b10c93c379 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-register-ip-change-port-only.xml @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<scenario name="Basic UAS responder"> + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 401 Unauthorized + [last_Via:];received=1.1.1.1;rport=1111 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + WWW-Authenticate: digest realm="test" + Content-Length: 0 + ]]> + </send> + + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 200 OK + [last_Via:];received=1.1.1.1;rport=1111 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + Content-Length: 0 + ]]> + </send> + + <!-- REREGISTER --> + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 200 OK + [last_Via:];received=1.1.1.1;rport=1111 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + Subject: Reregister due to IP change, this has two Contacts + Content-Length: 0 + ]]> + </send> + + + <!-- REFRESH, GOT IP CHANGE AGAIN --> + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 200 OK + [last_Via:];received=1.1.1.1;rport=2222 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + Subject: Refresh, got IP change again + Content-Length: 0 + ]]> + </send> + + + <!-- REREGISTER --> + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 200 OK + [last_Via:];received=1.1.1.1;rport=2222 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + Subject: Reregister due to port change, this has two Contacts + Content-Length: 0 + ]]> + </send> + + + <!-- WHATEVER --> + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 200 OK + [last_Via:];received=1.1.1.1;rport=2222 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + Subject: Whatever 1 + Content-Length: 0 + ]]> + </send> + + <!-- WHATEVER --> + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 200 OK + [last_Via:];received=1.1.1.1;rport=2222 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + Subject: Whatever 2 + Content-Length: 0 + ]]> + </send> + + <!-- definition of the response time repartition table (unit is ms) --> + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <!-- definition of the call length repartition table (unit is ms) --> + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> + diff --git a/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-register-ip-change.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-register-ip-change.xml new file mode 100644 index 0000000000000000000000000000000000000000..2c984bedd463c76915d5b7fce619078ae9205d5d --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-register-ip-change.xml @@ -0,0 +1,145 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<scenario name="Basic UAS responder"> + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 100 Trying + [last_Via:];received=1.1.1.1;rport=1111 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + WWW-Authenticate: digest realm="test" + Content-Length: 0 + ]]> + </send> + + <pause milliseconds="2000"/> + + <send> + <![CDATA[ + SIP/2.0 401 Unauthorized + [last_Via:];received=2.2.2.2;rport=2222 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + WWW-Authenticate: digest realm="test" + Content-Length: 0 + ]]> + </send> + + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 401 Unauthorized again + [last_Via:];received=3.3.3.3;rport=3333 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + WWW-Authenticate: digest realm="test", stale=true + Content-Length: 0 + ]]> + </send> + + + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 200 OK + [last_Via:];received=4.4.4.4;rport=4444 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + Content-Length: 0 + ]]> + </send> + + <!-- IP CHANGE FOR 200/OK --> + + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 401 Unauthorized + [last_Via:];received=5.5.5.5;rport=5555 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + WWW-Authenticate: digest realm="test" + Content-Length: 0 + ]]> + </send> + + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 401 Nasty Unauthorized + [last_Via:];received=6.6.6.6;rport=6666 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + WWW-Authenticate: digest realm="test", stale=true + Content-Length: 0 + ]]> + </send> + + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 200 OK + [last_Via:];received=8.8.8.8;rport=8888 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + Content-Length: 0 + ]]> + </send> + + <recv request="REGISTER" crlf="true"> + </recv> + + <send> + <![CDATA[ + SIP/2.0 200 OK + [last_Via:];received=8.8.8.8;rport=8888 + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + [last_Contact:] + Content-Length: 0 + ]]> + </send> + + <!-- definition of the response time repartition table (unit is ms) --> + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <!-- definition of the call length repartition table (unit is ms) --> + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> + diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-and-ack-same-branch-without-sdp.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-and-ack-same-branch-without-sdp.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-and-ack-same-branch-without-sdp.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-and-ack-same-branch-without-sdp.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-and-ack-without-sdp.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-and-ack-without-sdp.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-and-ack-without-sdp.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-and-ack-without-sdp.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-glare.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-glare.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-glare.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-glare.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-glare.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-glare.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-glare.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-glare.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-no-media.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-no-media.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-no-media.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-no-media.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-with-less-media.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-with-less-media.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-with-less-media.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-with-less-media.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-with-less-media.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-with-less-media.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-reinv-with-less-media.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-reinv-with-less-media.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-multipart-notify.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-multipart-notify.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-multipart-notify.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-multipart-notify.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-multipart-notify.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-multipart-notify.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-multipart-notify.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-multipart-notify.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-notify-terminate.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-notify-terminate.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-notify-terminate.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-notify-terminate.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-notify-terminate.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-notify-terminate.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-notify-terminate.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-notify-terminate.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-refresh-481.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.py b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.py similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.py rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.py diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-subscribe-terminated-retry.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-template.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-template.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-template.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-template.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-timer-reinvite.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-timer-reinvite.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-timer-reinvite.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-timer-reinvite.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-timer-update.xml b/daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-timer-update.xml similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/scripts-sipp/uas-timer-update.xml rename to daemon/libs/pjproject-2.2.1/tests/pjsua/scripts-sipp/uas-timer-update.xml diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/tools/Makefile b/daemon/libs/pjproject-2.2.1/tests/pjsua/tools/Makefile similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/tools/Makefile rename to daemon/libs/pjproject-2.2.1/tests/pjsua/tools/Makefile diff --git a/daemon/libs/pjproject-2.1.0/tests/pjsua/tools/cmp_wav.c b/daemon/libs/pjproject-2.2.1/tests/pjsua/tools/cmp_wav.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/tests/pjsua/tools/cmp_wav.c rename to daemon/libs/pjproject-2.2.1/tests/pjsua/tools/cmp_wav.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/amfilter.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/amfilter.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/amfilter.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/amfilter.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/amfilter.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/amfilter.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/amfilter.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/amfilter.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/amvideo.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/amvideo.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/amvideo.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/amvideo.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/arithutil.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/arithutil.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/arithutil.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/arithutil.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/combase.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/combase.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/combase.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/combase.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/combase.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/combase.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/combase.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/combase.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/ctlutil.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/ctlutil.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/ctlutil.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/ctlutil.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/ctlutil.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/ctlutil.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/ctlutil.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/ctlutil.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/fourcc.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/fourcc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/fourcc.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/fourcc.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/measure.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/measure.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/measure.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/measure.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/msgthrd.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/msgthrd.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/msgthrd.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/msgthrd.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/mtype.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/mtype.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/mtype.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/mtype.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/mtype.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/mtype.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/mtype.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/mtype.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/refclock.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/refclock.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/refclock.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/refclock.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/reftime.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/reftime.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/reftime.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/reftime.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/renbase.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/renbase.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/renbase.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/renbase.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/renbase.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/renbase.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/renbase.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/renbase.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/seekpt.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/seekpt.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/seekpt.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/seekpt.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/streams.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/streams.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/streams.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/streams.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxdebug.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxdebug.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxdebug.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxdebug.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxdebug.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxdebug.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxdebug.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxdebug.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxlist.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxlist.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxlist.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxlist.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxlist.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxlist.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxlist.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxlist.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxutil.cpp b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxutil.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxutil.cpp rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxutil.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxutil.h b/daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxutil.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/BaseClasses/wxutil.h rename to daemon/libs/pjproject-2.2.1/third_party/BaseClasses/wxutil.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/README.txt b/daemon/libs/pjproject-2.2.1/third_party/README.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/README.txt rename to daemon/libs/pjproject-2.2.1/third_party/README.txt diff --git a/daemon/libs/pjproject-2.2.1/third_party/bdsound/include/bdimad.h b/daemon/libs/pjproject-2.2.1/third_party/bdsound/include/bdimad.h new file mode 100644 index 0000000000000000000000000000000000000000..f70b44449a7e68cff17d92c0843d14382323615f --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/third_party/bdsound/include/bdimad.h @@ -0,0 +1,588 @@ + /** + * @file bdIMADpj.h + * @brief bdSound IMproved Audio Device for PJSIP. + */ + +/** + * @defgroup bd_IMAD bdIMADpj bdSound IMproved Audio Device for PJSIP. + * @ingroup audio_device_api + * + * <b>bdSound IMproved Audio Device</b> is a multiplatform audio interface + * created to integrate in <b>PJSIP</b> library with no effort. + * \n Porting <b>bdIMADpj</b> across the main operating systems is + * straightforward, without the need of change a single line of code. + * + * - <b>Features</b> + * - Echo cancellation (Full Duplex) + * - Noise reduction + * - Automatic Gain Control + * - Audio Enhancement + * + * - <b>Supported operating systems</b> + * - Windows + * - Android + * - MacOS X + * - iOS + * - Linux / Alsa + * + * - <b>Supported platforms</b> + * - x86 + * - x64 + * - ARM Cortex-A8/A9/A15 with NEON + * + * Visit <a href="http:/www.bdsound.com" target="new">bdSound</a> for updated + * features, supported operating systems and platforms. + * + * <b>Using PJSIP with bdIMAD audio device</b> + * + * - <b>Integration</b> + * \n Using <b>bdIMAD</b> within <b>PJSIP</b> is simple: + * -# Request for bdIMADpj library to + * <a href="http:/www.bdsound.com" target="new">bdSound</a>: + * bdSound will provide instruction to integrate the library depending on + * the platform / O.S. / toolchain; + * -# Add the <code>bdimad_dev.c</code> file to + * <code>pjmedia/src/pjmedia-audiodev</code> folder; + * -# Enable the bdIMAD audio device defining the periferal in the + * <code>pj/config_site.h</code> and disabling all other devices: + * <pre> + * #define PJMEDIA_AUDIO_DEV_HAS_BDIMAD 1 + * </pre> + * + * - <b>Usage</b> + * \n There are only a couple of things the customer have to pay attention on + * �when using bdIMAD library. + * + * - <b>Initialization</b> + * \n Since the bdIMAD library provide itself the echo cancellation + * and the latency management, is necessary to disable these features + * in the PJSIP librariy applications. + * \n For example in PJSUA sample application there is the need + * to provide the following commands: + * <pre> + * --ec-tail=0 + * --no-vad + * --capture-lat=0 + * --playback-lat=0 + * </pre> + * + * - <b>Supported set capability</b> + * - <code>PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING</code> + * \n Setting speaker volume. + * - <code>PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING</code> + * \n Setting michrophone volume. + * - <code>PJMEDIA_AUD_DEV_CAP_EC</code> + * \n Enable/disable echo cancellation. + * + * For additional information visit + * <a href="http:/www.bdsound.com" target="new">www.bdsound.com</a> + * or write to info@bdsound.com + * + * @author bdSound + * @version 1.0.1 + * @copyright 2012 bdSound srl. All rights reserved. + * + */ + +/** + * @defgroup groupFunction Functions + * @ingroup bd_IMAD + * + * Functions defined in bdIMAD. + */ + +/** + * @defgroup groupCallback Callbacks + * @ingroup bd_IMAD + * + * Callbacks defined in bdIMAD. + */ + +/** + * @defgroup groupStructEnum Structs and Enums + * @ingroup bd_IMAD + * + * Struct and Enum defined in bdIMAD. + */ + +#ifndef BD_IMAD_PJ_H__ +#define BD_IMAD_PJ_H__ + +/** + * @brief Macro for Windows DLL Support. + */ + +#ifdef _BDIMADPJ_EXPORTDLL + #ifdef WIN32 + #define BDIMADPJ_API __declspec(dllexport) + #else + #define BDIMADPJ_API __attribute__((visibility("default"))) + #endif +#else + #define BDIMADPJ_API +#endif + +#define BD_IMAD_CAPTURE_DEVICES 1 +#define BD_IMAD_PLAYBACK_DEVICES 0 +#define BD_IMAD_DIAGNOSTIC_ENABLE 1 +#define BD_IMAD_DIAGNOSTIC_DISABLE 0 + +#define BD_IMAD_BITS_X_SAMPLE 16 /**< Bits per sample */ + +typedef void* bdIMADpj; + +/** + * @addtogroup groupCallback + * @{ + */ + +/** + * @brief Callback used to fill the playback buffer of bdIMAD. + * The function is called by bdIMAD each time are required sample to be played. + * @param[in] *buffer pointer to the buffer with the audio + * samples to be played(short type). + * @param[in] nSamples number of samples required. + * @param[in] user_data pointer to the user data structure + * defined in the bdIMADpj_Setting_t + * structure. + * @return none. + */ + +typedef int (* cb_fillPlayBackB_t) (void *buffer, int nSamples, + void *user_data); + +/** + * @brief Callback used to retrive the caputre buffer of bdIMAD. The function + * is called by bdIMAD each time processed mic samples are available. + * @param[out] *buffer pointer to the buffer with the audio + * samples to download(short type). + * @param[in] nSamples number of samples processed to download. + * @param[in] user_data pointer to the user data structure + * defined in the MainSet structure. + * @return none. + */ + +typedef void (* cb_emptyCaptureB_t) (void *buffer, int nSamples, + void *user_data); +/** + * @} + */ + +/** + * @addtogroup groupStructEnum + * @{ + */ + +/** + * @brief Error status returned by some functions in the library. + */ + +typedef enum bdIMADpj_Status{ + /**< No error. */ + BD_PJ_OK = 0, + /**< Watch bdIMADpj_Warnings_t structure to find the warnings. */ + BD_PJ_WARN_BDIMAD_WARNING_ASSERTED = 1, + /**< Error not identified. */ + BD_PJ_ERROR_GENERIC = 2, + /**< The pointer passed is NULL. */ + BD_PJ_ERROR_NULL_POINTER = 3, + /**< Allocation procedure failed. */ + BD_PJ_ERROR_ALLOCATION = 4, + /**< The parameter is not existent or the set/get function is not active. */ + BD_PJ_ERROR_PARAMETER_NOT_FOUND = 5, + /**< No capture device found. */ + BD_PJ_ERROR_IMAD_NONE_CAPTURE_DEV = 10, + /**< No play device found. */ + BD_PJ_ERROR_IMAD_NONE_PLAY_DEV = 11, + /**< Frame size not allowed. */ + BD_PJ_ERROR_IMAD_FRAME_SIZE = 12, + /**< Sample frequency not allowed. */ + BD_PJ_ERROR_IMAD_SAMPLE_FREQ = 13, + /**< Samples missing. */ + BD_PJ_ERROR_IMAD_MISSING_SAMPLES = 14, + /**< Device list is empty. */ + BD_PJ_ERROR_IMAD_DEVICE_LIST_EMPTY = 15, + /**< Library not authorized, entering demo mode. */ + BD_PJ_ERROR_IMAD_LIB_NOT_AUTHORIZED = 16, + /**< The input channel memory has not been allocated. */ + BD_PJ_ERROR_IMAD_INPUT_CH_NOT_ALLOCATED = 17, + /**< The library has expired, entering demo mode. */ + BD_PJ_ERROR_IMAD_LICENSE_EXPIRED = 18, + /**< Open of capture device failed. */ + BD_PJ_ERROR_IMAD_OPEN_CAPTURE_DEV_FAILED = 19, + /**< Open of play device failed. */ + BD_PJ_ERROR_IMAD_OPEN_PLAY_DEV_FAILED = 20, + /**< Start of play device failed. */ + BD_PJ_ERROR_IMAD_START_PLAY_DEV_FAILED = 21, + /**< Start of capture device failed. */ + BD_PJ_ERROR_IMAD_START_CAPTURE_DEV_FAILED = 22, + /**< Start of time process failed. */ + BD_PJ_ERROR_IMAD_START_TIME_PROCESS_FAILED = 23, + /**< Start of thread process failed. */ + BD_PJ_ERROR_IMAD_THREAD_PROCESS_FAILED = 24, + /**< No volume control available. */ + BD_PJ_ERROR_IMAD_NO_VOL_CONTROL_AVAILABLE = 25, +} bdIMADpj_Status; + +/** + * @brief Parameter to pass to set and get parameter functions. + * + * For each enumeration are defined the data type and the supported operations + * on that parameter (set and get). + */ + +typedef enum bdIMADpj_Parameter{ + /**< int* \n set/get \n 1 enable / 0 disable echo cancellation. */ + BD_PARAM_IMAD_PJ_AEC_ENABLE = 1, + /**< int* \n set/get \n 1 enable / 0 disable microphone control + * (when possible). */ + BD_PARAM_IMAD_PJ_MIC_CONTROL_ENABLE = 2, + /**< int* \n set/get \n 1 ebable / 0 disable noise reduction. */ + BD_PARAM_IMAD_PJ_NOISE_REDUCTION_ENABLE = 3, + /**< int* \n set \n number of channel to reset. Used to reset + * the input channel statistics. To be used when the same channel + * is assigned to another partecipant. */ + BD_PARAM_IMAD_PJ_RESET_STATISTIC_IN_CH = 4, + /**< float* \n set/get \n 0.0f -> 1.0f volume of + * the microphone(when possible). */ + BD_PARAM_IMAD_PJ_MIC_VOLUME = 5, + /**< int* \n set/get \n 0 mute / 1 not mute on microphone + * (when possible). */ + BD_PARAM_IMAD_PJ_MIC_MUTE = 6, + /**< float* \n set/get \n 0.0f -> 1.0f volume of the speaker. */ + BD_PARAM_IMAD_PJ_SPK_VOLUME = 7, + /**< int* \n set/get \n 0 mute / 1 not mute on speaker. */ + BD_PARAM_IMAD_PJ_SPK_MUTE = 8, +} bdIMADpj_Parameter; + + +/** + * @brief Instance structure for the information regarding the aec engine. + */ + +typedef struct bdIMADpj_Setting_t{ + /**< Sample frequency (8kHz or 16kHz). */ + int SamplingFrequency; + /**< Audio buffer managed by the aec bdIMAD functions. + * (from 16ms to 80ms, 16ms recommended). */ + int FrameSize_ms; + /**< Points to the validation functions in the validation library. */ + void *validate; + /**< Points to the the callback function used for filling + * the playback buffer of bdIMAD. */ + cb_fillPlayBackB_t cb_fillPlayBackBuffer; + /**< Points to user data to pass to the callback. */ + void *cb_fillPlayBackBuffer_user_data; + /**< Points to the callback function used for retreive the processed + * audio present in the capture buffer of bdIMAD. */ + cb_emptyCaptureB_t cb_emptyCaptureBuffer; + /**< Points to user data to pass to the callback. */ + void *cb_emptyCaptureBuffer_user_data; + /**< Is a wide char pointer to the capture device name. */ + wchar_t *CaptureDevice; + /**< Is a wide char pointer to the play device name. */ + wchar_t *PlayDevice; + /**< True to enable diagnostic, false to disable. */ + int DiagnosticEnable; + /**< Directory which will contains the files generated for diagnostic. */ + wchar_t *DiagnosticFolderPath; + /**< Is an auxiliary settings pointer used internally by bdIMAD. */ + void *bdIMADwr_SettingsData; +} bdIMADpj_Setting_t; + +/** + * @brief Instance structure for the warnings generated by the initialization + * functions. + */ + +typedef struct bdIMADpj_Warnings_t{ + /**< The capture device indicated can't be opened, has been selected + * the default capture device. */ + int DefaultCaptureDeviceAutomaticallySelected; + /**< The capture device opened has not volume control. */ + int CaptureDeviceWithoutVolumeControl; + /**< The play device indicated can't be opened, has been selected + * the default play device. */ + int DefaultPlayDeviceAutomaticallySelected; + /**< The number of channel requested is out of range. The number of + * channel opened is equal to the maximum. */ + int NumberOfChannelsOutOfRange; + /**< The diagnostic files could not be saved. */ + int DiagnosticSaveNotAllowed; + /**< The nlp level requested is not allowed, it has been automatically + * changed to the default value. */ + int nlpLevelChangeSettting; + /**< No capture device is present. Anyway the bdSES has been + * istantiated only for playback. */ + int NoCaptureDevicePresent; + /**< The cpu is not adapt to run the aec engine, the aec has been disabled. + * This appens for very old cpu like pentium III. */ + int oldCPUdetected_AECdisable; + /**< Windows Direct Sound error. */ + long directSoundError; + /**< Windows Direct Sound volume error. */ + long directSoundLevel; + /**< No play device is present. Anyway the bdSES has been istantiated + * only for capture. */ + int NoPlayDevicePresent; +} bdIMADpj_Warnings_t; + +/** + * @brief Instance structure for the library version + */ + +typedef struct bdIMADpj_libVersion_t{ + int major; /**< major version. */ + int minor; /**< minor version. */ + int build; /**< build number. */ + char *name; /**< name "bdIMADpj ver.X". */ + char *version; /**< beta, RC, release. */ + char *buildDate; /**< build date. */ +} bdIMADpj_libVersion_t; + + +/** + * @brief Audio output routing setting to pass to set and get route output device functions. + */ +typedef enum bdIMADpj_out_dev_route{ + /** Default route. */ + BD_AUD_DEV_ROUTE_DEFAULT = 0, + + /** Route to loudspeaker */ + BD_AUD_DEV_ROUTE_LOUDSPEAKER = 1, + + /** Route to earpiece */ + BD_AUD_DEV_ROUTE_EARPIECE = 2 +}bdIMADpj_out_dev_route; + + +/** + * @} + */ + + + +/** + * @addtogroup groupFunction + * @{ + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Must be used to allocate and set to default parameter the memory + * for the bdIMAD. + * + * The function generate a structure bdIMADpj_Setting_t filled with the + * default settings. + * \n The user can change this settings according to the need and then + * launch the ::bdIMADpj_InitAEC. + * \n The function generate also a warning structure (::bdIMADpj_Warnings_t) + * that could be used in ::bdIMADpj_InitAEC to handle eventual warnings. + * @param[out] **ppSettings Points to the pointer of the + * allocated ::bdIMADpj_Setting_t. + * @param[out] **ppWarningMessages Points to the pointer of the + * allocated ::bdIMADpj_Warnings_t. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise return + * an error (refer to ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_CreateStructures( + bdIMADpj_Setting_t **ppSettings, + bdIMADpj_Warnings_t **ppWarningMessages); + +/** + * @brief Is used to free the memory for the ::bdIMADpj_Setting_t structure and + * ::bdIMADpj_Warnings_t structure allocated with + * the ::bdIMADpj_CreateStructures. + * @param[in] **ppSettings Pointer to a memory location filled + * with the address of the + * ::bdIMADpj_Setting_t structure to free. + * This address will be set to NULL. + * @param[in] **ppWarningMessages Pointer to a memory location filled + * with the address of the allocated + * ::bdIMADpj_Warnings_t structure to free. + * This address will be set to NULL. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise return + * an error (refer to ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_FreeStructures( + bdIMADpj_Setting_t **ppSettings, + bdIMADpj_Warnings_t **ppWarningMessages); + +/** + * @brief Is used to initialize the memory for bdIMAD with the settings + * contained in the <code>ppSettings</code>. + * @param[out] *pBdIMADInstance Is the pointer to the bdIMAD object. + * @param[in] **ppSettings Pointer to pointer to a + * ::bdIMADpj_Setting_t structure, filled + * with initialization settings to be + * applied to the bdIMAD. + * \n Note, the <code>pBdIMADInstance</code> + * is modified with the applied settings. + * @param[out] **ppWarningMessages Pointer to pointer to a + * ::bdIMADpj_Warnings_t structure, + * which reports the warnings after the + * initialization. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise return + * an error (refer to ::bdIMADpj_Status). + * \n If the error is + * ::BD_PJ_WARN_BDIMAD_WARNING_ASSERTED + * the init has been performed with success, + * but with a different settings + * respect to the ones required. + * This mainly happens if the audio + * device opened is different to the + * one requested. + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_InitAEC(bdIMADpj *pBdIMADInstance, + bdIMADpj_Setting_t **ppSettings, + bdIMADpj_Warnings_t **ppWarningMessages); + +/** + * @brief Is used to free the bdIMAD object pointed by the + * <code>pBdIMADInstance</code>. + * @param[in] *pBdIMADInstance Pointer to the bdIMAD object to free. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise return + * an error (refer to ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_FreeAEC(bdIMADpj *pBdIMADInstance); + +/** + * @brief Is used to make a list of capure and play devices available + * on the system. + * @param[in] captureDevice Set to 1 to get the list of capture + * devices. Set to 0 to get the list of + * play devices. + * @param[in] **deviceName Pointer to pointer to a wide char + * containing the names of capture/play + * devices. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise return + * an error (refer to ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_getDeviceName(int captureDevice, + wchar_t **deviceName); + +/** + * @brief Is used to freeze the bdIMAD, stopping the audio playback + * and recording. + * @param[in] bdIMADInstance bdIMAD object. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise + * return an error (refer to + * ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_stop(bdIMADpj bdIMADInstance); + +/** + * @brief Is used to put back in play the audio after it has been stopped by the + * ::bdIMADpj_stop functions. + * @param[in] bdIMADInstance bdIMAD object. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise + * return an error (refer to + * ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_run(bdIMADpj bdIMADInstance); + +/** + * @brief Print on a standard output the warning messages. + * @param[in] *pWarningMessages Pointer to the warning structure + * to be printed. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise + * return an error + * (refer to ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_DisplayWarnings( + bdIMADpj_Warnings_t *pWarningMessages); + +/** + * @brief Clear the warning structure after being read. + * @param[out] **ppWarningMessages Pointer to pointer to the warning + * structure to be cleared. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise + * return an error (refer to + * ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_ClearAllWarnings( + bdIMADpj_Warnings_t **ppWarningMessages); + +/** + * @brief Is used to set a parameter of the bdIMAD object pointed by the + * <code>pBdIMADInstance</code>. + * @param[in] bdIMADInstance bdIMAD object. + * @param[in] parameterName Indicate the parameter to set. + * @param[in] *pValue Is a pointer to the value to set + * cast to void. + * \n In the ::bdIMADpj_Parameter + * declaration is indicated the real type of + * the value, depending on the + * <code>parameterName</code>. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise + * return an error (refer to + * �::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_setParameter(bdIMADpj bdIMADInstance, + bdIMADpj_Parameter parameterName, void *pValue); + +/** + * @brief Is used to get a parameter of the bdIMAD object pointed by the + * <code>pBdIMADInstance</code>. + * @param[in] bdIMADInstance bdIMAD object. + * @param[in] parameterName Indicate the parameter to get. + * @param[out] *pValue Is a pointer to the value to get cast + * to void. \n In the + * ::bdIMADpj_Parameter declaration is + * indicated the real type of the value, + * depending on the + * <code>parameterName</code>. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise return + * an error (refer to ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_getParameter(bdIMADpj bdIMADInstance, + bdIMADpj_Parameter parameterName, void *pValue); + +/** + * @brief Is used to set the route of the output device of the bdIMAD object pointed by the + * <code>pBdIMADInstance</code>. + * @param[in] bdIMADInstance bdIMAD object. + * @param[in] outputRoute Indicate the route of the output device to set. + * @param[out] **ppWarningMessages Pointer to pointer to a + * ::bdIMADpj_Warnings_t structure, + * which reports the warnings after the + * set function. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise return + * an error (refer to ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_setRouteOutputDevice(bdIMADpj bdIMADInstance, bdIMADpj_out_dev_route outputRoute, bdIMADpj_Warnings_t **ppWarningMessages); + +/** + * @brief Is used to get the route of the output device of the bdIMAD object pointed by the + * <code>pBdIMADInstance</code>. + * @param[in] bdIMADInstance bdIMAD object. + * @param[out] *outputRoute Is a pointer to the route of the output device currently setted. + * @return ::BD_PJ_OK if the function has been + * performed successfully, otherwise return + * an error (refer to ::bdIMADpj_Status). + */ +BDIMADPJ_API bdIMADpj_Status bdIMADpj_getRouteOutputDevice(bdIMADpj bdIMADInstance, bdIMADpj_out_dev_route *outputRoute); + +#ifdef __cplusplus +} +#endif +/** + * @} + */ + +#endif //BD_IMAD_PJ_H__ diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/Makefile b/daemon/libs/pjproject-2.2.1/third_party/build/Makefile similarity index 62% rename from daemon/libs/pjproject-2.1.0/third_party/build/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/build/Makefile index 36d80612076f25e3761cfe4f45c6f3aae3489499..5d9bc5137ca4fdab276954baf26758db25a42ea3 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/Makefile +++ b/daemon/libs/pjproject-2.2.1/third_party/build/Makefile @@ -1,4 +1,4 @@ -DIRS = resample milenage srtp +DIRS = include ../../build.mak include $(PJDIR)/build/common.mak @@ -12,5 +12,14 @@ all clean dep depend distclean realclean: fi; \ done +lib: + for dir in $(DIRS); do \ + if $(MAKE) $(MAKE_FLAGS) -C $$dir all; then \ + true; \ + else \ + exit 1; \ + fi; \ + done + doc: diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/baseclasses/libbaseclasses.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/baseclasses/libbaseclasses.vcproj similarity index 53% rename from daemon/libs/pjproject-2.1.0/third_party/build/baseclasses/libbaseclasses.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/build/baseclasses/libbaseclasses.vcproj index d2f1c25acd412907656fcfbae795a3b26e3be670..c5132a4ca18934b74bf1c984b5d7058d457c35db 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/baseclasses/libbaseclasses.vcproj +++ b/daemon/libs/pjproject-2.2.1/third_party/build/baseclasses/libbaseclasses.vcproj @@ -10,6 +10,9 @@ <Platform Name="Win32" /> + <Platform + Name="x64" + /> </Platforms> <ToolFiles> </ToolFiles> @@ -73,6 +76,66 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Release|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../baseclasses,../../../pjmedia/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WIN32_DCOM;WINVER=0x400" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG,WIN32" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Static|Win32" ConfigurationType="4" @@ -132,6 +195,67 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Debug-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../baseclasses,../../../pjmedia/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WIN32_DCOM;WINVER=0x400" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG,WIN32" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Dynamic|Win32" ConfigurationType="4" @@ -191,6 +315,67 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Debug-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../baseclasses,../../../pjmedia/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WIN32_DCOM;WINVER=0x400" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG,WIN32" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug|Win32" ConfigurationType="4" @@ -250,6 +435,67 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../baseclasses,../../../pjmedia/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WIN32_DCOM;WINVER=0x400" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG,WIN32" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release-Dynamic|Win32" ConfigurationType="4" @@ -309,6 +555,66 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Release-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../baseclasses,../../../pjmedia/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WIN32_DCOM;WINVER=0x400" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG,WIN32" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release-Static|Win32" ConfigurationType="4" @@ -368,6 +674,66 @@ Name="VCPostBuildEventTool" /> </Configuration> + <Configuration + Name="Release-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../baseclasses,../../../pjmedia/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WIN32_DCOM;WINVER=0x400" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG,WIN32" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> </Configurations> <References> </References> diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/g7221/Makefile b/daemon/libs/pjproject-2.2.1/third_party/build/g7221/Makefile similarity index 72% rename from daemon/libs/pjproject-2.1.0/third_party/build/g7221/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/build/g7221/Makefile index 60590307f600325294032ecd76a674f9a4e4f2c2..d0e7596413bf78650bd514fecfb8f20ef6b7deb2 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/g7221/Makefile +++ b/daemon/libs/pjproject-2.2.1/third_party/build/g7221/Makefile @@ -5,7 +5,13 @@ export LIBDIR := ../../lib RULES_MAK := $(PJDIR)/build/rules.mak -export G7221_CODEC_LIB := ../../lib/libg7221codec-$(TARGET_NAME)$(LIBEXT) +export G7221_CODEC_LIB := libg7221codec-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export G7221_CODEC_SONAME := libg7221codec.$(SHLIB_SUFFIX) +export G7221_CODEC_SHLIB := $(G7221_CODEC_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### # Gather all flags. @@ -34,7 +40,7 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -TARGETS := libg7221codec +TARGETS := $(G7221_CODEC_LIB) $(G7221_CODEC_SONAME) all: $(TARGETS) @@ -44,10 +50,14 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend libg7221codec clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(G7221_CODEC_LIB) $(G7221_CODEC_SONAME) -libg7221codec: - $(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $(G7221_CODEC_LIB) +libg7221codec: $(G7221_CODEC_LIB) +$(G7221_CODEC_SONAME): $(G7221_CODEC_LIB) +$(G7221_CODEC_LIB) $(G7221_CODEC_SONAME): + $(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean print_lib: $(MAKE) -f $(RULES_MAK) APP=G7221_CODEC app=libg7221codec $@ diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/g7221/libg7221codec.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/g7221/libg7221codec.vcproj similarity index 85% rename from daemon/libs/pjproject-2.1.0/third_party/build/g7221/libg7221codec.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/build/g7221/libg7221codec.vcproj index fb436777bd37b28292d242513f13a3afe38028c2..83b447b3c69ca93718371f4b7e6a19f29631238c 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/g7221/libg7221codec.vcproj +++ b/daemon/libs/pjproject-2.2.1/third_party/build/g7221/libg7221codec.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -91,9 +94,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -131,7 +134,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -158,9 +161,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -198,7 +201,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -225,12 +228,12 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -246,10 +249,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -265,7 +268,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -277,27 +280,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -316,7 +311,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -332,7 +326,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -344,24 +338,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -384,6 +370,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -399,7 +386,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -426,9 +413,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -451,6 +438,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -466,7 +454,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -493,9 +481,9 @@ /> </Configuration> <Configuration - Name="Debug|Win32" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -514,12 +502,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -551,12 +541,12 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -575,8 +565,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -592,7 +580,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -604,24 +592,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -660,7 +640,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -687,7 +667,7 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" @@ -728,7 +708,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -755,12 +735,12 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -776,14 +756,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -796,7 +776,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -808,27 +788,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -847,8 +819,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -864,7 +834,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -876,24 +846,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -932,7 +894,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -959,12 +921,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -983,6 +945,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -998,7 +962,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1010,19 +974,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1038,14 +1010,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1058,7 +1030,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1070,27 +1042,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1109,8 +1073,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1126,7 +1088,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1138,24 +1100,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1178,7 +1132,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1221,9 +1174,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1246,7 +1199,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1289,12 +1241,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1310,11 +1262,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1330,7 +1281,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1342,27 +1293,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1381,8 +1324,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1398,7 +1339,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1410,27 +1351,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1449,6 +1382,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1464,7 +1398,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1476,16 +1410,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1508,7 +1450,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1524,7 +1465,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1551,9 +1492,68 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1576,7 +1576,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1592,7 +1591,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1619,9 +1618,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1644,7 +1643,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1660,7 +1658,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1687,9 +1685,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1712,7 +1710,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1728,7 +1725,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1755,9 +1752,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1780,7 +1777,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1796,7 +1792,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1823,9 +1819,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1864,7 +1860,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1891,12 +1887,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1915,6 +1911,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1930,7 +1928,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1942,16 +1940,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -1974,6 +1980,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1989,7 +1996,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2016,9 +2023,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2041,6 +2048,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2056,7 +2064,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2083,9 +2091,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2108,6 +2116,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2123,7 +2132,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2150,9 +2159,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2175,6 +2184,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2190,7 +2200,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2217,9 +2227,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2242,6 +2252,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2284,9 +2295,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2309,6 +2320,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2351,12 +2363,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2375,6 +2387,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2390,7 +2404,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2402,16 +2416,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2434,6 +2456,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2449,7 +2472,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2476,9 +2499,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2501,6 +2524,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2516,7 +2540,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2543,9 +2567,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2568,6 +2592,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2583,7 +2608,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2610,9 +2635,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2650,7 +2675,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2677,9 +2702,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2717,7 +2742,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2744,9 +2769,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" @@ -2784,7 +2809,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2810,31 +2835,814 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > - <Filter - Name="common" - > - <File - RelativePath="..\..\g7221\common\basic_op.c" - > - </File> - <File - RelativePath="..\..\g7221\common\basic_op.h" - > - </File> + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="../..;../../g7221/common;../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <Filter + Name="common" + > + <File + RelativePath="..\..\g7221\common\basic_op.c" + > + </File> + <File + RelativePath="..\..\g7221\common\basic_op.h" + > + </File> + <File + RelativePath="..\..\g7221\common\basic_op_i.h" + > + </File> + <File + RelativePath="..\..\g7221\common\common.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Pocket PC 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Smartphone 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> <File - RelativePath="..\..\g7221\common\basic_op_i.h" + RelativePath="..\..\g7221\common\config.h" > </File> <File - RelativePath="..\..\g7221\common\common.c" + RelativePath="..\..\g7221\common\count.h" + > + </File> + <File + RelativePath="..\..\g7221\common\huff_def.h" + > + </File> + <File + RelativePath="..\..\g7221\common\huff_tab.c" > <FileConfiguration Name="Release|Win32" @@ -2846,7 +3654,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2855,7 +3663,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2864,7 +3672,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2873,7 +3681,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -2882,7 +3690,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2891,7 +3699,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2900,7 +3708,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2909,7 +3717,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2918,7 +3726,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2927,7 +3735,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2936,7 +3744,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2945,7 +3753,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2954,7 +3762,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2963,7 +3771,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2972,7 +3780,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2981,7 +3789,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2990,7 +3798,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -2999,7 +3807,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3008,7 +3816,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3017,7 +3825,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3026,7 +3834,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3035,7 +3843,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3044,7 +3852,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3053,7 +3861,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3062,7 +3870,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3071,7 +3879,61 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3080,7 +3942,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3089,7 +3951,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3098,7 +3960,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3107,7 +3969,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3116,7 +3978,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3125,7 +3987,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3134,7 +3996,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3143,7 +4005,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3152,7 +4014,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3161,7 +4023,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3170,7 +4032,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3179,7 +4041,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3188,7 +4050,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3216,19 +4078,11 @@ </FileConfiguration> </File> <File - RelativePath="..\..\g7221\common\config.h" - > - </File> - <File - RelativePath="..\..\g7221\common\count.h" - > - </File> - <File - RelativePath="..\..\g7221\common\huff_def.h" + RelativePath="..\..\g7221\common\huff_tab.h" > </File> <File - RelativePath="..\..\g7221\common\huff_tab.c" + RelativePath="..\..\g7221\common\tables.c" > <FileConfiguration Name="Release|Win32" @@ -3240,7 +4094,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3249,7 +4103,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3258,7 +4112,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3267,7 +4121,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3276,7 +4130,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3285,7 +4139,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3294,7 +4148,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3303,7 +4157,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3312,7 +4166,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3321,7 +4175,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3330,7 +4184,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3339,7 +4193,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3348,7 +4202,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3357,7 +4211,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3366,7 +4220,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3375,7 +4229,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3384,7 +4238,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3393,7 +4247,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3402,7 +4256,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3411,7 +4265,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3420,7 +4274,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3429,7 +4283,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3438,7 +4292,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3447,7 +4301,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3456,7 +4310,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3465,7 +4319,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3474,7 +4328,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3483,7 +4337,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3492,7 +4346,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3501,7 +4355,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3510,7 +4364,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3519,7 +4373,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3528,7 +4382,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3537,7 +4391,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3546,7 +4400,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3555,7 +4409,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3564,7 +4418,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3573,7 +4427,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3582,7 +4436,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3591,7 +4445,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3600,7 +4454,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3608,16 +4462,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\common\huff_tab.h" - > - </File> - <File - RelativePath="..\..\g7221\common\tables.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3626,7 +4472,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3635,7 +4481,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3644,7 +4490,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3653,7 +4499,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3662,7 +4508,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3670,8 +4516,24 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\..\g7221\common\tables.h" + > + </File> + <File + RelativePath="..\..\g7221\common\typedef.h" + > + </File> + </Filter> + <Filter + Name="decode" + > + <File + RelativePath="..\..\g7221\decode\coef2sam.c" + > <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3680,7 +4542,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3689,7 +4551,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3698,7 +4560,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3707,7 +4569,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3716,7 +4578,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3725,7 +4587,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3734,7 +4596,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3752,16 +4614,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3770,7 +4623,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3779,7 +4632,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3788,7 +4641,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3797,7 +4650,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3806,7 +4659,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3815,7 +4668,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3824,7 +4677,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3833,7 +4686,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3842,7 +4695,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3851,7 +4704,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3860,7 +4713,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3869,7 +4722,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3878,7 +4731,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -3887,7 +4740,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3896,7 +4749,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3905,7 +4758,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3914,7 +4767,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3923,7 +4776,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3932,7 +4785,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3941,7 +4794,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3950,7 +4803,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3959,7 +4812,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3968,7 +4821,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3977,7 +4830,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3986,7 +4839,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -3994,24 +4847,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\common\tables.h" - > - </File> - <File - RelativePath="..\..\g7221\common\typedef.h" - > - </File> - </Filter> - <Filter - Name="decode" - > - <File - RelativePath="..\..\g7221\decode\coef2sam.c" - > <FileConfiguration - Name="Release|Win32" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4020,7 +4857,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4029,7 +4866,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4038,7 +4875,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4047,7 +4884,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4056,7 +4893,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4065,7 +4902,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4074,7 +4911,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4083,7 +4920,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4092,7 +4929,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4101,7 +4938,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4110,7 +4947,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4119,7 +4956,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4127,8 +4964,12 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\..\g7221\decode\dct4_s.c" + > <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4137,7 +4978,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4146,7 +4987,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4155,7 +4996,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4164,7 +5005,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4173,7 +5014,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4182,7 +5023,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4191,7 +5032,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4200,7 +5041,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4209,7 +5050,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4218,7 +5059,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4227,7 +5068,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4236,7 +5077,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4245,7 +5086,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4254,7 +5095,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4263,7 +5104,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4272,7 +5113,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4281,7 +5122,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4290,7 +5131,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4299,7 +5140,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4308,7 +5149,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4317,7 +5158,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4326,7 +5167,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4335,7 +5176,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4344,7 +5185,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4353,7 +5194,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4362,7 +5203,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4371,7 +5212,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4380,7 +5221,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4388,12 +5229,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\decode\dct4_s.c" - > <FileConfiguration - Name="Release|Win32" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4402,7 +5239,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4411,7 +5248,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4420,7 +5257,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4429,7 +5266,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4438,7 +5275,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4447,7 +5284,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4456,7 +5293,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4465,7 +5302,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4474,7 +5311,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4483,7 +5320,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4492,7 +5329,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4501,7 +5338,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4510,7 +5347,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4519,7 +5356,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4528,7 +5365,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4537,7 +5374,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4546,7 +5383,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4555,7 +5392,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4563,8 +5400,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\..\g7221\decode\dct4_s.h" + > + </File> + <File + RelativePath="..\..\g7221\decode\decoder.c" + > <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4573,7 +5418,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4582,7 +5427,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4591,7 +5436,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4600,7 +5445,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -4609,7 +5454,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4618,7 +5463,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4627,7 +5472,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4636,7 +5481,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4645,7 +5490,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4654,7 +5499,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4663,7 +5508,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4672,7 +5517,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4681,7 +5526,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4690,7 +5535,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4699,7 +5544,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4708,7 +5553,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4717,7 +5562,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4726,7 +5571,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4735,7 +5580,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4744,7 +5589,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4753,7 +5598,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4762,7 +5607,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -4770,16 +5615,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\decode\dct4_s.h" - > - </File> - <File - RelativePath="..\..\g7221\decode\decoder.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4806,7 +5643,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4815,7 +5652,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4824,7 +5661,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4833,7 +5670,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4842,7 +5679,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4851,7 +5688,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4860,7 +5697,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4869,7 +5706,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4878,7 +5715,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4887,7 +5724,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4896,7 +5733,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4905,7 +5742,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4914,7 +5751,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4923,7 +5760,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4932,7 +5769,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4941,7 +5778,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4950,7 +5787,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4959,7 +5796,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4968,7 +5805,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4977,7 +5814,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4986,7 +5823,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -4995,7 +5832,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5003,8 +5840,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + </Filter> + <Filter + Name="encode" + > + <File + RelativePath="..\..\g7221\encode\dct4_a.c" + > <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5013,7 +5858,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5022,7 +5867,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5031,7 +5876,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5040,7 +5885,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -5049,7 +5894,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5058,7 +5903,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5067,7 +5912,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5076,7 +5921,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5085,7 +5930,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5094,7 +5939,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5103,7 +5948,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5112,7 +5957,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5121,7 +5966,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5130,7 +5975,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5139,7 +5984,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5148,7 +5993,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5156,16 +6010,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - </Filter> - <Filter - Name="encode" - > - <File - RelativePath="..\..\g7221\encode\dct4_a.c" - > <FileConfiguration - Name="Release|Win32" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5174,7 +6020,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5183,7 +6029,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5192,7 +6038,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5201,7 +6047,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5210,7 +6056,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5219,7 +6065,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5228,7 +6074,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5237,7 +6083,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5246,7 +6092,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5255,7 +6101,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5264,7 +6110,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5291,7 +6137,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5300,7 +6146,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5309,7 +6155,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5318,7 +6164,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5327,7 +6173,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5336,7 +6182,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5345,7 +6191,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5354,7 +6200,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5363,7 +6209,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5372,7 +6218,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5381,7 +6227,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5390,7 +6236,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5399,7 +6245,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5408,7 +6254,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5417,7 +6263,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5426,7 +6272,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5434,8 +6280,16 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\..\g7221\encode\dct4_a.h" + > + </File> + <File + RelativePath="..\..\g7221\encode\encoder.c" + > <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5444,7 +6298,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5453,7 +6307,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5462,7 +6316,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5471,7 +6325,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -5480,7 +6334,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5489,7 +6343,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5498,7 +6352,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5507,7 +6361,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5516,7 +6370,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5525,7 +6379,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5534,7 +6388,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5542,16 +6396,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\encode\dct4_a.h" - > - </File> - <File - RelativePath="..\..\g7221\encode\encoder.c" - > <FileConfiguration - Name="Release|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5560,7 +6406,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5569,7 +6415,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5578,7 +6424,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5587,7 +6433,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5596,7 +6442,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5605,7 +6451,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5614,7 +6460,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5623,7 +6469,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5632,7 +6478,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5641,7 +6487,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5650,7 +6496,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -5659,7 +6505,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5668,7 +6514,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5677,7 +6523,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5686,7 +6532,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5695,7 +6541,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5704,7 +6550,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5713,7 +6559,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5722,7 +6568,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5731,7 +6577,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5740,7 +6586,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5749,7 +6595,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5758,7 +6604,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5767,7 +6613,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5776,7 +6622,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5803,7 +6649,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5812,7 +6658,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5821,7 +6667,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5830,7 +6676,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5839,7 +6685,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5848,7 +6694,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5857,7 +6703,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5866,7 +6712,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -5874,8 +6720,12 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + <File + RelativePath="..\..\g7221\encode\sam2coef.c" + > <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -5884,7 +6734,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5893,7 +6743,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5902,7 +6752,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -5911,7 +6761,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -5920,7 +6770,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5928,12 +6778,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\g7221\encode\sam2coef.c" - > <FileConfiguration - Name="Release|Win32" + Name="Debug|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5942,7 +6788,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -5951,7 +6797,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5960,7 +6806,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5969,7 +6815,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -5978,7 +6824,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -5987,7 +6833,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5996,7 +6842,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -6005,7 +6851,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -6014,7 +6860,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -6023,7 +6869,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -6032,7 +6878,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -6041,7 +6887,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -6050,7 +6896,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -6059,7 +6905,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -6068,7 +6914,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -6077,7 +6923,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" > <Tool Name="VCCLCompilerTool" @@ -6086,7 +6932,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -6095,7 +6941,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6104,7 +6950,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6113,7 +6959,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6122,7 +6968,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6131,7 +6977,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6140,7 +6986,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6149,7 +6995,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6158,7 +7004,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6167,7 +7013,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6176,7 +7022,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6185,7 +7031,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6194,7 +7040,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6203,7 +7049,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6212,7 +7058,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6221,7 +7067,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6230,7 +7076,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6239,7 +7085,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6248,7 +7094,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6257,7 +7103,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6266,7 +7112,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6275,7 +7121,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" @@ -6284,7 +7130,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" > <Tool Name="VCCLCompilerTool" diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/gsm/Makefile b/daemon/libs/pjproject-2.2.1/third_party/build/gsm/Makefile similarity index 73% rename from daemon/libs/pjproject-2.1.0/third_party/build/gsm/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/build/gsm/Makefile index a265076e13ec46dc4ad15666b8549d3d21f0c7f0..0b949982e3747fbb1e27d194b08da4666b31c659 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/gsm/Makefile +++ b/daemon/libs/pjproject-2.2.1/third_party/build/gsm/Makefile @@ -5,7 +5,13 @@ export LIBDIR := ../../lib RULES_MAK := $(PJDIR)/build/rules.mak -export GSM_CODEC_LIB := ../../lib/libgsmcodec-$(TARGET_NAME)$(LIBEXT) +export GSM_CODEC_LIB := libgsmcodec-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export GSM_CODEC_SONAME := libgsmcodec.$(SHLIB_SUFFIX) +export GSM_CODEC_SHLIB := $(GSM_CODEC_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### # Gather all flags. @@ -35,7 +41,7 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -TARGETS := libgsmcodec +TARGETS := $(GSM_CODEC_LIB) $(GSM_CODEC_SONAME) all: $(TARGETS) @@ -45,10 +51,14 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend libgsmcodec clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONE: $(GSM_CODEC_LIB) $(GSM_CODEC_SONAME) -libgsmcodec: - $(MAKE) -f $(RULES_MAK) APP=GSM_CODEC app=libgsmcodec $(GSM_CODEC_LIB) +libgsmcodec: $(GSM_CODEC_LIB) +$(GSM_CODEC_SONAME): $(GSM_CODEC_LIB) +$(GSM_CODEC_LIB) $(GSM_CODEC_SONAME): + $(MAKE) -f $(RULES_MAK) APP=GSM_CODEC app=libgsmcodec $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean print_lib: $(MAKE) -f $(RULES_MAK) APP=GSM_CODEC app=libgsmcodec $@ diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/gsm/config.h b/daemon/libs/pjproject-2.2.1/third_party/build/gsm/config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/gsm/config.h rename to daemon/libs/pjproject-2.2.1/third_party/build/gsm/config.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/gsm/libgsmcodec.vcp b/daemon/libs/pjproject-2.2.1/third_party/build/gsm/libgsmcodec.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/gsm/libgsmcodec.vcp rename to daemon/libs/pjproject-2.2.1/third_party/build/gsm/libgsmcodec.vcp diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/speex/libspeex.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/gsm/libgsmcodec.vcproj similarity index 80% rename from daemon/libs/pjproject-2.1.0/third_party/build/speex/libspeex.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/build/gsm/libgsmcodec.vcproj index bedd2e53509b7fba599e8dc82ccb98b7f15f9c31..49f4ea5dd9683f306acc1ae52ae79d1c2dbe0c99 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/speex/libspeex.vcproj +++ b/daemon/libs/pjproject-2.2.1/third_party/build/gsm/libgsmcodec.vcproj @@ -2,25 +2,28 @@ <VisualStudioProject ProjectType="Visual C++" Version="8.00" - Name="libspeex" - ProjectGUID="{4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}" - RootNamespace="libspeex" + Name="libgsmcodec" + ProjectGUID="{E53AA5FF-B737-40AA-BD13-387EFA99023D}" + RootNamespace="libgsmcodec" > <Platforms> <Platform Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -57,9 +60,10 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -91,9 +95,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -115,10 +119,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -131,7 +135,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -158,9 +162,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -182,10 +186,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -198,7 +202,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -225,11 +229,12 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -245,14 +250,15 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -265,7 +271,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -277,26 +283,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -315,11 +314,10 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -332,7 +330,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -344,24 +342,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -383,10 +373,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -399,7 +389,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -426,9 +416,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -450,10 +440,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -466,7 +456,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -493,9 +483,9 @@ /> </Configuration> <Configuration - Name="Release|Win32" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -514,12 +504,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -551,11 +543,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -574,10 +567,10 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -590,7 +583,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -602,24 +595,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -641,9 +626,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -656,7 +642,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -683,9 +669,9 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -707,9 +693,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -722,7 +709,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -749,11 +736,12 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -769,13 +757,15 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -788,7 +778,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -800,26 +790,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -838,10 +821,10 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -854,7 +837,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -866,24 +849,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -905,9 +880,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -920,7 +896,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -947,12 +923,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -971,9 +946,11 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -986,7 +963,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -998,18 +975,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1025,14 +1011,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1045,7 +1031,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1057,26 +1043,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1095,11 +1074,10 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1112,7 +1090,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1124,24 +1102,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1163,10 +1133,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1206,9 +1176,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1230,10 +1200,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1273,11 +1243,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1293,14 +1264,15 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1313,7 +1285,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1325,26 +1297,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1363,11 +1328,10 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1380,7 +1344,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1392,27 +1356,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1431,9 +1386,11 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1446,7 +1403,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1458,16 +1415,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1489,9 +1454,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1504,7 +1470,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1531,9 +1497,69 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + WarningLevel="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1555,9 +1581,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1570,7 +1597,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1597,9 +1624,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1621,9 +1648,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1636,7 +1664,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1663,9 +1691,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1687,9 +1715,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1702,7 +1731,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1729,9 +1758,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1753,9 +1782,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1768,7 +1798,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1795,9 +1825,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1819,9 +1849,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1834,7 +1865,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1861,12 +1892,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1885,9 +1915,11 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1900,7 +1932,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1912,16 +1944,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1943,10 +1983,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1959,7 +1999,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1986,9 +2026,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2010,10 +2050,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2026,7 +2066,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2053,9 +2093,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2077,10 +2117,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2093,7 +2133,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2120,9 +2160,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2144,10 +2184,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2160,7 +2200,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2187,9 +2227,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2211,10 +2251,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2254,9 +2294,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2278,10 +2318,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2321,12 +2361,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2345,9 +2384,11 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2360,7 +2401,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2372,16 +2413,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2403,9 +2452,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2418,7 +2468,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2445,9 +2495,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2469,9 +2519,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2484,7 +2535,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2511,9 +2562,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2535,9 +2586,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2550,7 +2602,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2577,9 +2629,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2601,9 +2653,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2616,7 +2669,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2643,9 +2696,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2667,9 +2720,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2682,7 +2736,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2709,9 +2763,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2733,9 +2787,10 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" - PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + WarningLevel="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -2748,7 +2803,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2774,77 +2829,351 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + WarningLevel="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + WarningLevel="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + WarningLevel="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + WarningLevel="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../gsm/inc" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + WarningLevel="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" > <File - RelativePath="..\..\speex\libspeex\bits.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" - > - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Debug-Dynamic|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release-Static|Win32" - > - <Tool - Name="VCCLCompilerTool" - Optimization="2" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\cb_search.c" + RelativePath="..\..\gsm\src\add.c" > <FileConfiguration Name="Debug|Win32" @@ -2856,17 +3185,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -2875,17 +3203,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2894,21 +3221,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\exc_10_16_table.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2917,17 +3239,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2936,17 +3257,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2955,18 +3275,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\exc_10_32_table.c" + RelativePath="..\..\gsm\src\code.c" > <FileConfiguration Name="Debug|Win32" @@ -2978,17 +3297,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -2997,17 +3315,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3016,21 +3333,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\exc_20_32_table.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3039,17 +3351,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3058,17 +3369,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3077,18 +3387,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\exc_5_256_table.c" + RelativePath="..\..\gsm\src\debug.c" > <FileConfiguration Name="Debug|Win32" @@ -3100,17 +3409,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3119,17 +3427,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3138,21 +3445,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\exc_5_64_table.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3161,17 +3463,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3180,17 +3481,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3199,18 +3499,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\exc_8_128_table.c" + RelativePath="..\..\gsm\src\decode.c" > <FileConfiguration Name="Debug|Win32" @@ -3222,17 +3521,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3241,17 +3539,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3260,21 +3557,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\fftwrap.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3283,17 +3575,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3302,17 +3593,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3321,18 +3611,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\filterbank.c" + RelativePath="..\..\gsm\src\gsm_create.c" > <FileConfiguration Name="Debug|Win32" @@ -3344,17 +3633,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3363,17 +3651,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3382,21 +3669,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\filters.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3405,17 +3687,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3424,17 +3705,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3443,18 +3723,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\gain_table.c" + RelativePath="..\..\gsm\src\gsm_decode.c" > <FileConfiguration Name="Debug|Win32" @@ -3466,17 +3745,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3485,17 +3763,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3504,21 +3781,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\gain_table_lbr.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3527,17 +3799,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3546,17 +3817,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3565,18 +3835,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\hexc_10_32_table.c" + RelativePath="..\..\gsm\src\gsm_destroy.c" > <FileConfiguration Name="Debug|Win32" @@ -3588,17 +3857,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3607,17 +3875,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3626,21 +3893,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\hexc_table.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3649,17 +3911,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3668,17 +3929,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3687,18 +3947,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\high_lsp_tables.c" + RelativePath="..\..\gsm\src\gsm_encode.c" > <FileConfiguration Name="Debug|Win32" @@ -3710,17 +3969,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3729,17 +3987,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3748,21 +4005,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\kiss_fft.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3771,17 +4023,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3790,17 +4041,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3809,18 +4059,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\kiss_fftr.c" + RelativePath="..\..\gsm\src\gsm_explode.c" > <FileConfiguration Name="Debug|Win32" @@ -3832,17 +4081,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3851,17 +4099,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3870,21 +4117,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\lpc.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3893,17 +4135,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3912,17 +4153,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3931,18 +4171,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\lsp.c" + RelativePath="..\..\gsm\src\gsm_implode.c" > <FileConfiguration Name="Debug|Win32" @@ -3954,17 +4193,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3973,17 +4211,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3992,21 +4229,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\lsp_tables_nb.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4015,17 +4247,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4034,17 +4265,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4053,18 +4283,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\ltp.c" + RelativePath="..\..\gsm\src\gsm_option.c" > <FileConfiguration Name="Debug|Win32" @@ -4076,17 +4305,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4095,17 +4323,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4114,21 +4341,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\mdf.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4137,17 +4359,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4156,17 +4377,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4175,18 +4395,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\modes.c" + RelativePath="..\..\gsm\src\gsm_print.c" > <FileConfiguration Name="Debug|Win32" @@ -4198,17 +4417,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4217,17 +4435,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4236,25 +4453,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\modes_wb.c" - > - </File> - <File - RelativePath="..\..\speex\libspeex\nb_celp.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4263,17 +4471,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4282,17 +4489,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4301,18 +4507,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\preprocess.c" + RelativePath="..\..\gsm\src\long_term.c" > <FileConfiguration Name="Debug|Win32" @@ -4324,17 +4529,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4343,17 +4547,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4362,21 +4565,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\quant_lsp.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4385,17 +4583,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4404,17 +4601,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4423,18 +4619,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\resample.c" + RelativePath="..\..\gsm\src\lpc.c" > <FileConfiguration Name="Debug|Win32" @@ -4446,17 +4641,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4465,17 +4659,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4484,21 +4677,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\sb_celp.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4507,17 +4695,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4526,17 +4713,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4545,18 +4731,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\smallft.c" + RelativePath="..\..\gsm\src\preprocess.c" > <FileConfiguration Name="Debug|Win32" @@ -4568,17 +4753,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4587,17 +4771,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4606,21 +4789,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\speex.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4629,17 +4807,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4648,17 +4825,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4667,18 +4843,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\speex_callbacks.c" + RelativePath="..\..\gsm\src\rpe.c" > <FileConfiguration Name="Debug|Win32" @@ -4690,17 +4865,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4709,17 +4883,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4728,21 +4901,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\speex_header.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4751,17 +4919,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4770,17 +4937,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4789,18 +4955,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\stereo.c" + RelativePath="..\..\gsm\src\short_term.c" > <FileConfiguration Name="Debug|Win32" @@ -4812,17 +4977,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4831,17 +4995,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4850,21 +5013,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\vbr.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4873,17 +5031,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4892,17 +5049,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4911,18 +5067,17 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> </File> <File - RelativePath="..\..\speex\libspeex\vq.c" + RelativePath="..\..\gsm\src\table.c" > <FileConfiguration Name="Debug|Win32" @@ -4934,17 +5089,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4953,17 +5107,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4972,21 +5125,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\speex\libspeex\window.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4995,17 +5143,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -5014,17 +5161,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -5033,11 +5179,10 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" - Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="" /> @@ -5048,156 +5193,32 @@ Name="Header Files" Filter="h;hpp;hxx;hm;inl" > - <File - RelativePath="..\..\speex\libspeex\_kiss_fft_guts.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\arch.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\cb_search.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\cb_search_sse.h" - > - </File> <File RelativePath="config.h" > </File> <File - RelativePath="..\..\speex\libspeex\fftwrap.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\filterbank.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\filters.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\filters_sse.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\fixed_debug.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\fixed_generic.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\kiss_fft.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\kiss_fftr.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\lpc.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\lsp.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\ltp.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\ltp_sse.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\math_approx.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\modes.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\nb_celp.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\os_support.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\pseudofloat.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\quant_lsp.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\sb_celp.h" - > - </File> - <File - RelativePath="..\..\speex\libspeex\smallft.h" - > - </File> - <File - RelativePath="..\..\speex\include\speex\speex.h" - > - </File> - <File - RelativePath="..\..\speex\include\speex\speex_bits.h" - > - </File> - <File - RelativePath="..\..\speex\include\speex\speex_callbacks.h" - > - </File> - <File - RelativePath="..\..\speex\include\speex\speex_echo.h" - > - </File> - <File - RelativePath="..\..\speex\include\speex\speex_header.h" - > - </File> - <File - RelativePath="..\..\speex\include\speex\speex_jitter.h" - > - </File> - <File - RelativePath="..\..\speex\include\speex\speex_preprocess.h" - > - </File> - <File - RelativePath="..\..\speex\include\speex\speex_resampler.h" + RelativePath="..\..\gsm\inc\config.h" > </File> <File - RelativePath="..\..\speex\include\speex\speex_stereo.h" + RelativePath="..\..\gsm\inc\gsm.h" > </File> <File - RelativePath="..\..\speex\include\speex\speex_types.h" + RelativePath="..\..\gsm\inc\private.h" > </File> <File - RelativePath="..\..\speex\libspeex\stack_alloc.h" + RelativePath="..\..\gsm\inc\proto.h" > </File> <File - RelativePath="..\..\speex\libspeex\vbr.h" + RelativePath="..\..\gsm\inc\toast.h" > </File> <File - RelativePath="..\..\speex\libspeex\vq.h" + RelativePath="..\..\gsm\inc\unproto.h" > </File> </Filter> diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/ilbc/Makefile b/daemon/libs/pjproject-2.2.1/third_party/build/ilbc/Makefile similarity index 75% rename from daemon/libs/pjproject-2.1.0/third_party/build/ilbc/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/build/ilbc/Makefile index 50b4ab7e7b7055b1555d56fab0b36a9565a17bdc..39ac6b2b0d1f6efa2f430d687888ffc27cf1bff7 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/ilbc/Makefile +++ b/daemon/libs/pjproject-2.2.1/third_party/build/ilbc/Makefile @@ -5,7 +5,13 @@ export LIBDIR := ../../lib RULES_MAK := $(PJDIR)/build/rules.mak -export ILBC_LIB := ../../lib/libilbccodec-$(TARGET_NAME)$(LIBEXT) +export ILBC_LIB := libilbccodec-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export ILBC_SONAME := libilbccodec.$(SHLIB_SUFFIX) +export ILBC_SHLIB := $(ILBC_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### # Gather all flags. @@ -36,7 +42,7 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -TARGETS := libilbccodec +TARGETS := $(ILBC_LIB) $(ILBC_SONAME) all: $(TARGETS) @@ -46,10 +52,14 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend libilbccodec clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(ILBC_LIB) $(ILBC_SONAME) -libilbccodec: - $(MAKE) -f $(RULES_MAK) APP=ILBC app=libilbccodec $(ILBC_LIB) +libilbccodec: $(ILBC_LIB) +$(ILBC_SONAME): $(ILBC_LIB) +$(ILBC_LIB) $(ILBC_SONAME): + $(MAKE) -f $(RULES_MAK) APP=ILBC app=libilbccodec $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean print_lib: $(MAKE) -f $(RULES_MAK) APP=ILBC app=libilbccodec $@ diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/ilbc/libilbccodec.vcp b/daemon/libs/pjproject-2.2.1/third_party/build/ilbc/libilbccodec.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/ilbc/libilbccodec.vcp rename to daemon/libs/pjproject-2.2.1/third_party/build/ilbc/libilbccodec.vcp diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/ilbc/libilbccodec.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/ilbc/libilbccodec.vcproj similarity index 70% rename from daemon/libs/pjproject-2.1.0/third_party/build/ilbc/libilbccodec.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/build/ilbc/libilbccodec.vcproj index bacc7ec005fa963413837142ce4bb6c42b5cd4ff..357fa8794f6ca980e6fb8a96cb86241f9642b073 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/ilbc/libilbccodec.vcproj +++ b/daemon/libs/pjproject-2.2.1/third_party/build/ilbc/libilbccodec.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -34,14 +37,11 @@ <Configurations> <Configuration Name="Debug|Win32" + ConfigurationType="4" InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" - - ConfigurationType="4" - UseOfMFC="0" > <Tool Name="VCPreBuildEventTool" @@ -61,7 +61,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" /> <Tool @@ -76,7 +75,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -95,14 +93,11 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Debug|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -121,10 +116,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -138,8 +132,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -166,14 +159,11 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Debug|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -192,10 +182,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -209,8 +198,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -237,15 +225,12 @@ /> </Configuration> <Configuration - Name="Release|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Debug|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -261,12 +246,13 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -280,7 +266,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -299,14 +284,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -326,9 +309,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="" PrecompiledHeaderFile="" /> <Tool @@ -342,8 +322,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -355,29 +334,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -396,10 +364,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -413,8 +380,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -441,15 +407,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -468,8 +430,9 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="" PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" /> <Tool @@ -483,8 +446,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -496,21 +458,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -526,13 +494,11 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="" PrecompiledHeaderFile="" /> <Tool @@ -546,8 +512,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -559,29 +524,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Static|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -601,9 +556,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="" PrecompiledHeaderFile="" /> <Tool @@ -617,8 +569,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -630,30 +581,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -672,8 +611,9 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="" PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" /> <Tool @@ -687,8 +627,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -700,21 +639,26 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -733,10 +677,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -750,8 +693,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -778,14 +720,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Static|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -801,14 +741,13 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -821,8 +760,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -834,30 +772,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Release-Dynamic|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -877,7 +804,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" /> <Tool @@ -892,7 +818,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -911,14 +836,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -937,10 +859,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -954,8 +875,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -982,14 +902,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1008,10 +925,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1025,8 +941,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1053,15 +968,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="2" - + Name="Release-Dynamic|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1077,11 +989,11 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - PrecompiledHeaderFile="" /> <Tool @@ -1096,7 +1008,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -1115,14 +1026,12 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Dynamic|Win32" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1142,9 +1051,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="" PrecompiledHeaderFile="" /> <Tool @@ -1158,8 +1064,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1171,29 +1076,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1212,10 +1106,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1229,8 +1122,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1257,14 +1149,11 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1283,10 +1172,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1300,8 +1188,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1328,14 +1215,12 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Debug-Dynamic|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1351,14 +1236,13 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1371,8 +1255,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1384,29 +1267,75 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + </Configuration> + <Configuration + Name="Release-Static|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" /> - <DebuggerTool + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1425,10 +1354,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1443,7 +1371,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -1470,14 +1397,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Release-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - - ConfigurationType="4" > <Tool Name="VCPreBuildEventTool" @@ -1496,10 +1420,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1513,8 +1436,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1541,14 +1463,12 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - - ATLMinimizesCRunTimeLibraryUsage="false" - - CharacterSet="1" - + Name="Release-Static|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1564,13 +1484,11 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - - ExecutionBucket="7" - AdditionalIncludeDirectories="" PrecompiledHeaderFile="" /> <Tool @@ -1584,8 +1502,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1597,28 +1514,17 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1639,7 +1545,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -1655,8 +1560,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1683,13 +1587,10 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1710,7 +1611,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -1726,8 +1626,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1754,13 +1653,10 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1781,7 +1677,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -1797,8 +1692,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1825,13 +1719,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1852,7 +1743,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -1868,8 +1758,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1896,13 +1785,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1923,7 +1809,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -1939,8 +1824,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1967,13 +1851,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -1994,7 +1875,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2010,8 +1890,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2038,13 +1917,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2065,7 +1941,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2081,8 +1956,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2109,13 +1983,10 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2136,7 +2007,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2152,8 +2022,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2180,13 +2049,10 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2207,7 +2073,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2223,8 +2088,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2251,13 +2115,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2278,7 +2139,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2294,8 +2154,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2322,13 +2181,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2349,7 +2205,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2365,8 +2220,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2393,13 +2247,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2420,7 +2271,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2436,8 +2286,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2464,13 +2313,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2491,7 +2337,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2508,7 +2353,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -2535,13 +2379,10 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2562,7 +2403,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2578,8 +2418,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2606,13 +2445,10 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2633,7 +2469,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2649,8 +2484,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2677,13 +2511,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2704,7 +2535,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2720,8 +2550,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2748,13 +2577,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2775,7 +2601,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2791,8 +2616,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2819,13 +2643,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2846,7 +2667,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2862,8 +2682,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2890,13 +2709,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" - ConfigurationType="4" > <Tool @@ -2917,7 +2733,6 @@ <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="_LIB;" - ExecutionBucket="7" AdditionalIncludeDirectories="" PrecompiledHeaderFile="" @@ -2934,7 +2749,6 @@ <Tool Name="VCLibrarianTool" OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" - /> <Tool Name="VCALinkTool" @@ -2960,19 +2774,1489 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" > - <File - RelativePath="..\..\ilbc\anaFilter.c" - > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" + ExecutionBucket="7" + AdditionalIncludeDirectories="" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\..\ilbc\anaFilter.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\constants.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\createCB.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\doCPLC.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\enhancer.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\filter.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\FrameClassify.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\gainquant.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\getCBvec.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\helpfun.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\hpInput.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\ilbc\hpOutput.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration - Name="Debug|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2980,7 +4264,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2988,7 +4272,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2996,7 +4280,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3004,7 +4288,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3019,9 +4303,17 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\constants.c" + RelativePath="..\..\ilbc\iCBConstruct.c" > <FileConfiguration Name="Debug|Win32" @@ -3032,7 +4324,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3040,7 +4332,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3048,7 +4340,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3056,7 +4348,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3064,19 +4356,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\createCB.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3084,7 +4372,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3092,7 +4380,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3100,7 +4388,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3108,7 +4396,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3116,7 +4404,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3125,7 +4413,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\doCPLC.c" + RelativePath="..\..\ilbc\iCBSearch.c" > <FileConfiguration Name="Debug|Win32" @@ -3136,7 +4424,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3144,7 +4432,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3152,7 +4440,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3160,7 +4448,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3168,19 +4456,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\enhancer.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3188,7 +4472,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3196,7 +4480,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3204,7 +4488,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3212,7 +4496,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3220,7 +4504,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3229,7 +4513,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\filter.c" + RelativePath="..\..\ilbc\iLBC_decode.c" > <FileConfiguration Name="Debug|Win32" @@ -3240,7 +4524,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3248,7 +4532,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3256,7 +4540,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3264,7 +4548,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3272,19 +4556,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\FrameClassify.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3292,7 +4572,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3300,7 +4580,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3308,7 +4588,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3316,7 +4596,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3324,7 +4604,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3333,7 +4613,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\gainquant.c" + RelativePath="..\..\ilbc\iLBC_encode.c" > <FileConfiguration Name="Debug|Win32" @@ -3344,7 +4624,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3352,7 +4632,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3360,7 +4640,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3368,7 +4648,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3376,19 +4656,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\getCBvec.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3396,7 +4672,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3404,7 +4680,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3412,7 +4688,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3420,7 +4696,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3428,7 +4704,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3437,7 +4713,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\helpfun.c" + RelativePath="..\..\ilbc\LPCdecode.c" > <FileConfiguration Name="Debug|Win32" @@ -3448,7 +4724,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3456,7 +4732,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3464,7 +4740,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3472,7 +4748,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3480,19 +4756,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\hpInput.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3500,7 +4772,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3508,7 +4780,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3516,7 +4788,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3524,7 +4796,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3532,7 +4804,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3541,7 +4813,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\hpOutput.c" + RelativePath="..\..\ilbc\LPCencode.c" > <FileConfiguration Name="Debug|Win32" @@ -3552,7 +4824,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3560,7 +4832,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3568,7 +4840,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3576,7 +4848,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3584,19 +4856,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\iCBConstruct.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3604,7 +4872,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3612,7 +4880,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3620,7 +4888,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3628,7 +4896,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3636,7 +4904,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3645,7 +4913,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\iCBSearch.c" + RelativePath="..\..\ilbc\lsf.c" > <FileConfiguration Name="Debug|Win32" @@ -3656,7 +4924,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3664,7 +4932,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3672,7 +4940,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3680,7 +4948,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3688,19 +4956,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\iLBC_decode.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3708,7 +4972,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3716,7 +4980,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3724,7 +4988,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3732,7 +4996,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3740,7 +5004,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3749,7 +5013,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\iLBC_encode.c" + RelativePath="..\..\ilbc\packing.c" > <FileConfiguration Name="Debug|Win32" @@ -3760,7 +5024,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3768,7 +5032,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3776,7 +5040,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3784,7 +5048,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3792,19 +5056,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\LPCdecode.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3812,7 +5072,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3820,7 +5080,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3828,7 +5088,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3836,7 +5096,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3844,7 +5104,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3853,7 +5113,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\LPCencode.c" + RelativePath="..\..\ilbc\StateConstructW.c" > <FileConfiguration Name="Debug|Win32" @@ -3864,7 +5124,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3872,7 +5132,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3880,7 +5140,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3888,7 +5148,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3896,19 +5156,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\lsf.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3916,7 +5172,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3924,7 +5180,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3932,7 +5188,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3940,7 +5196,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3948,7 +5204,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3957,7 +5213,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\packing.c" + RelativePath="..\..\ilbc\StateSearchW.c" > <FileConfiguration Name="Debug|Win32" @@ -3968,7 +5224,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3976,7 +5232,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3984,7 +5240,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3992,7 +5248,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4000,19 +5256,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\StateConstructW.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4020,7 +5272,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4028,7 +5280,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4036,7 +5288,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4044,7 +5296,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4052,7 +5304,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4061,7 +5313,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\ilbc\StateSearchW.c" + RelativePath="..\..\ilbc\syntFilter.c" > <FileConfiguration Name="Debug|Win32" @@ -4072,7 +5324,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4080,7 +5332,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4088,7 +5340,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4096,7 +5348,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4104,19 +5356,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\ilbc\syntFilter.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4124,7 +5372,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4132,7 +5380,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4140,7 +5388,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4148,7 +5396,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4156,7 +5404,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/milenage/Makefile b/daemon/libs/pjproject-2.2.1/third_party/build/milenage/Makefile similarity index 70% rename from daemon/libs/pjproject-2.1.0/third_party/build/milenage/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/build/milenage/Makefile index 094ddeaa7e42e8763816d5e3ae84f8fa21c18cef..18a48b91af37544d4a4c63ec3198a016a1881fba 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/milenage/Makefile +++ b/daemon/libs/pjproject-2.2.1/third_party/build/milenage/Makefile @@ -5,7 +5,13 @@ export LIBDIR := ../../lib RULES_MAK := $(PJDIR)/build/rules.mak -export MILENAGE_LIB := ../../lib/libmilenage-$(TARGET_NAME)$(LIBEXT) +export MILENAGE_LIB := libmilenage-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export MILENAGE_SONAME := libmilenage.$(SHLIB_SUFFIX) +export MILENAGE_SHLIB := $(MILENAGE_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### # Gather all flags. @@ -29,7 +35,7 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -TARGETS := libmilenage +TARGETS := $(MILENAGE_LIB) $(MILENAGE_SONAME) all: $(TARGETS) @@ -39,10 +45,14 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend libmilenage clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(MILENAGE_LIB) $(MILENAGE_SONAME) -libmilenage: - $(MAKE) -f $(RULES_MAK) APP=MILENAGE app=libmilenage $(MILENAGE_LIB) +libmilenage: $(MILENAGE_LIB) +$(MILENAGE_SONAME): $(MILENAGE_LIB) +$(MILENAGE_LIB) $(MILENAGE_SONAME): + $(MAKE) -f $(RULES_MAK) APP=MILENAGE app=libmilenage $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean print_lib: $(MAKE) -f $(RULES_MAK) APP=MILENAGE app=libmilenage $@ diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/milenage/libmilenage.vcp b/daemon/libs/pjproject-2.2.1/third_party/build/milenage/libmilenage.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/milenage/libmilenage.vcp rename to daemon/libs/pjproject-2.2.1/third_party/build/milenage/libmilenage.vcp diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/milenage/libmilenage.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/milenage/libmilenage.vcproj similarity index 73% rename from daemon/libs/pjproject-2.1.0/third_party/build/milenage/libmilenage.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/build/milenage/libmilenage.vcproj index c0f63e5a7eb003bfde97fbfae012478c9818d51f..67c5589a5ea4fb50aa6979e3ab14ca0d598b1239 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/milenage/libmilenage.vcproj +++ b/daemon/libs/pjproject-2.2.1/third_party/build/milenage/libmilenage.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -34,11 +37,11 @@ <Configurations> <Configuration Name="Debug|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -57,8 +60,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -72,7 +75,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -91,11 +94,11 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -114,9 +117,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -130,7 +133,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -157,11 +160,11 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -180,9 +183,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -196,7 +199,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -222,13 +225,73 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -247,8 +310,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -262,7 +325,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -281,11 +344,11 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -304,9 +367,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -320,7 +383,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -347,11 +410,11 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -370,9 +433,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -386,7 +449,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -412,13 +475,72 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Release|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Static|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -437,8 +559,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -452,7 +574,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -471,11 +593,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -494,9 +616,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -510,7 +632,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -537,11 +659,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -560,9 +682,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -576,7 +698,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -602,13 +724,73 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release-Dynamic|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -627,8 +809,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -642,7 +824,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -661,11 +843,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -684,9 +866,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -700,7 +882,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -727,11 +909,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -750,9 +932,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -766,7 +948,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -792,13 +974,72 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Release-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Debug-Dynamic|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -817,8 +1058,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -832,7 +1073,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -851,11 +1092,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -874,9 +1115,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -890,7 +1131,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -917,11 +1158,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -940,9 +1181,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -956,7 +1197,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -982,13 +1223,73 @@ <DebuggerTool /> </Configuration> + <Configuration + Name="Debug-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> <Configuration Name="Release-Static|Win32" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1007,8 +1308,8 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1022,7 +1323,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1041,11 +1342,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1064,9 +1365,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1080,7 +1381,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1107,11 +1408,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1130,9 +1431,9 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" /> <Tool @@ -1146,7 +1447,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1173,11 +1474,12 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|x64" ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1193,10 +1495,68 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + AdditionalIncludeDirectories="../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + ConfigurationType="4" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1212,7 +1572,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1239,10 +1599,10 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1262,7 +1622,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1278,7 +1638,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1305,10 +1665,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1328,7 +1688,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1344,7 +1704,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1371,10 +1731,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1394,7 +1754,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1410,7 +1770,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1437,10 +1797,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1460,7 +1820,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1476,7 +1836,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1503,10 +1863,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1526,7 +1886,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1542,7 +1902,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1569,10 +1929,10 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1592,7 +1952,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1608,7 +1968,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1635,10 +1995,10 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1658,7 +2018,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1674,7 +2034,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1701,10 +2061,10 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1724,7 +2084,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1740,7 +2100,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1767,10 +2127,10 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1790,7 +2150,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1806,7 +2166,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1833,10 +2193,10 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1856,7 +2216,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1872,7 +2232,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1899,10 +2259,10 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1922,7 +2282,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -1938,7 +2298,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1966,9 +2326,9 @@ </Configuration> <Configuration Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -1988,7 +2348,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2004,7 +2364,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2032,9 +2392,9 @@ </Configuration> <Configuration Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2054,7 +2414,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2070,7 +2430,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2098,9 +2458,9 @@ </Configuration> <Configuration Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2120,7 +2480,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2136,7 +2496,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2164,9 +2524,9 @@ </Configuration> <Configuration Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2186,7 +2546,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2202,7 +2562,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2230,9 +2590,9 @@ </Configuration> <Configuration Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2252,7 +2612,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2268,7 +2628,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2296,9 +2656,9 @@ </Configuration> <Configuration Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2318,7 +2678,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2334,7 +2694,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2362,9 +2722,9 @@ </Configuration> <Configuration Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2384,7 +2744,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2400,7 +2760,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2428,9 +2788,9 @@ </Configuration> <Configuration Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2450,7 +2810,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2466,7 +2826,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2494,9 +2854,9 @@ </Configuration> <Configuration Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2516,7 +2876,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2532,7 +2892,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2560,9 +2920,9 @@ </Configuration> <Configuration Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2582,7 +2942,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2598,7 +2958,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2626,9 +2986,9 @@ </Configuration> <Configuration Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2648,7 +3008,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2664,7 +3024,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2692,9 +3052,9 @@ </Configuration> <Configuration Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" - ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" ConfigurationType="4" > <Tool @@ -2714,7 +3074,7 @@ /> <Tool Name="VCCLCompilerTool" - PreprocessorDefinitions="_LIB;" + PreprocessorDefinitions="_LIB;" ExecutionBucket="7" AdditionalIncludeDirectories="../../../pjlib/include" PrecompiledHeaderFile="" @@ -2730,7 +3090,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2775,6 +3135,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2783,6 +3151,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2791,6 +3167,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2799,6 +3183,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2807,6 +3199,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2815,6 +3215,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\..\milenage\rijndael.c" @@ -2827,6 +3235,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2835,6 +3251,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2843,6 +3267,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2851,6 +3283,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2859,6 +3299,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2867,6 +3315,14 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> </Filter> <Filter diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/os-auto.mak.in b/daemon/libs/pjproject-2.2.1/third_party/build/os-auto.mak.in similarity index 76% rename from daemon/libs/pjproject-2.1.0/third_party/build/os-auto.mak.in rename to daemon/libs/pjproject-2.2.1/third_party/build/os-auto.mak.in index f1de03f8bec0ddc6381fbb77807dec28bdab42b0..8be95970319c2b10ec30c817df6cb1529ad007ca 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/os-auto.mak.in +++ b/daemon/libs/pjproject-2.2.1/third_party/build/os-auto.mak.in @@ -31,3 +31,12 @@ DIRS += portaudio endif endif +ifeq (@ac_external_srtp@,1) +# External SRTP +else +DIRS += srtp +endif + +ifeq (@ac_pjmedia_resample@,libresample) +DIRS += resample +endif diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/os-darwinos.mak b/daemon/libs/pjproject-2.2.1/third_party/build/os-darwinos.mak similarity index 70% rename from daemon/libs/pjproject-2.1.0/third_party/build/os-darwinos.mak rename to daemon/libs/pjproject-2.2.1/third_party/build/os-darwinos.mak index a9c740f7fda2d9bbc8f4ee23970eaf0c4eeaaf4e..6a53b712a451982473dc7fdbe3d257058e302f81 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/os-darwinos.mak +++ b/daemon/libs/pjproject-2.2.1/third_party/build/os-darwinos.mak @@ -3,5 +3,7 @@ DIRS += ilbc DIRS += speex DIRS += portaudio DIRS += g7221 +DIRS += srtp +DIRS += resample diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/os-linux.mak b/daemon/libs/pjproject-2.2.1/third_party/build/os-linux.mak similarity index 70% rename from daemon/libs/pjproject-2.1.0/third_party/build/os-linux.mak rename to daemon/libs/pjproject-2.2.1/third_party/build/os-linux.mak index a9c740f7fda2d9bbc8f4ee23970eaf0c4eeaaf4e..6a53b712a451982473dc7fdbe3d257058e302f81 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/os-linux.mak +++ b/daemon/libs/pjproject-2.2.1/third_party/build/os-linux.mak @@ -3,5 +3,7 @@ DIRS += ilbc DIRS += speex DIRS += portaudio DIRS += g7221 +DIRS += srtp +DIRS += resample diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/os-win32.mak b/daemon/libs/pjproject-2.2.1/third_party/build/os-win32.mak similarity index 70% rename from daemon/libs/pjproject-2.1.0/third_party/build/os-win32.mak rename to daemon/libs/pjproject-2.2.1/third_party/build/os-win32.mak index a9c740f7fda2d9bbc8f4ee23970eaf0c4eeaaf4e..6a53b712a451982473dc7fdbe3d257058e302f81 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/os-win32.mak +++ b/daemon/libs/pjproject-2.2.1/third_party/build/os-win32.mak @@ -3,5 +3,7 @@ DIRS += ilbc DIRS += speex DIRS += portaudio DIRS += g7221 +DIRS += srtp +DIRS += resample diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/Makefile b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/Makefile similarity index 71% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/Makefile index ad81571aad2f0581e0012d2211da80cb24080e33..c1ad23a23b8ba5b1cf5b682e3ff05031d73e207d 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/Makefile +++ b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/Makefile @@ -6,7 +6,13 @@ export LIBDIR := ../../lib RULES_MAK := $(PJDIR)/build/rules.mak -export PORTAUDIO_LIB:=../../lib/libportaudio-$(TARGET_NAME)$(LIBEXT) +export PORTAUDIO_LIB:=libportaudio-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export PORTAUDIO_SONAME := libportaudio.$(SHLIB_SUFFIX) +export PORTAUDIO_SHLIB := $(PORTAUDIO_SONAME).$(PJ_VERSION_MAJOR) +endif PORTAUDIO_OBJS += pa_allocation.o \ pa_converters.o \ @@ -36,6 +42,7 @@ export _LDFLAGS += $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ export PORTAUDIO_SRCDIR = src export PORTAUDIO_OBJS += export PORTAUDIO_CFLAGS += $(_CFLAGS) +export PORTAUDIO_LDFLAGS += $(_LDFLAGS) export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT ############################################################################### @@ -43,17 +50,21 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -TARGETS := libportaudio +TARGETS := $(PORTAUDIO_LIB) $(PORTAUDIO_SONAME) all: $(TARGETS) dep: depend distclean: realclean -.PHONY: dep depend libportaudio clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PORTAUDIO_LIB) $(PORTAUDIO_SONAME) -libportaudio: - $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $(PORTAUDIO_LIB) +libportaudio: $(PORTAUDIO_LIB) +$(PORTAUDIO_SONAME): $(PORTAUDIO_LIB) +$(PORTAUDIO_LIB) $(PORTAUDIO_SONAME): + $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean: $(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@ diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/libportaudio.vcp b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/libportaudio.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/libportaudio.vcp rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/libportaudio.vcp diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/libportaudio.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/libportaudio.vcproj similarity index 76% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/libportaudio.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/libportaudio.vcproj index 6866041fa70d145f88de22face6cfaad1795814a..171ee70f5564d16c30e45f88bba8ec6362c1eda2 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/libportaudio.vcproj +++ b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/libportaudio.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -91,9 +94,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -130,7 +133,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -157,9 +160,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -196,7 +199,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -223,11 +226,12 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -243,13 +247,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -262,7 +267,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -274,26 +279,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -312,9 +310,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" /> <Tool @@ -328,7 +325,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -340,24 +337,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -394,7 +383,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -421,9 +410,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -460,7 +449,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -487,9 +476,9 @@ /> </Configuration> <Configuration - Name="Release|Win32" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -508,6 +497,7 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" @@ -545,11 +535,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -568,9 +559,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" /> <Tool @@ -584,7 +574,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -596,24 +586,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -650,7 +632,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -677,9 +659,9 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -716,7 +698,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -743,11 +725,12 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -763,13 +746,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -782,7 +766,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -794,26 +778,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -832,9 +809,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" /> <Tool @@ -848,7 +824,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -860,24 +836,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -914,7 +882,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -941,12 +909,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -965,8 +932,9 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" PrecompiledHeaderFile="" /> <Tool @@ -980,7 +948,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -992,18 +960,27 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1019,12 +996,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" /> <Tool @@ -1038,7 +1015,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1050,26 +1027,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1088,9 +1058,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" /> <Tool @@ -1104,7 +1073,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1116,24 +1085,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1197,9 +1158,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1263,11 +1224,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1283,13 +1245,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -1302,7 +1265,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1314,26 +1277,19 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1352,9 +1308,8 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" /> <Tool @@ -1368,7 +1323,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1380,27 +1335,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1419,8 +1365,9 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" PrecompiledHeaderFile="" /> <Tool @@ -1434,7 +1381,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1446,16 +1393,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1492,7 +1447,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1519,11 +1474,12 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1539,12 +1495,12 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" PrecompiledHeaderFile="" /> <Tool @@ -1558,7 +1514,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1570,24 +1526,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1624,7 +1572,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1651,9 +1599,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1690,7 +1638,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1717,9 +1665,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1783,9 +1731,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1849,12 +1797,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1873,8 +1820,9 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" PrecompiledHeaderFile="" /> <Tool @@ -1888,7 +1836,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1900,16 +1848,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1946,7 +1902,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1973,9 +1929,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2012,7 +1968,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2039,9 +1995,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2078,7 +2034,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2105,9 +2061,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2144,7 +2100,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2171,9 +2127,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2210,7 +2166,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2237,9 +2193,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2276,7 +2232,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2303,12 +2259,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2327,8 +2282,9 @@ /> <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win;"$(DXSDK_DIR)include"" - PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" PrecompiledHeaderFile="" /> <Tool @@ -2342,7 +2298,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2354,16 +2310,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2427,9 +2391,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2493,9 +2457,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2532,7 +2496,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2559,9 +2523,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2598,7 +2562,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2625,9 +2589,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2664,7 +2628,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2691,9 +2655,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2730,7 +2694,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2756,31 +2720,669 @@ <DebuggerTool /> </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" > - <Filter - Name="common" - > - <File - RelativePath="..\..\portaudio\src\common\pa_allocation.c" - > - <FileConfiguration - Name="Debug|Win32" - > - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" - /> - </FileConfiguration> - <FileConfiguration - Name="Release|Win32" + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories="..\..\portaudio\src\common;..\..\portaudio\include;..\..\portaudio\src\os\win" + PreprocessorDefinitions="_LIB;PA_ENABLE_DEBUG_OUTPUT;_CRT_SECURE_NO_DEPRECATE;PA_NO_ASIO;PA_NO_DS;WIN32_PLATFORM_PSPC;RPC_NO_WINDOWS_H" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <Filter + Name="common" + > + <File + RelativePath="..\..\portaudio\src\common\pa_allocation.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\portaudio\src\common\pa_converters.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\portaudio\src\common\pa_cpuload.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2797,6 +3399,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2806,6 +3417,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2815,6 +3435,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2824,9 +3453,18 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File - RelativePath="..\..\portaudio\src\common\pa_converters.c" + RelativePath="..\..\portaudio\src\common\pa_debugprint.c" > <FileConfiguration Name="Debug|Win32" @@ -2837,6 +3475,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2846,6 +3493,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2855,6 +3511,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2864,6 +3529,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2873,6 +3547,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2882,9 +3565,130 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File - RelativePath="..\..\portaudio\src\common\pa_cpuload.c" + RelativePath="..\..\portaudio\src\common\pa_dither.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\portaudio\src\common\pa_front.c" > <FileConfiguration Name="Debug|Win32" @@ -2895,6 +3699,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2905,7 +3718,52 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -2914,7 +3772,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -2923,7 +3781,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2932,7 +3790,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2942,7 +3800,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\portaudio\src\common\pa_debugprint.c" + RelativePath="..\..\portaudio\src\common\pa_process.c" > <FileConfiguration Name="Debug|Win32" @@ -2954,7 +3812,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -2963,7 +3821,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -2972,7 +3830,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -2981,7 +3839,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -2990,7 +3848,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -2998,12 +3856,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\portaudio\src\common\pa_dither.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3012,7 +3866,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3021,7 +3875,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3030,7 +3884,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3039,7 +3893,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3048,7 +3902,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3058,7 +3912,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\portaudio\src\common\pa_front.c" + RelativePath="..\..\portaudio\src\common\pa_skeleton.c" > <FileConfiguration Name="Debug|Win32" @@ -3070,7 +3924,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3079,7 +3933,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3088,7 +3942,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3097,7 +3951,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3106,7 +3960,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3114,12 +3968,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\portaudio\src\common\pa_process.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3128,7 +3978,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3137,7 +3987,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3146,7 +3996,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3155,7 +4005,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3164,7 +4014,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3174,7 +4024,7 @@ </FileConfiguration> </File> <File - RelativePath="..\..\portaudio\src\common\pa_skeleton.c" + RelativePath="..\..\portaudio\src\common\pa_stream.c" > <FileConfiguration Name="Debug|Win32" @@ -3186,7 +4036,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -3195,7 +4045,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3204,7 +4054,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -3213,7 +4063,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3222,7 +4072,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3230,12 +4080,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\portaudio\src\common\pa_stream.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3244,7 +4090,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3253,7 +4099,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -3262,7 +4108,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3271,7 +4117,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -3280,7 +4126,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3300,7 +4146,202 @@ RelativePath="..\..\portaudio\src\hostapi\dsound\pa_win_ds.c" > <FileConfiguration - Name="Debug|Win32" + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ExcludedFromBuild="true" + > + <Tool + Name="VCCLCompilerTool" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3325,7 +4366,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3333,7 +4374,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3341,7 +4382,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3349,7 +4390,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3357,16 +4398,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3374,7 +4414,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3382,7 +4422,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3390,7 +4430,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3398,7 +4438,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3406,7 +4446,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3414,16 +4454,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3431,7 +4470,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3439,7 +4478,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3447,7 +4486,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3455,7 +4494,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3463,7 +4502,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3471,16 +4510,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3488,7 +4526,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3496,15 +4534,28 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\..\portaudio\src\hostapi\dsound\pa_win_ds_dynlink.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3512,7 +4563,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3520,15 +4571,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -3537,7 +4589,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3545,7 +4597,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3553,23 +4605,25 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3577,7 +4631,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3585,7 +4639,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3594,15 +4648,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3610,7 +4665,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3618,15 +4673,25 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3634,19 +4699,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\portaudio\src\hostapi\dsound\pa_win_ds_dynlink.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -3655,15 +4716,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3671,7 +4733,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -3679,7 +4741,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3687,7 +4758,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3695,7 +4766,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3703,12 +4774,11 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration @@ -3728,7 +4798,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3736,7 +4806,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3744,7 +4814,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3752,7 +4822,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3760,16 +4830,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3777,7 +4846,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3785,7 +4854,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3793,7 +4862,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3801,7 +4870,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3809,7 +4878,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3817,16 +4886,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3834,7 +4902,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3842,7 +4910,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3850,7 +4918,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3858,7 +4926,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -3866,15 +4934,27 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" /> </FileConfiguration> + </File> + <File + RelativePath="..\..\portaudio\src\hostapi\dsound\pa_win_ds_dynlink.h" + > + </File> + </Filter> + <Filter + Name="wmme" + > + <File + RelativePath="..\..\portaudio\src\hostapi\wmme\pa_win_wmme.c" + > <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" @@ -3883,55 +4963,97 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -3939,68 +5061,74 @@ PreprocessorDefinitions="" /> </FileConfiguration> + </File> + </Filter> + </Filter> + <Filter + Name="os" + > + <Filter + Name="win" + > + <File + RelativePath="..\..\portaudio\src\os\win\pa_win_hostapis.c" + > <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\portaudio\src\hostapi\dsound\pa_win_ds_dynlink.h" - > - </File> - </Filter> - <Filter - Name="wmme" - > - <File - RelativePath="..\..\portaudio\src\hostapi\wmme\pa_win_wmme.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4009,7 +5137,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4018,7 +5146,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4027,7 +5155,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4036,7 +5164,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4045,7 +5173,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4054,16 +5182,8 @@ /> </FileConfiguration> </File> - </Filter> - </Filter> - <Filter - Name="os" - > - <Filter - Name="win" - > <File - RelativePath="..\..\portaudio\src\os\win\pa_win_hostapis.c" + RelativePath="..\..\portaudio\src\os\win\pa_win_util.c" > <FileConfiguration Name="Debug|Win32" @@ -4075,7 +5195,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" @@ -4084,7 +5204,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" @@ -4093,7 +5213,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4102,7 +5222,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4111,7 +5231,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4119,12 +5239,8 @@ PreprocessorDefinitions="" /> </FileConfiguration> - </File> - <File - RelativePath="..\..\portaudio\src\os\win\pa_win_util.c" - > <FileConfiguration - Name="Debug|Win32" + Name="Release-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4133,7 +5249,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4142,7 +5258,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" > <Tool Name="VCCLCompilerTool" @@ -4151,7 +5267,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4160,7 +5276,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" @@ -4169,7 +5285,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Release-Static|x64" > <Tool Name="VCCLCompilerTool" @@ -4195,7 +5311,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4203,7 +5319,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4211,23 +5327,25 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Pocket PC 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Debug|x64" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Smartphone 2003 (ARMV4)" - ExcludedFromBuild="true" + Name="Release|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4235,7 +5353,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Release|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4243,7 +5361,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Win32" + Name="Release|x64" > <Tool Name="VCCLCompilerTool" @@ -4252,7 +5370,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4260,7 +5387,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4268,7 +5395,25 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4276,7 +5421,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4284,7 +5429,25 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4292,7 +5455,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4300,7 +5463,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|x64" > <Tool Name="VCCLCompilerTool" @@ -4309,15 +5472,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" - ExcludedFromBuild="true" + Name="Release-Static|Win32" > <Tool Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4325,7 +5489,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ExcludedFromBuild="true" > <Tool @@ -4333,7 +5497,16 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4341,7 +5514,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4349,7 +5522,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4357,16 +5530,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Win32" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4374,7 +5546,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4382,7 +5554,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4390,7 +5562,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4398,7 +5570,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4406,7 +5578,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4414,16 +5586,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4431,7 +5602,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4439,7 +5610,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4447,7 +5618,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4455,7 +5626,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4463,7 +5634,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4471,16 +5642,15 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ExcludedFromBuild="true" > <Tool Name="VCCLCompilerTool" - AdditionalIncludeDirectories="" - PreprocessorDefinitions="" /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4488,7 +5658,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4496,7 +5666,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool @@ -4504,7 +5674,7 @@ /> </FileConfiguration> <FileConfiguration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ExcludedFromBuild="true" > <Tool diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/os-auto.mak.in b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/os-auto.mak.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/os-auto.mak.in rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/os-auto.mak.in diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/os-linux.mak b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/os-linux.mak similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/os-linux.mak rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/os-linux.mak diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_allocation.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_allocation.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_allocation.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_allocation.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_allocation.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_allocation.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_allocation.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_allocation.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_converters.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_converters.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_converters.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_converters.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_converters.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_converters.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_converters.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_converters.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_cpuload.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_cpuload.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_cpuload.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_cpuload.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_cpuload.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_cpuload.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_cpuload.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_cpuload.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_debugprint.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_debugprint.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_debugprint.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_debugprint.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_debugprint.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_debugprint.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_debugprint.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_debugprint.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_dither.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_dither.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_dither.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_dither.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_dither.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_dither.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_dither.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_dither.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_endianness.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_endianness.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_endianness.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_endianness.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_front.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_front.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_front.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_front.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_hostapi.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_hostapi.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_hostapi.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_hostapi.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_linux_alsa.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_linux_alsa.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_linux_alsa.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_linux_alsa.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_linux_alsa.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_linux_alsa.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_linux_alsa.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_linux_alsa.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_blocking.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_blocking.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_blocking.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_blocking.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_blocking.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_blocking.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_blocking.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_blocking.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_internal.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_internal.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_internal.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_internal.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_old.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_old.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_old.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_old.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_utilities.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_utilities.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_utilities.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_utilities.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_utilities.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_utilities.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_core_utilities.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_core_utilities.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_hostapis.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_hostapis.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_mac_hostapis.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_mac_hostapis.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_process.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_process.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_process.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_process.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_process.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_process.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_process.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_process.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_ringbuffer.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_ringbuffer.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_ringbuffer.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_ringbuffer.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_ringbuffer.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_ringbuffer.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_ringbuffer.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_ringbuffer.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_skeleton.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_skeleton.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_skeleton.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_skeleton.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_stream.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_stream.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_stream.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_stream.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_stream.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_stream.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_stream.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_stream.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_trace.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_trace.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_trace.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_trace.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_trace.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_trace.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_trace.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_trace.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_types.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_types.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_types.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_unix_hostapis.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_unix_hostapis.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_unix_hostapis.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_unix_hostapis.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_unix_oss.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_unix_oss.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_unix_oss.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_unix_oss.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_unix_util.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_unix_util.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_unix_util.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_unix_util.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_unix_util.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_unix_util.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_unix_util.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_unix_util.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_util.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_util.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_util.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_util.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_hostapis.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_hostapis.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_hostapis.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_hostapis.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_util.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_util.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_util.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_util.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_waveformat.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_waveformat.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_waveformat.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_waveformat.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_waveformat.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_waveformat.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_waveformat.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_waveformat.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_wmme.c b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_wmme.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_wmme.c rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_wmme.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_wmme.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_wmme.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/pa_win_wmme.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/pa_win_wmme.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/portaudio.h b/daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/portaudio.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/portaudio/src/portaudio.h rename to daemon/libs/pjproject-2.2.1/third_party/build/portaudio/src/portaudio.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/resample/Makefile b/daemon/libs/pjproject-2.2.1/third_party/build/resample/Makefile similarity index 60% rename from daemon/libs/pjproject-2.1.0/third_party/build/resample/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/build/resample/Makefile index 2deb8732d8a51b4995a92051503c7d249934c669..72ba28a19526b6c808be9a08a296827e58cd0a08 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/resample/Makefile +++ b/daemon/libs/pjproject-2.2.1/third_party/build/resample/Makefile @@ -21,9 +21,13 @@ export RESAMPLE_SRCDIR = ../../resample/src export RESAMPLE_OBJS = resamplesubs.o export RESAMPLE_CFLAGS = $(_CFLAGS) -SHLIB_NAME := libresample.$(SHLIB_SUFFIX) -export RESAMPLE_SHLIB := ../../lib/$(SHLIB_NAME).$(PJ_VERSION_MAJOR) -export RESAMPLE_LIB := ../../lib/libresample-$(TARGET_NAME)$(LIBEXT) +export RESAMPLE_LIB := libresample-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export RESAMPLE_SONAME := libresample.$(SHLIB_SUFFIX) +export RESAMPLE_SHLIB := $(RESAMPLE_SONAME).$(PJ_VERSION_MAJOR) +endif export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT ############################################################################### @@ -31,17 +35,12 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -ifeq ($(PJ_RESAMPLE_DLL),1) -TARGETS := ../../lib/$(SHLIB_NAME) -ifeq ($(SHLIB_SUFFIX),so) -SHLIB_OPT := -Wl,-soname,$(SHLIB_NAME).$(PJ_VERSION_MAJOR) +TARGETS := $(RESAMPLE_LIB) $(RESAMPLE_SONAME) +ifneq ($(PJ_SHARED_LIBRARIES),) else -SHLIB_OPT := -endif +ifneq ($(PJ_RESAMPLE_DLL),) export RESAMPLE_CFLAGS := -fPIC $(RESAMPLE_CFLAGS) -export RESAMPLE_LDFLAGS := -shared $(SHLIB_OPT) $(RESAMPLE_LDFLAGS) -else -TARGETS := libresample +endif endif all: $(TARGETS) @@ -52,23 +51,21 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend libresample clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(RESAMPLE_LIB) $(RESAMPLE_SONAME) -libresample: - $(MAKE) -f $(RULES_MAK) APP=RESAMPLE app=libresample $(RESAMPLE_LIB) +dep: depend -../../lib/$(SHLIB_NAME): $(RESAMPLE_SHLIB) - ln -s $(SHLIB_NAME).$(PJ_VERSION_MAJOR) $@ +libresample: $(RESAMPLE_LIB) +$(RESAMPLE_SONAME): $(RESAMPLE_LIB) +$(RESAMPLE_LIB) $(RESAMPLE_SONAME): + $(MAKE) -f $(RULES_MAK) APP=RESAMPLE app=libresample $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) -$(RESAMPLE_SHLIB): - $(MAKE) -f $(RULES_MAK) APP=RESAMPLE app=libresample $(RESAMPLE_SHLIB) - clean print_lib: $(MAKE) -f $(RULES_MAK) APP=RESAMPLE app=libresample $@ realclean: - $(subst @@,$(subst /,$(HOST_PSEP),../../lib/$(SHLIB_NAME)),$(HOST_RMR)) - $(subst @@,$(subst /,$(HOST_PSEP),$(RESAMPLE_SHLIB)),$(HOST_RMR)) $(MAKE) -f $(RULES_MAK) APP=RESAMPLE app=libresample $@ depend: diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/resample/config.h b/daemon/libs/pjproject-2.2.1/third_party/build/resample/config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/resample/config.h rename to daemon/libs/pjproject-2.2.1/third_party/build/resample/config.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/resample/libresample.vcp b/daemon/libs/pjproject-2.2.1/third_party/build/resample/libresample.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/resample/libresample.vcp rename to daemon/libs/pjproject-2.2.1/third_party/build/resample/libresample.vcp diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/resample/libresample.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/resample/libresample.vcproj similarity index 83% rename from daemon/libs/pjproject-2.1.0/third_party/build/resample/libresample.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/build/resample/libresample.vcproj index 79b48f5da44ef55a91c2c442f4eaeea30b84d132..14412f5ee3fb43a1e4fd087b058f7400f40a0569 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/resample/libresample.vcproj +++ b/daemon/libs/pjproject-2.2.1/third_party/build/resample/libresample.vcproj @@ -11,16 +11,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -91,9 +94,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -131,7 +134,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -158,9 +161,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -198,7 +201,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -225,9 +228,127 @@ /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../resample/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../resample/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -249,7 +370,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -292,9 +412,9 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Release|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -316,7 +436,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -359,9 +478,126 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../resample/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../resample/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -399,7 +635,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -426,9 +662,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -466,7 +702,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -493,9 +729,9 @@ /> </Configuration> <Configuration - Name="Release|Win32" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -514,12 +750,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -551,11 +789,12 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -574,7 +813,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -590,7 +828,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -602,24 +840,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -656,7 +886,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -683,7 +913,7 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -722,7 +952,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -749,11 +979,12 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -769,10 +1000,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -788,7 +1019,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -800,24 +1031,74 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" + </Configuration> + <Configuration + Name="Debug-Dynamic|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" /> - <DebuggerTool + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../resample/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -839,6 +1120,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -854,7 +1136,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -881,9 +1163,9 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -905,6 +1187,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -920,7 +1203,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -947,9 +1230,69 @@ /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../resample/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" @@ -1005,9 +1348,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1029,7 +1372,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1045,7 +1387,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1072,9 +1414,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1096,7 +1438,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1112,7 +1453,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1139,11 +1480,12 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1159,11 +1501,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1179,7 +1520,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1191,24 +1532,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1246,7 +1579,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1273,9 +1606,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1313,7 +1646,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1340,7 +1673,7 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -1380,7 +1713,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1407,12 +1740,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1431,6 +1763,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1446,7 +1780,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1458,14 +1792,22 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -1531,7 +1873,7 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -1597,9 +1939,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1636,7 +1978,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1663,9 +2005,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1702,7 +2044,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1729,9 +2071,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1753,6 +2095,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1768,7 +2111,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1795,9 +2138,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1819,6 +2162,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1834,7 +2178,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1861,12 +2205,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1885,6 +2228,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1900,7 +2245,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1912,16 +2257,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1959,7 +2312,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1986,9 +2339,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2010,7 +2363,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2026,7 +2378,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2053,9 +2405,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2077,7 +2429,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2093,7 +2444,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2120,9 +2471,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2144,7 +2495,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2160,7 +2510,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2187,9 +2537,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2211,7 +2561,6 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" - Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2227,7 +2576,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2254,9 +2603,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2294,7 +2643,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2321,12 +2670,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" - UseOfMFC="0" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -2345,6 +2693,8 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2360,7 +2710,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2372,16 +2722,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2403,6 +2761,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2418,7 +2777,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2445,9 +2804,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2469,6 +2828,7 @@ <Tool Name="VCCLCompilerTool" ExecutionBucket="7" + Optimization="2" AdditionalIncludeDirectories=".,../../resample/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -2484,7 +2844,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2511,9 +2871,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2550,7 +2910,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2577,9 +2937,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -2616,7 +2976,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -2802,6 +3162,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release|Win32" > @@ -2811,6 +3180,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Static|Win32" > @@ -2820,6 +3198,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Dynamic|Win32" > @@ -2829,6 +3216,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Debug-Dynamic|Win32" > @@ -2838,6 +3234,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> <FileConfiguration Name="Release-Static|Win32" > @@ -2847,6 +3252,15 @@ PreprocessorDefinitions="" /> </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> </File> <File RelativePath="..\..\resample\src\smallfilter.h" diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/resample/libresample_dll.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/resample/libresample_dll.vcproj similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/resample/libresample_dll.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/build/resample/libresample_dll.vcproj diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/samplerate/README.txt b/daemon/libs/pjproject-2.2.1/third_party/build/samplerate/README.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/samplerate/README.txt rename to daemon/libs/pjproject-2.2.1/third_party/build/samplerate/README.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/samplerate/Static.msvc b/daemon/libs/pjproject-2.2.1/third_party/build/samplerate/Static.msvc similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/samplerate/Static.msvc rename to daemon/libs/pjproject-2.2.1/third_party/build/samplerate/Static.msvc diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/samplerate/libsamplerate_static.dsp b/daemon/libs/pjproject-2.2.1/third_party/build/samplerate/libsamplerate_static.dsp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/samplerate/libsamplerate_static.dsp rename to daemon/libs/pjproject-2.2.1/third_party/build/samplerate/libsamplerate_static.dsp diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/speex/Makefile b/daemon/libs/pjproject-2.2.1/third_party/build/speex/Makefile similarity index 75% rename from daemon/libs/pjproject-2.1.0/third_party/build/speex/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/build/speex/Makefile index d31166ea6a2a764fad8800610ee1a2d43742ad53..479a1976d4f42beafe5f0859b51f6d98a99d5fd0 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/speex/Makefile +++ b/daemon/libs/pjproject-2.2.1/third_party/build/speex/Makefile @@ -5,7 +5,13 @@ export LIBDIR := ../../lib RULES_MAK := $(PJDIR)/build/rules.mak -export SPEEX_LIB := ../../lib/libspeex-$(TARGET_NAME)$(LIBEXT) +export SPEEX_LIB := libspeex-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export SPEEX_SONAME := libspeex.$(SHLIB_SUFFIX) +export SPEEX_SHLIB := $(SPEEX_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### # Gather all flags. @@ -17,7 +23,7 @@ export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ $(HOST_CXXFLAGS) $(CXXFLAGS) export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ - $(LDFLAGS) + $(APP_LDFLAGS) $(LDFLAGS) export SPEEX_SRCDIR = ../../speex/libspeex export SPEEX_OBJS = bits.o cb_search.o exc_10_16_table.o \ @@ -36,7 +42,7 @@ export SPEEX_OBJS = bits.o cb_search.o exc_10_16_table.o \ stereo.o vbr.o vq.o window.o export SPEEX_CFLAGS = -DHAVE_CONFIG_H $(_CFLAGS) - +export SPEEX_LDFLAGS := $(PJLIB_LDLIB) $(_LDFLAGS) export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT ############################################################################### @@ -44,7 +50,7 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -TARGETS := libspeex +TARGETS := $(SPEEX_LIB) $(SPEEX_SONAME) all: $(TARGETS) @@ -54,10 +60,14 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend libspeex clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(SPEEX_LIB) $(SPEEX_SONAME) -libspeex: - $(MAKE) -f $(RULES_MAK) APP=SPEEX app=libspeex $(SPEEX_LIB) +libspeex: $(SPEEX_LIB) +$(SPEEX_SONAME): $(SPEEX_LIB) +$(SPEEX_LIB) $(SPEEX_SONAME): + $(MAKE) -f $(RULES_MAK) APP=SPEEX app=libspeex $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean print_lib: $(MAKE) -f $(RULES_MAK) APP=SPEEX app=libspeex $@ diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/speex/config.h b/daemon/libs/pjproject-2.2.1/third_party/build/speex/config.h similarity index 96% rename from daemon/libs/pjproject-2.1.0/third_party/build/speex/config.h rename to daemon/libs/pjproject-2.2.1/third_party/build/speex/config.h index ba7be7a6e21d233da490e2274094580c6d416459..be19e73311cc30eb2727520f4692ff7436419548 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/speex/config.h +++ b/daemon/libs/pjproject-2.2.1/third_party/build/speex/config.h @@ -12,6 +12,7 @@ #define EXPORT #if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) || \ (defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE != 0) # include "../../speex/win32/config.h" #else diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/speex/libspeex.vcp b/daemon/libs/pjproject-2.2.1/third_party/build/speex/libspeex.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/speex/libspeex.vcp rename to daemon/libs/pjproject-2.2.1/third_party/build/speex/libspeex.vcp diff --git a/daemon/libs/pjproject-2.2.1/third_party/build/speex/libspeex.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/speex/libspeex.vcproj new file mode 100644 index 0000000000000000000000000000000000000000..5917a1cfd32dbadd92fda8007e9bcf229177f169 --- /dev/null +++ b/daemon/libs/pjproject-2.2.1/third_party/build/speex/libspeex.vcproj @@ -0,0 +1,7676 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="libspeex" + ProjectGUID="{4B059DBA-CD9C-4D0F-BE8C-FFB4EFD498E9}" + RootNamespace="libspeex" + > + <Platforms> + <Platform + Name="Win32" + /> + <Platform + Name="Pocket PC 2003 (ARMV4)" + /> + <Platform + Name="Smartphone 2003 (ARMV4)" + /> + <Platform + Name="x64" + /> + <Platform + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release-Static|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug-Dynamic|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + Optimization="2" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release-Static|Windows Mobile 5.0 Smartphone SDK (ARMV4I)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm5-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../speex/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;_WINDOWS;HAVE_CONFIG_H;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm5sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="..\..\speex\libspeex\bits.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\cb_search.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\exc_10_16_table.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\exc_10_32_table.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\exc_20_32_table.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\exc_5_256_table.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\exc_5_64_table.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\exc_8_128_table.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\fftwrap.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\filterbank.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\filters.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\gain_table.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\gain_table_lbr.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\hexc_10_32_table.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\hexc_table.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\high_lsp_tables.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\kiss_fft.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\kiss_fftr.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\lpc.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\lsp.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\lsp_tables_nb.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\ltp.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\mdf.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\modes.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\modes_wb.c" + > + </File> + <File + RelativePath="..\..\speex\libspeex\nb_celp.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\preprocess.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\quant_lsp.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\resample.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\sb_celp.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\smallft.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\speex.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\speex_callbacks.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\speex_header.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\stereo.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\vbr.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\vq.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="..\..\speex\libspeex\window.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug-Dynamic|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|Win32" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release-Static|x64" + > + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl" + > + <File + RelativePath="..\..\speex\libspeex\_kiss_fft_guts.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\arch.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\cb_search.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\cb_search_sse.h" + > + </File> + <File + RelativePath="config.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\fftwrap.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\filterbank.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\filters.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\filters_sse.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\fixed_debug.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\fixed_generic.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\kiss_fft.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\kiss_fftr.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\lpc.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\lsp.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\ltp.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\ltp_sse.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\math_approx.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\modes.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\nb_celp.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\os_support.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\pseudofloat.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\quant_lsp.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\sb_celp.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\smallft.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex_bits.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex_callbacks.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex_echo.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex_header.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex_jitter.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex_preprocess.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex_resampler.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex_stereo.h" + > + </File> + <File + RelativePath="..\..\speex\include\speex\speex_types.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\stack_alloc.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\vbr.h" + > + </File> + <File + RelativePath="..\..\speex\libspeex\vq.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/speex/speex/speex_config_types.h b/daemon/libs/pjproject-2.2.1/third_party/build/speex/speex/speex_config_types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/speex/speex/speex_config_types.h rename to daemon/libs/pjproject-2.2.1/third_party/build/speex/speex/speex_config_types.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/srtp/Makefile b/daemon/libs/pjproject-2.2.1/third_party/build/srtp/Makefile similarity index 79% rename from daemon/libs/pjproject-2.1.0/third_party/build/srtp/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/build/srtp/Makefile index 17cb421711ef97e5509ea7a0e72971bfcc4d0c3a..65f6061364437347908826fdfabc9ccb2b9cb4bd 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/srtp/Makefile +++ b/daemon/libs/pjproject-2.2.1/third_party/build/srtp/Makefile @@ -5,7 +5,13 @@ export LIBDIR := ../../lib RULES_MAK := $(PJDIR)/build/rules.mak -export SRTP_LIB := ../../lib/libsrtp-$(TARGET_NAME)$(LIBEXT) +export SRTP_LIB := libsrtp-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export SRTP_SONAME := libsrtp.$(SHLIB_SUFFIX) +export SRTP_SHLIB := $(SRTP_SONAME).$(PJ_VERSION_MAJOR) +endif ############################################################################### # Gather all flags. @@ -18,7 +24,7 @@ export _CFLAGS := $(CC_INC). $(CC_INC)../../srtp/crypto/include \ export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ $(HOST_CXXFLAGS) $(CXXFLAGS) export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ - $(LDFLAGS) + $(APP_LDFLAGS) $(LDFLAGS) # libcrypt.a (the crypto engine) ciphers = crypto/cipher/cipher.o crypto/cipher/null_cipher.o \ @@ -49,6 +55,7 @@ cryptobj = $(ciphers) $(hashes) $(math) $(stat) $(kernel) $(replay) export SRTP_SRCDIR = ../../srtp export SRTP_OBJS = $(cryptobj) $(srtpobj) export SRTP_CFLAGS = -DHAVE_CONFIG_H $(_CFLAGS) +export SRTP_LDFLAGS = $(PJLIB_LDLIB) $(_LDFLAGS) export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT @@ -57,7 +64,7 @@ export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT # # $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. # -TARGETS := libsrtp +TARGETS := $(SRTP_LIB) $(SRTP_SONAME) all: $(TARGETS) @@ -67,10 +74,14 @@ doc: dep: depend distclean: realclean -.PHONY: dep depend libsrtp clean realclean distclean +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(SRTP_LIB) $(SRTP_SONAME) -libsrtp: - $(MAKE) -f $(RULES_MAK) APP=SRTP app=libsrtp $(SRTP_LIB) +libsrtp: $(SRTP_LIB) +$(SRTP_SONAME): $(SRTP_LIB) +$(SRTP_LIB) $(SRTP_SONAME): + $(MAKE) -f $(RULES_MAK) APP=SRTP app=libsrtp $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) clean print_lib: $(MAKE) -f $(RULES_MAK) APP=SRTP app=libsrtp $@ diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/srtp/libsrtp.vcp b/daemon/libs/pjproject-2.2.1/third_party/build/srtp/libsrtp.vcp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/build/srtp/libsrtp.vcp rename to daemon/libs/pjproject-2.2.1/third_party/build/srtp/libsrtp.vcp diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/srtp/libsrtp.vcproj b/daemon/libs/pjproject-2.2.1/third_party/build/srtp/libsrtp.vcproj similarity index 85% rename from daemon/libs/pjproject-2.1.0/third_party/build/srtp/libsrtp.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/build/srtp/libsrtp.vcproj index ab8d9a1208d4c8652af22c44d7a2b056e7f90489..11b12fd110354947046c5983976ed1f6ae580689 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/srtp/libsrtp.vcproj +++ b/daemon/libs/pjproject-2.2.1/third_party/build/srtp/libsrtp.vcproj @@ -12,16 +12,19 @@ Name="Win32" /> <Platform - Name="Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Pocket PC 2003 (ARMV4)" /> <Platform - Name="Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Smartphone 2003 (ARMV4)" /> <Platform - Name="Pocket PC 2003 (ARMV4)" + Name="x64" /> <Platform - Name="Smartphone 2003 (ARMV4)" + Name="Windows Mobile 6 Standard SDK (ARMV4I)" + /> + <Platform + Name="Windows Mobile 6 Professional SDK (ARMV4I)" /> <Platform Name="Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" @@ -91,9 +94,9 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -130,7 +133,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -157,11 +160,383 @@ /> </Configuration> <Configuration - Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Debug|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Pocket PC 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|Smartphone 2003 (ARMV4)" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + ExecutionBucket="7" + AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCCodeSignTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> + </Configuration> + <Configuration + Name="Release|x64" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" + PreprocessorDefinitions="_LIB;" + PrecompiledHeaderFile="" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug-Static|Win32" + ConfigurationType="4" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -180,7 +555,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -196,7 +570,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -208,22 +582,14 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -289,7 +655,7 @@ /> </Configuration> <Configuration - Name="Debug|Smartphone 2003 (ARMV4)" + Name="Debug-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -355,9 +721,9 @@ /> </Configuration> <Configuration - Name="Release|Win32" + Name="Debug-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" > @@ -375,12 +741,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -412,11 +780,11 @@ /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -435,7 +803,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -451,7 +818,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -463,24 +830,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -517,7 +876,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -544,7 +903,7 @@ /> </Configuration> <Configuration - Name="Release|Pocket PC 2003 (ARMV4)" + Name="Release-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" @@ -583,7 +942,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -610,11 +969,11 @@ /> </Configuration> <Configuration - Name="Release|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -630,10 +989,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -649,7 +1008,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -661,24 +1020,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Win32" + Name="Debug-Dynamic|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="2" > @@ -733,9 +1084,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -772,7 +1123,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -799,9 +1150,9 @@ /> </Configuration> <Configuration - Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -838,7 +1189,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -865,11 +1216,11 @@ /> </Configuration> <Configuration - Name="Debug-Static|Pocket PC 2003 (ARMV4)" + Name="Debug-Dynamic|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -885,13 +1236,14 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" + DebugInformationFormat="3" /> <Tool Name="VCManagedResourceCompilerTool" @@ -904,7 +1256,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -916,26 +1268,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Debug-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Win32" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -954,7 +1298,6 @@ /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -970,7 +1313,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -982,26 +1325,18 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Win32" + Name="Release-Static|Pocket PC 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1020,6 +1355,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1035,7 +1371,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1047,16 +1383,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release-Static|Smartphone 2003 (ARMV4)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1093,7 +1437,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1120,11 +1464,11 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Release-Static|x64" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win64-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -1140,10 +1484,10 @@ /> <Tool Name="VCMIDLTool" + TargetEnvironment="3" /> <Tool Name="VCCLCompilerTool" - ExecutionBucket="7" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1159,7 +1503,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1171,24 +1515,16 @@ Name="VCBscMakeTool" /> <Tool - Name="VCCodeSignTool" + Name="VCFxCopTool" /> <Tool Name="VCPostBuildEventTool" /> - <DeploymentTool - ForceDirty="-1" - RemoteDirectory="" - RegisterOutput="0" - AdditionalFiles="" - /> - <DebuggerTool - /> </Configuration> <Configuration - Name="Release-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1225,7 +1561,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1252,9 +1588,9 @@ /> </Configuration> <Configuration - Name="Release-Dynamic|Smartphone 2003 (ARMV4)" + Name="Debug|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1291,7 +1627,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1318,11 +1654,11 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Win32" + Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1341,6 +1677,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1356,7 +1693,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1368,16 +1705,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Release|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1414,7 +1759,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1441,9 +1786,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1480,7 +1825,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1507,9 +1852,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Pocket PC 2003 (ARMV4)" + Name="Debug-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1546,7 +1891,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1573,9 +1918,9 @@ /> </Configuration> <Configuration - Name="Debug-Dynamic|Smartphone 2003 (ARMV4)" + Name="Release-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-common-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1612,7 +1957,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1639,11 +1984,11 @@ /> </Configuration> <Configuration - Name="Release-Static|Win32" + Name="Release-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-win32-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" - CharacterSet="2" + CharacterSet="1" > <Tool Name="VCPreBuildEventTool" @@ -1662,6 +2007,7 @@ /> <Tool Name="VCCLCompilerTool" + ExecutionBucket="7" AdditionalIncludeDirectories=".,../../srtp/include,../../srtp/crypto/include,../../../pjlib/include" PreprocessorDefinitions="_LIB;" PrecompiledHeaderFile="" @@ -1677,7 +2023,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1689,16 +2035,24 @@ Name="VCBscMakeTool" /> <Tool - Name="VCFxCopTool" + Name="VCCodeSignTool" /> <Tool Name="VCPostBuildEventTool" /> + <DeploymentTool + ForceDirty="-1" + RemoteDirectory="" + RegisterOutput="0" + AdditionalFiles="" + /> + <DebuggerTool + /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1762,9 +2116,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" + Name="Debug-Dynamic|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-common-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1828,9 +2182,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Pocket PC 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Standard SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1867,7 +2221,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003ppc-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6std-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" @@ -1894,9 +2248,9 @@ /> </Configuration> <Configuration - Name="Release-Static|Smartphone 2003 (ARMV4)" + Name="Release-Static|Windows Mobile 6 Professional SDK (ARMV4I)" ConfigurationType="4" - InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm2003-release-defaults.vsprops" + InheritedPropertySheets="..\..\..\build\vs\pjproject-vs8-release-static-defaults.vsprops;..\..\..\build\vs\pjproject-vs8-wm6-release-defaults.vsprops" ATLMinimizesCRunTimeLibraryUsage="false" CharacterSet="1" > @@ -1933,7 +2287,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm2003sp-vc$(VSVer)-$(ConfigurationName).lib" + OutputFile="..\..\lib\$(ProjectName)-$(TargetCPU)-wm6pro-vc$(VSVer)-$(ConfigurationName).lib" /> <Tool Name="VCALinkTool" diff --git a/daemon/libs/pjproject-2.1.0/third_party/build/srtp/srtp_config.h b/daemon/libs/pjproject-2.2.1/third_party/build/srtp/srtp_config.h similarity index 97% rename from daemon/libs/pjproject-2.1.0/third_party/build/srtp/srtp_config.h rename to daemon/libs/pjproject-2.2.1/third_party/build/srtp/srtp_config.h index 3b00a9a815356c76f302bfde986bb7fadd142a40..e46a0aa1d4e5cf5449296af973be6a23e82851ac 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/build/srtp/srtp_config.h +++ b/daemon/libs/pjproject-2.2.1/third_party/build/srtp/srtp_config.h @@ -1,4 +1,4 @@ -/* $Id: srtp_config.h 2660 2009-04-28 19:38:43Z nanang $ */ +/* $Id: srtp_config.h 4537 2013-06-19 06:47:43Z riza $ */ /* * Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org> * @@ -87,7 +87,7 @@ /* Define to 1 if you have the <windows.h> header file. */ -#if defined(PJ_WIN32) && PJ_WIN32!=0 +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || (defined(PJ_WIN64) && PJ_WIN64 != 0) # define HAVE_WINDOWS_H 1 #endif diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/basic_op.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/basic_op.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/basic_op.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/basic_op.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/basic_op.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/basic_op.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/basic_op.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/basic_op.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/basic_op_i.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/basic_op_i.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/basic_op_i.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/basic_op_i.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/common.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/common.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/common.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/common.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/config.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/config.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/config.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/count.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/count.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/count.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/count.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/defs.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/defs.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/defs.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/defs.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/huff_def.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/huff_def.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/huff_def.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/huff_def.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/huff_tab.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/huff_tab.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/huff_tab.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/huff_tab.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/huff_tab.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/huff_tab.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/huff_tab.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/huff_tab.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/tables.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/tables.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/tables.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/tables.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/tables.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/tables.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/tables.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/tables.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/common/typedef.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/common/typedef.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/common/typedef.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/common/typedef.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/decode/coef2sam.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/decode/coef2sam.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/decode/coef2sam.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/decode/coef2sam.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/decode/dct4_s.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/decode/dct4_s.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/decode/dct4_s.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/decode/dct4_s.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/decode/dct4_s.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/decode/dct4_s.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/decode/dct4_s.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/decode/dct4_s.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/decode/decoder.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/decode/decoder.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/decode/decoder.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/decode/decoder.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/encode/dct4_a.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/encode/dct4_a.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/encode/dct4_a.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/encode/dct4_a.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/encode/dct4_a.h b/daemon/libs/pjproject-2.2.1/third_party/g7221/encode/dct4_a.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/encode/dct4_a.h rename to daemon/libs/pjproject-2.2.1/third_party/g7221/encode/dct4_a.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/encode/encoder.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/encode/encoder.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/encode/encoder.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/encode/encoder.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/g7221/encode/sam2coef.c b/daemon/libs/pjproject-2.2.1/third_party/g7221/encode/sam2coef.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/g7221/encode/sam2coef.c rename to daemon/libs/pjproject-2.2.1/third_party/g7221/encode/sam2coef.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/COPYRIGHT b/daemon/libs/pjproject-2.2.1/third_party/gsm/COPYRIGHT similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/COPYRIGHT rename to daemon/libs/pjproject-2.2.1/third_party/gsm/COPYRIGHT diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/ChangeLog b/daemon/libs/pjproject-2.2.1/third_party/gsm/ChangeLog similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/ChangeLog rename to daemon/libs/pjproject-2.2.1/third_party/gsm/ChangeLog diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/INSTALL b/daemon/libs/pjproject-2.2.1/third_party/gsm/INSTALL similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/INSTALL rename to daemon/libs/pjproject-2.2.1/third_party/gsm/INSTALL diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/MACHINES b/daemon/libs/pjproject-2.2.1/third_party/gsm/MACHINES similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/MACHINES rename to daemon/libs/pjproject-2.2.1/third_party/gsm/MACHINES diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/MANIFEST b/daemon/libs/pjproject-2.2.1/third_party/gsm/MANIFEST similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/MANIFEST rename to daemon/libs/pjproject-2.2.1/third_party/gsm/MANIFEST diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/Makefile b/daemon/libs/pjproject-2.2.1/third_party/gsm/Makefile similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/gsm/Makefile diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/README b/daemon/libs/pjproject-2.2.1/third_party/gsm/README similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/README rename to daemon/libs/pjproject-2.2.1/third_party/gsm/README diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/add-test/add_test.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/add-test/add_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/add-test/add_test.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/add-test/add_test.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/add-test/add_test.dta b/daemon/libs/pjproject-2.2.1/third_party/gsm/add-test/add_test.dta similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/add-test/add_test.dta rename to daemon/libs/pjproject-2.2.1/third_party/gsm/add-test/add_test.dta diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/inc/config.h b/daemon/libs/pjproject-2.2.1/third_party/gsm/inc/config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/inc/config.h rename to daemon/libs/pjproject-2.2.1/third_party/gsm/inc/config.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/inc/gsm.h b/daemon/libs/pjproject-2.2.1/third_party/gsm/inc/gsm.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/inc/gsm.h rename to daemon/libs/pjproject-2.2.1/third_party/gsm/inc/gsm.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/inc/private.h b/daemon/libs/pjproject-2.2.1/third_party/gsm/inc/private.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/inc/private.h rename to daemon/libs/pjproject-2.2.1/third_party/gsm/inc/private.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/inc/proto.h b/daemon/libs/pjproject-2.2.1/third_party/gsm/inc/proto.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/inc/proto.h rename to daemon/libs/pjproject-2.2.1/third_party/gsm/inc/proto.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/inc/toast.h b/daemon/libs/pjproject-2.2.1/third_party/gsm/inc/toast.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/inc/toast.h rename to daemon/libs/pjproject-2.2.1/third_party/gsm/inc/toast.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/inc/unproto.h b/daemon/libs/pjproject-2.2.1/third_party/gsm/inc/unproto.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/inc/unproto.h rename to daemon/libs/pjproject-2.2.1/third_party/gsm/inc/unproto.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/man/bitter.1 b/daemon/libs/pjproject-2.2.1/third_party/gsm/man/bitter.1 similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/man/bitter.1 rename to daemon/libs/pjproject-2.2.1/third_party/gsm/man/bitter.1 diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/man/gsm.3 b/daemon/libs/pjproject-2.2.1/third_party/gsm/man/gsm.3 similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/man/gsm.3 rename to daemon/libs/pjproject-2.2.1/third_party/gsm/man/gsm.3 diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/man/gsm_explode.3 b/daemon/libs/pjproject-2.2.1/third_party/gsm/man/gsm_explode.3 similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/man/gsm_explode.3 rename to daemon/libs/pjproject-2.2.1/third_party/gsm/man/gsm_explode.3 diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/man/gsm_option.3 b/daemon/libs/pjproject-2.2.1/third_party/gsm/man/gsm_option.3 similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/man/gsm_option.3 rename to daemon/libs/pjproject-2.2.1/third_party/gsm/man/gsm_option.3 diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/man/gsm_print.3 b/daemon/libs/pjproject-2.2.1/third_party/gsm/man/gsm_print.3 similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/man/gsm_print.3 rename to daemon/libs/pjproject-2.2.1/third_party/gsm/man/gsm_print.3 diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/man/toast.1 b/daemon/libs/pjproject-2.2.1/third_party/gsm/man/toast.1 similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/man/toast.1 rename to daemon/libs/pjproject-2.2.1/third_party/gsm/man/toast.1 diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/add.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/add.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/add.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/add.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/code.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/code.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/code.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/code.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/debug.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/debug.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/debug.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/debug.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/decode.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/decode.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/decode.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/decode.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_create.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_create.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_create.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_create.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_decode.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_decode.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_decode.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_decode.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_destroy.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_destroy.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_destroy.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_destroy.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_encode.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_encode.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_encode.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_encode.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_explode.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_explode.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_explode.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_explode.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_implode.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_implode.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_implode.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_implode.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_option.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_option.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_option.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_option.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_print.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_print.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_print.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/gsm_print.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/long_term.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/long_term.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/long_term.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/long_term.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/lpc.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/lpc.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/lpc.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/lpc.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/preprocess.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/preprocess.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/preprocess.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/preprocess.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/rpe.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/rpe.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/rpe.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/rpe.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/short_term.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/short_term.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/short_term.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/short_term.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/table.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/table.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast_alaw.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast_alaw.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast_alaw.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast_alaw.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast_audio.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast_audio.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast_audio.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast_audio.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast_lin.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast_lin.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast_lin.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast_lin.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast_ulaw.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast_ulaw.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/src/toast_ulaw.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/src/toast_ulaw.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tls/bitter.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tls/bitter.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tls/bitter.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tls/bitter.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tls/bitter.dta b/daemon/libs/pjproject-2.2.1/third_party/gsm/tls/bitter.dta similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tls/bitter.dta rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tls/bitter.dta diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tls/ginger.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tls/ginger.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tls/ginger.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tls/ginger.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tls/sour.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tls/sour.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tls/sour.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tls/sour.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tls/sour1.dta b/daemon/libs/pjproject-2.2.1/third_party/gsm/tls/sour1.dta similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tls/sour1.dta rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tls/sour1.dta diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tls/sour2.dta b/daemon/libs/pjproject-2.2.1/third_party/gsm/tls/sour2.dta similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tls/sour2.dta rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tls/sour2.dta diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tls/sweet.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tls/sweet.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tls/sweet.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tls/sweet.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tls/taste.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tls/taste.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tls/taste.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tls/taste.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tls/taste.h b/daemon/libs/pjproject-2.2.1/third_party/gsm/tls/taste.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tls/taste.h rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tls/taste.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tst/cod2lin.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tst/cod2lin.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tst/cod2lin.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tst/cod2lin.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tst/cod2txt.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tst/cod2txt.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tst/cod2txt.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tst/cod2txt.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tst/gsm2cod.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tst/gsm2cod.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tst/gsm2cod.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tst/gsm2cod.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tst/lin2cod.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tst/lin2cod.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tst/lin2cod.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tst/lin2cod.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tst/lin2txt.c b/daemon/libs/pjproject-2.2.1/third_party/gsm/tst/lin2txt.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tst/lin2txt.c rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tst/lin2txt.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/gsm/tst/run b/daemon/libs/pjproject-2.2.1/third_party/gsm/tst/run similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/gsm/tst/run rename to daemon/libs/pjproject-2.2.1/third_party/gsm/tst/run diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/FrameClassify.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/FrameClassify.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/FrameClassify.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/FrameClassify.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/FrameClassify.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/FrameClassify.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/FrameClassify.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/FrameClassify.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/LPCdecode.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/LPCdecode.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/LPCdecode.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/LPCdecode.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/LPCdecode.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/LPCdecode.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/LPCdecode.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/LPCdecode.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/LPCencode.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/LPCencode.c similarity index 98% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/LPCencode.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/LPCencode.c index 19695c0fa552eece2761a4d9edd8b37abe10bd9f..eed1f893f65acc7829a3506c98ff7c06c2d61f2c 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/ilbc/LPCencode.c +++ b/daemon/libs/pjproject-2.2.1/third_party/ilbc/LPCencode.c @@ -224,7 +224,6 @@ ){ float lsf[LPC_FILTERORDER * LPC_N_MAX]; float lsfdeq[LPC_FILTERORDER * LPC_N_MAX]; - int change=0; SimpleAnalysis(lsf, data, iLBCenc_inst); SimplelsfQ(lsfdeq, lsf_index, lsf, iLBCenc_inst->lpc_n); @@ -233,7 +232,7 @@ - change=LSF_check(lsfdeq, LPC_FILTERORDER, iLBCenc_inst->lpc_n); + LSF_check(lsfdeq, LPC_FILTERORDER, iLBCenc_inst->lpc_n); SimpleInterpolateLSF(syntdenum, weightdenum, lsf, lsfdeq, iLBCenc_inst->lsfold, iLBCenc_inst->lsfdeqold, LPC_FILTERORDER, iLBCenc_inst); diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/LPCencode.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/LPCencode.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/LPCencode.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/LPCencode.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/StateConstructW.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/StateConstructW.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/StateConstructW.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/StateConstructW.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/StateConstructW.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/StateConstructW.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/StateConstructW.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/StateConstructW.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/StateSearchW.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/StateSearchW.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/StateSearchW.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/StateSearchW.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/StateSearchW.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/StateSearchW.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/StateSearchW.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/StateSearchW.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/anaFilter.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/anaFilter.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/anaFilter.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/anaFilter.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/anaFilter.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/anaFilter.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/anaFilter.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/anaFilter.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/constants.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/constants.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/constants.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/constants.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/constants.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/constants.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/constants.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/constants.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/createCB.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/createCB.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/createCB.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/createCB.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/createCB.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/createCB.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/createCB.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/createCB.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/doCPLC.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/doCPLC.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/doCPLC.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/doCPLC.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/doCPLC.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/doCPLC.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/doCPLC.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/doCPLC.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/enhancer.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/enhancer.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/enhancer.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/enhancer.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/enhancer.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/enhancer.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/enhancer.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/enhancer.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/filter.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/filter.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/filter.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/filter.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/filter.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/filter.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/filter.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/filter.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/gainquant.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/gainquant.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/gainquant.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/gainquant.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/gainquant.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/gainquant.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/gainquant.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/gainquant.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/getCBvec.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/getCBvec.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/getCBvec.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/getCBvec.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/getCBvec.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/getCBvec.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/getCBvec.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/getCBvec.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/helpfun.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/helpfun.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/helpfun.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/helpfun.c index 1aba65788f0deb2d3a22d231ba44d792151a6c95..2406c13141cf23cf82a32b4125f5c71baf1d3d21 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/ilbc/helpfun.c +++ b/daemon/libs/pjproject-2.2.1/third_party/ilbc/helpfun.c @@ -277,7 +277,7 @@ table */ ){ int k,n,m, Nit=2, change=0,pos; - float tmp; + //float tmp; static float eps=(float)0.039; /* 50 Hz */ static float eps2=(float)0.0195; static float maxlsf=(float)3.14; /* 4000 Hz */ @@ -293,7 +293,7 @@ if ((lsf[pos+1]-lsf[pos])<eps) { if (lsf[pos+1]<lsf[pos]) { - tmp=lsf[pos+1]; + //tmp=lsf[pos+1]; lsf[pos+1]= lsf[pos]+eps2; lsf[pos]= lsf[pos+1]-eps2; } else { diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/helpfun.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/helpfun.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/helpfun.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/helpfun.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/hpInput.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/hpInput.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/hpInput.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/hpInput.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/hpInput.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/hpInput.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/hpInput.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/hpInput.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/hpOutput.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/hpOutput.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/hpOutput.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/hpOutput.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/hpOutput.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/hpOutput.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/hpOutput.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/hpOutput.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iCBConstruct.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iCBConstruct.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iCBConstruct.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iCBConstruct.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iCBConstruct.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iCBConstruct.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iCBConstruct.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iCBConstruct.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iCBSearch.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iCBSearch.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iCBSearch.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iCBSearch.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iCBSearch.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iCBSearch.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iCBSearch.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iCBSearch.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_decode.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_decode.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_decode.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_decode.c index 33d3f740f45774227c2523760ddb2a28cdc1232d..17395d3a9238cc2e02539e1e60ad39295adb36b0 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_decode.c +++ b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_decode.c @@ -339,7 +339,6 @@ int lag, ilag; float cc, maxcc; int idxVec[STATE_LEN]; - int check; int gain_index[NASUB_MAX*CB_NSTAGES], extra_gain_index[CB_NSTAGES]; int cb_index[CB_NSTAGES*NASUB_MAX], extra_cb_index[CB_NSTAGES]; @@ -500,7 +499,7 @@ /* decode the lsf */ SimplelsfDEQ(lsfdeq, lsf_i, iLBCdec_inst->lpc_n); - check=LSF_check(lsfdeq, LPC_FILTERORDER, + LSF_check(lsfdeq, LPC_FILTERORDER, iLBCdec_inst->lpc_n); DecoderInterpolateLSF(syntdenum, weightdenum, lsfdeq, LPC_FILTERORDER, iLBCdec_inst); diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_decode.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_decode.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_decode.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_decode.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_define.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_define.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_define.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_define.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_encode.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_encode.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_encode.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_encode.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_encode.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_encode.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_encode.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_encode.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_test.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_test.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/iLBC_test.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/iLBC_test.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/lsf.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/lsf.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/lsf.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/lsf.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/lsf.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/lsf.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/lsf.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/lsf.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/packing.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/packing.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/packing.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/packing.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/packing.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/packing.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/packing.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/packing.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/syntFilter.c b/daemon/libs/pjproject-2.2.1/third_party/ilbc/syntFilter.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/syntFilter.c rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/syntFilter.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/ilbc/syntFilter.h b/daemon/libs/pjproject-2.2.1/third_party/ilbc/syntFilter.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/ilbc/syntFilter.h rename to daemon/libs/pjproject-2.2.1/third_party/ilbc/syntFilter.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/milenage/milenage.c b/daemon/libs/pjproject-2.2.1/third_party/milenage/milenage.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/milenage/milenage.c rename to daemon/libs/pjproject-2.2.1/third_party/milenage/milenage.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/milenage/milenage.h b/daemon/libs/pjproject-2.2.1/third_party/milenage/milenage.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/milenage/milenage.h rename to daemon/libs/pjproject-2.2.1/third_party/milenage/milenage.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/milenage/rijndael.c b/daemon/libs/pjproject-2.2.1/third_party/milenage/rijndael.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/milenage/rijndael.c rename to daemon/libs/pjproject-2.2.1/third_party/milenage/rijndael.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/milenage/rijndael.h b/daemon/libs/pjproject-2.2.1/third_party/milenage/rijndael.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/milenage/rijndael.h rename to daemon/libs/pjproject-2.2.1/third_party/milenage/rijndael.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/mp3/BladeMP3EncDLL.h b/daemon/libs/pjproject-2.2.1/third_party/mp3/BladeMP3EncDLL.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/mp3/BladeMP3EncDLL.h rename to daemon/libs/pjproject-2.2.1/third_party/mp3/BladeMP3EncDLL.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/mp3/mp3_port.h b/daemon/libs/pjproject-2.2.1/third_party/mp3/mp3_port.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/mp3/mp3_port.h rename to daemon/libs/pjproject-2.2.1/third_party/mp3/mp3_port.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/mp3/mp3_writer.c b/daemon/libs/pjproject-2.2.1/third_party/mp3/mp3_writer.c similarity index 96% rename from daemon/libs/pjproject-2.1.0/third_party/mp3/mp3_writer.c rename to daemon/libs/pjproject-2.2.1/third_party/mp3/mp3_writer.c index 4abd78d449f12e0694032b84cca3ed39964f3e43..f6a0d3e77bedf0f683428438316f9fbbc5fd9d90 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/mp3/mp3_writer.c +++ b/daemon/libs/pjproject-2.2.1/third_party/mp3/mp3_writer.c @@ -1,4 +1,4 @@ -/* $Id: mp3_writer.c 1233 2007-04-30 11:05:23Z bennylp $ */ +/* $Id: mp3_writer.c 4483 2013-04-19 09:52:02Z ming $ */ /* * Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org> * @@ -37,7 +37,7 @@ #define THIS_FILE "mp3_writer.c" -#define SIGNATURE PJMEDIA_PORT_SIGNATURE('F', 'W', 'M', '3') +#define SIGNATURE PJMEDIA_SIG_CLASS_PORT_AUD('M','W') #define BYTES_PER_SAMPLE 2 static struct BladeDLL @@ -175,12 +175,12 @@ static pj_status_t init_mp3_encoder(struct mp3_file_port *fport, LConfig.dwConfig = BE_CONFIG_LAME; LConfig.format.LHV1.dwStructVersion = 1; LConfig.format.LHV1.dwStructSize = sizeof(BE_CONFIG); - LConfig.format.LHV1.dwSampleRate = fport->base.info.clock_rate; + LConfig.format.LHV1.dwSampleRate = PJMEDIA_PIA_SRATE(&fport->base.info); LConfig.format.LHV1.dwReSampleRate = 0; - if (fport->base.info.channel_count==1) + if (PJMEDIA_PIA_CCNT(&fport->base.info)==1) LConfig.format.LHV1.nMode = BE_MP3_MODE_MONO; - else if (fport->base.info.channel_count==2) + else if (PJMEDIA_PIA_CCNT(&fport->base.info)==2) LConfig.format.LHV1.nMode = BE_MP3_MODE_STEREO; else return PJMEDIA_ENCCHANNEL; @@ -322,7 +322,7 @@ pjmedia_mp3_writer_port_create( pj_pool_t *pool, "bitrate=%dkbps%s, quality=%d", (int)fport->base.info.name.slen, fport->base.info.name.ptr, - fport->base.info.clock_rate/1000, + PJMEDIA_PIA_SRATE(&fport->base.info), fport->mp3_option.bit_rate/1000, (fport->mp3_option.vbr ? " (VBR)" : ""), fport->mp3_option.quality)); @@ -376,11 +376,11 @@ static pj_status_t file_put_frame(pjmedia_port *this_port, /* Record silence if input is no-frame */ if (frame->type == PJMEDIA_FRAME_TYPE_NONE || frame->size == 0) { - unsigned samples_left = fport->base.info.samples_per_frame; + unsigned samples_left = PJMEDIA_PIA_SPF(&fport->base.info); unsigned samples_copied = 0; /* Only want to record at most 1 second of silence */ - if (fport->silence_duration >= fport->base.info.clock_rate) + if (fport->silence_duration >= PJMEDIA_PIA_SRATE(&fport->base.info)) return PJ_SUCCESS; while (samples_left) { @@ -421,14 +421,14 @@ static pj_status_t file_put_frame(pjmedia_port *this_port, } } - fport->silence_duration += fport->base.info.samples_per_frame; + fport->silence_duration += PJMEDIA_PIA_SPF(&fport->base.info); } /* If encoder is expecting different sample size, then we need to * buffer the samples. */ else if (fport->mp3_samples_per_frame != - fport->base.info.samples_per_frame) + PJMEDIA_PIA_SPF(&fport->base.info)) { unsigned samples_left = frame->size / 2; unsigned samples_copied = 0; diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/Doxyfile b/daemon/libs/pjproject-2.2.1/third_party/portaudio/Doxyfile similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/Doxyfile rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/Doxyfile diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/LICENSE.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/LICENSE.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/LICENSE.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/LICENSE.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/Makefile.in b/daemon/libs/pjproject-2.2.1/third_party/portaudio/Makefile.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/Makefile.in rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/Makefile.in diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/README.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/README.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/README.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/README.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/SConstruct b/daemon/libs/pjproject-2.2.1/third_party/portaudio/SConstruct similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/SConstruct rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/SConstruct diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/aclocal.m4 b/daemon/libs/pjproject-2.2.1/third_party/portaudio/aclocal.m4 similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/aclocal.m4 rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/aclocal.m4 diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/Makefile-dll b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/Makefile-dll similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/Makefile-dll rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/Makefile-dll diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/Makefile-static b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/Makefile-static similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/Makefile-static rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/Makefile-static diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/portaudio-dll.dev b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/portaudio-dll.dev similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/portaudio-dll.dev rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/portaudio-dll.dev diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/portaudio-static.dev b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/portaudio-static.dev similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/portaudio-static.dev rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/portaudio-static.dev diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/readme.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/readme.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/dev-cpp/readme.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/dev-cpp/readme.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.def b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.def rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.def diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.dsp b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.dsp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.dsp rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.dsp diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.dsw b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.dsw similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.dsw rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.dsw diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.sln b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.sln similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.sln rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.sln diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.vcproj b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.vcproj similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/portaudio.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/portaudio.vcproj diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/readme.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/readme.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/msvc/readme.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/msvc/readme.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/scons/SConscript_common b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/scons/SConscript_common similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/scons/SConscript_common rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/scons/SConscript_common diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/build/scons/SConscript_opts b/daemon/libs/pjproject-2.2.1/third_party/portaudio/build/scons/SConscript_opts similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/build/scons/SConscript_opts rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/build/scons/SConscript_opts diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/config.guess b/daemon/libs/pjproject-2.2.1/third_party/portaudio/config.guess similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/config.guess rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/config.guess diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/config.sub b/daemon/libs/pjproject-2.2.1/third_party/portaudio/config.sub similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/config.sub rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/config.sub diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/configure b/daemon/libs/pjproject-2.2.1/third_party/portaudio/configure similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/configure rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/configure diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/configure.in b/daemon/libs/pjproject-2.2.1/third_party/portaudio/configure.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/configure.in rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/configure.in diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/depcomp b/daemon/libs/pjproject-2.2.1/third_party/portaudio/depcomp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/depcomp rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/depcomp diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/fixdir.bat b/daemon/libs/pjproject-2.2.1/third_party/portaudio/fixdir.bat similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/fixdir.bat rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/fixdir.bat diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/fixfile.bat b/daemon/libs/pjproject-2.2.1/third_party/portaudio/fixfile.bat similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/fixfile.bat rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/fixfile.bat diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_asio.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_asio.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_asio.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_asio.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_jack.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_jack.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_jack.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_jack.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_linux_alsa.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_linux_alsa.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_linux_alsa.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_linux_alsa.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_mac_core.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_mac_core.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_mac_core.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_mac_core.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_win_ds.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_win_ds.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_win_ds.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_win_ds.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_win_waveformat.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_win_waveformat.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_win_waveformat.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_win_waveformat.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_win_wmme.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_win_wmme.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/include/pa_win_wmme.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/include/pa_win_wmme.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/include/portaudio.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/include/portaudio.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/include/portaudio.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/include/portaudio.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/index.html b/daemon/libs/pjproject-2.2.1/third_party/portaudio/index.html similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/index.html rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/index.html diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/install-sh b/daemon/libs/pjproject-2.2.1/third_party/portaudio/install-sh similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/install-sh rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/install-sh diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/ltmain.sh b/daemon/libs/pjproject-2.2.1/third_party/portaudio/ltmain.sh similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/ltmain.sh rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/ltmain.sh diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/missing b/daemon/libs/pjproject-2.2.1/third_party/portaudio/missing similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/missing rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/missing diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/README.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/README.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/README.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/README.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/pablio.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/pablio.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/pablio.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/pablio.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/pablio.def b/daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/pablio.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/pablio.def rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/pablio.def diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/pablio.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/pablio.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/pablio.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/pablio.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/test_rw.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/test_rw.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/test_rw.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/test_rw.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/test_rw_echo.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/test_rw_echo.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/test_rw_echo.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/test_rw_echo.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/test_w_saw.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/test_w_saw.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/test_w_saw.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/test_w_saw.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/test_w_saw8.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/test_w_saw8.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/pablio/test_w_saw8.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/pablio/test_w_saw8.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/portaudio-2.0.pc.in b/daemon/libs/pjproject-2.2.1/third_party/portaudio/portaudio-2.0.pc.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/portaudio-2.0.pc.in rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/portaudio-2.0.pc.in diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/SConscript b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/SConscript similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/SConscript rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/SConscript diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_allocation.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_allocation.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_allocation.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_allocation.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_allocation.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_allocation.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_allocation.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_allocation.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_converters.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_converters.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_converters.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_converters.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_converters.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_converters.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_converters.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_converters.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_cpuload.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_cpuload.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_cpuload.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_cpuload.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_cpuload.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_cpuload.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_cpuload.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_cpuload.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_debugprint.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_debugprint.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_debugprint.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_debugprint.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_debugprint.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_debugprint.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_debugprint.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_debugprint.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_dither.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_dither.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_dither.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_dither.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_dither.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_dither.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_dither.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_dither.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_endianness.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_endianness.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_endianness.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_endianness.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_front.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_front.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_front.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_front.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_hostapi.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_hostapi.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_hostapi.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_hostapi.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_memorybarrier.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_memorybarrier.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_memorybarrier.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_memorybarrier.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_process.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_process.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_process.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_process.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_process.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_process.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_process.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_process.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_ringbuffer.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_ringbuffer.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_ringbuffer.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_ringbuffer.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_ringbuffer.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_ringbuffer.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_ringbuffer.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_ringbuffer.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_skeleton.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_skeleton.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_skeleton.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_skeleton.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_stream.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_stream.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_stream.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_stream.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_stream.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_stream.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_stream.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_stream.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_trace.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_trace.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_trace.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_trace.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_trace.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_trace.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_trace.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_trace.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_types.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_types.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_types.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_util.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_util.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/common/pa_util.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/common/pa_util.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/alsa/pa_linux_alsa.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/alsa/pa_linux_alsa.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/alsa/pa_linux_alsa.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/alsa/pa_linux_alsa.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asihpi/pa_linux_asihpi.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asihpi/pa_linux_asihpi.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asihpi/pa_linux_asihpi.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asihpi/pa_linux_asihpi.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/ASIO-README.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/ASIO-README.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/ASIO-README.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/ASIO-README.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/Callback_adaptation_.pdf b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/Callback_adaptation_.pdf similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/Callback_adaptation_.pdf rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/Callback_adaptation_.pdf diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/Pa_ASIO.pdf b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/Pa_ASIO.pdf similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/Pa_ASIO.pdf rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/Pa_ASIO.pdf diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.cpp b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.cpp rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/iasiothiscallresolver.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/pa_asio.cpp b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/pa_asio.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/asio/pa_asio.cpp rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/asio/pa_asio.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/notes.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/notes.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/notes.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/notes.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_internal.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_internal.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_internal.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_internal.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/dsound/pa_win_ds.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/dsound/pa_win_ds.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/dsound/pa_win_ds.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/dsound/pa_win_ds.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/jack/pa_jack.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/jack/pa_jack.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/jack/pa_jack.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/jack/pa_jack.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/oss/low_latency_tip.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/oss/low_latency_tip.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/oss/low_latency_tip.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/oss/low_latency_tip.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/oss/pa_unix_oss.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/oss/pa_unix_oss.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/oss/pa_unix_oss.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/oss/pa_unix_oss.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/oss/recplay.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/oss/recplay.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/oss/recplay.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/oss/recplay.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/wasapi/pa_win_wasapi.cpp b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/wasapi/pa_win_wasapi.cpp similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/wasapi/pa_win_wasapi.cpp rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/wasapi/pa_win_wasapi.cpp diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/wdmks/pa_win_wdmks.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/wdmks/pa_win_wdmks.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/wdmks/pa_win_wdmks.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/wdmks/pa_win_wdmks.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/wdmks/readme.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/wdmks/readme.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/wdmks/readme.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/wdmks/readme.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/wmme/pa_win_wmme.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/wmme/pa_win_wmme.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/hostapi/wmme/pa_win_wmme.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/hostapi/wmme/pa_win_wmme.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/unix/pa_unix_hostapis.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/unix/pa_unix_hostapis.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/unix/pa_unix_hostapis.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/unix/pa_unix_hostapis.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/unix/pa_unix_util.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/unix/pa_unix_util.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/unix/pa_unix_util.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/unix/pa_unix_util.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/unix/pa_unix_util.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/unix/pa_unix_util.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/unix/pa_unix_util.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/unix/pa_unix_util.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_hostapis.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_hostapis.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_hostapis.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_hostapis.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_util.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_util.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_util.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_util.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_waveformat.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_waveformat.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_waveformat.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_waveformat.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_wdmks_utils.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_wdmks_utils.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_wdmks_utils.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_wdmks_utils.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_wdmks_utils.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_wdmks_utils.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_win_wdmks_utils.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_win_wdmks_utils.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_x86_plain_converters.c b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_x86_plain_converters.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_x86_plain_converters.c rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_x86_plain_converters.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_x86_plain_converters.h b/daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_x86_plain_converters.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/src/os/win/pa_x86_plain_converters.h rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/src/os/win/pa_x86_plain_converters.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/portaudio/testcvs/changeme.txt b/daemon/libs/pjproject-2.2.1/third_party/portaudio/testcvs/changeme.txt similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/portaudio/testcvs/changeme.txt rename to daemon/libs/pjproject-2.2.1/third_party/portaudio/testcvs/changeme.txt diff --git a/daemon/libs/pjproject-2.1.0/third_party/resample/COPYING b/daemon/libs/pjproject-2.2.1/third_party/resample/COPYING similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/resample/COPYING rename to daemon/libs/pjproject-2.2.1/third_party/resample/COPYING diff --git a/daemon/libs/pjproject-2.1.0/third_party/resample/README.resample b/daemon/libs/pjproject-2.2.1/third_party/resample/README.resample similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/resample/README.resample rename to daemon/libs/pjproject-2.2.1/third_party/resample/README.resample diff --git a/daemon/libs/pjproject-2.1.0/third_party/resample/include/resamplesubs.h b/daemon/libs/pjproject-2.2.1/third_party/resample/include/resamplesubs.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/resample/include/resamplesubs.h rename to daemon/libs/pjproject-2.2.1/third_party/resample/include/resamplesubs.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/resample/src/largefilter.h b/daemon/libs/pjproject-2.2.1/third_party/resample/src/largefilter.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/resample/src/largefilter.h rename to daemon/libs/pjproject-2.2.1/third_party/resample/src/largefilter.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/resample/src/libresample_dll.c b/daemon/libs/pjproject-2.2.1/third_party/resample/src/libresample_dll.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/resample/src/libresample_dll.c rename to daemon/libs/pjproject-2.2.1/third_party/resample/src/libresample_dll.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/resample/src/resample.h b/daemon/libs/pjproject-2.2.1/third_party/resample/src/resample.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/resample/src/resample.h rename to daemon/libs/pjproject-2.2.1/third_party/resample/src/resample.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/resample/src/resamplesubs.c b/daemon/libs/pjproject-2.2.1/third_party/resample/src/resamplesubs.c similarity index 91% rename from daemon/libs/pjproject-2.1.0/third_party/resample/src/resamplesubs.c rename to daemon/libs/pjproject-2.2.1/third_party/resample/src/resamplesubs.c index 5e56fcc123f69cfedce1400423ae87db4135ac54..5e712978eaeb7350b9bd450a1497060219c74e90 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/resample/src/resamplesubs.c +++ b/daemon/libs/pjproject-2.2.1/third_party/resample/src/resamplesubs.c @@ -1,4 +1,4 @@ -/* $Id: resamplesubs.c 3085 2010-02-01 11:23:54Z nanang $ */ +/* $Id: resamplesubs.c 4728 2014-02-04 10:13:56Z bennylp $ */ /* * Digital Audio Resampling Home Page located at * http://www-ccrma.stanford.edu/~jos/resample/. @@ -6,28 +6,28 @@ * SOFTWARE FOR SAMPLING-RATE CONVERSION AND FIR DIGITAL FILTER DESIGN * * Snippet from the resample.1 man page: - * + * * HISTORY * * The first version of this software was written by Julius O. Smith III * <jos@ccrma.stanford.edu> at CCRMA <http://www-ccrma.stanford.edu> in * 1981. It was called SRCONV and was written in SAIL for PDP-10 * compatible machines. The algorithm was first published in - * + * * Smith, Julius O. and Phil Gossett. ``A Flexible Sampling-Rate * Conversion Method,'' Proceedings (2): 19.4.1-19.4.4, IEEE Conference * on Acoustics, Speech, and Signal Processing, San Diego, March 1984. - * + * * An expanded tutorial based on this paper is available at the Digital * Audio Resampling Home Page given above. - * + * * Circa 1988, the SRCONV program was translated from SAIL to C by * Christopher Lee Fraley working with Roger Dannenberg at CMU. - * + * * Since then, the C version has been maintained by jos. - * + * * Sndlib support was added 6/99 by John Gibson <jgg9c@virginia.edu>. - * + * * The resample program is free software distributed in accordance * with the Lesser GNU Public License (LGPL). There is NO warranty; not * even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -77,7 +77,7 @@ #undef INLINE #define INLINE -#define HAVE_FILTER 0 +#define HAVE_FILTER 0 #ifndef NULL # define NULL 0 @@ -94,14 +94,14 @@ static INLINE RES_HWORD WordToHword(RES_WORD v, int scl) v = MAX_HWORD; } else if (v < MIN_HWORD) { v = MIN_HWORD; - } + } out = (RES_HWORD) v; return out; } /* Sampling rate conversion using linear interpolation for maximum speed. */ -static int +static int SrcLinear(const RES_HWORD X[], RES_HWORD Y[], double pFactor, RES_UHWORD nx) { RES_HWORD iconst; @@ -109,19 +109,19 @@ static int const RES_HWORD *xp; RES_HWORD *Ystart, *Yend; RES_WORD v,x1,x2; - - double dt; /* Step through input signal */ + + double dt; /* Step through input signal */ RES_UWORD dtb; /* Fixed-point version of Dt */ - RES_UWORD endTime; /* When time reaches EndTime, return to user */ - + //RES_UWORD endTime; /* When time reaches EndTime, return to user */ + dt = 1.0/pFactor; /* Output sampling period */ dtb = dt*(1<<Np) + 0.5; /* Fixed-point representation */ - + Ystart = Y; Yend = Ystart + (unsigned)(nx * pFactor + 0.5); - endTime = time + (1<<Np)*(RES_WORD)nx; - - // Integer round down in dtb calculation may cause (endTime % dtb > 0), + //endTime = time + (1<<Np)*(RES_WORD)nx; + + // Integer round down in dtb calculation may cause (endTime % dtb > 0), // so it may cause resample write pass the output buffer (Y >= Yend). // while (time < endTime) while (Y < Yend) @@ -139,7 +139,7 @@ static int return (Y - Ystart); /* Return number of output samples */ } -static RES_WORD FilterUp(const RES_HWORD Imp[], const RES_HWORD ImpD[], +static RES_WORD FilterUp(const RES_HWORD Imp[], const RES_HWORD ImpD[], RES_UHWORD Nwing, RES_BOOL Interp, const RES_HWORD *Xp, RES_HWORD Ph, RES_HWORD Inc) { @@ -148,7 +148,7 @@ static RES_WORD FilterUp(const RES_HWORD Imp[], const RES_HWORD ImpD[], const RES_HWORD *End; RES_HWORD a = 0; RES_WORD v, t; - + v=0; Hp = &Imp[Ph>>Na]; End = &Imp[Nwing]; @@ -178,8 +178,8 @@ static RES_WORD FilterUp(const RES_HWORD Imp[], const RES_HWORD ImpD[], Hp += Npc; /* Filter coeff step */ Xp += Inc; /* Input signal step. NO CHECK ON BOUNDS */ - } - else + } + else while (Hp < End) { t = *Hp; /* Get filter coeff */ t *= *Xp; /* Mult coeff by input sample */ @@ -202,7 +202,7 @@ static RES_WORD FilterUD(const RES_HWORD Imp[], const RES_HWORD ImpD[], const RES_HWORD *Hp, *Hdp, *End; RES_WORD v, t; RES_UWORD Ho; - + v=0; Ho = (Ph*(RES_UWORD)dhb)>>Np; End = &Imp[Nwing]; @@ -227,7 +227,7 @@ static RES_WORD FilterUD(const RES_HWORD Imp[], const RES_HWORD ImpD[], Ho += dhb; /* IR step */ Xp += Inc; /* Input signal step. NO CHECK ON BOUNDS */ } - else + else while ((Hp = &Imp[Ho>>Na]) < End) { t = *Hp; /* Get IR sample */ t *= *Xp; /* Mult coeff by input sample */ @@ -244,27 +244,27 @@ static RES_WORD FilterUD(const RES_HWORD Imp[], const RES_HWORD ImpD[], /* Sampling rate up-conversion only subroutine; * Slightly faster than down-conversion; */ -static int SrcUp(const RES_HWORD X[], RES_HWORD Y[], double pFactor, +static int SrcUp(const RES_HWORD X[], RES_HWORD Y[], double pFactor, RES_UHWORD nx, RES_UHWORD pNwing, RES_UHWORD pLpScl, const RES_HWORD pImp[], const RES_HWORD pImpD[], RES_BOOL Interp) { const RES_HWORD *xp; RES_HWORD *Ystart, *Yend; RES_WORD v; - - double dt; /* Step through input signal */ + + double dt; /* Step through input signal */ RES_UWORD dtb; /* Fixed-point version of Dt */ RES_UWORD time = 0; - RES_UWORD endTime; /* When time reaches EndTime, return to user */ - + //RES_UWORD endTime; /* When time reaches EndTime, return to user */ + dt = 1.0/pFactor; /* Output sampling period */ dtb = dt*(1<<Np) + 0.5; /* Fixed-point representation */ - + Ystart = Y; Yend = Ystart + (unsigned)(nx * pFactor + 0.5); - endTime = time + (1<<Np)*(RES_WORD)nx; + //endTime = time + (1<<Np)*(RES_WORD)nx; - // Integer round down in dtb calculation may cause (endTime % dtb > 0), + // Integer round down in dtb calculation may cause (endTime % dtb > 0), // so it may cause resample write pass the output buffer (Y >= Yend). // while (time < endTime) while (Y < Yend) @@ -288,31 +288,31 @@ static int SrcUp(const RES_HWORD X[], RES_HWORD Y[], double pFactor, /* Sampling rate conversion subroutine */ -static int SrcUD(const RES_HWORD X[], RES_HWORD Y[], double pFactor, +static int SrcUD(const RES_HWORD X[], RES_HWORD Y[], double pFactor, RES_UHWORD nx, RES_UHWORD pNwing, RES_UHWORD pLpScl, const RES_HWORD pImp[], const RES_HWORD pImpD[], RES_BOOL Interp) { const RES_HWORD *xp; RES_HWORD *Ystart, *Yend; RES_WORD v; - + double dh; /* Step through filter impulse response */ double dt; /* Step through input signal */ RES_UWORD time = 0; - RES_UWORD endTime; /* When time reaches EndTime, return to user */ + //RES_UWORD endTime; /* When time reaches EndTime, return to user */ RES_UWORD dhb, dtb; /* Fixed-point versions of Dh,Dt */ - + dt = 1.0/pFactor; /* Output sampling period */ dtb = dt*(1<<Np) + 0.5; /* Fixed-point representation */ - + dh = MIN(Npc, pFactor*Npc); /* Filter sampling period */ dhb = dh*(1<<Na) + 0.5; /* Fixed-point representation */ - + Ystart = Y; Yend = Ystart + (unsigned)(nx * pFactor + 0.5); - endTime = time + (1<<Np)*(RES_WORD)nx; + //endTime = time + (1<<Np)*(RES_WORD)nx; - // Integer round down in dtb calculation may cause (endTime % dtb > 0), + // Integer round down in dtb calculation may cause (endTime % dtb > 0), // so it may cause resample write pass the output buffer (Y >= Yend). // while (time < endTime) while (Y < Yend) @@ -331,13 +331,13 @@ static int SrcUD(const RES_HWORD X[], RES_HWORD Y[], double pFactor, } -DECL(int) res_SrcLinear(const RES_HWORD X[], RES_HWORD Y[], +DECL(int) res_SrcLinear(const RES_HWORD X[], RES_HWORD Y[], double pFactor, RES_UHWORD nx) { return SrcLinear(X, Y, pFactor, nx); } -DECL(int) res_Resample(const RES_HWORD X[], RES_HWORD Y[], double pFactor, +DECL(int) res_Resample(const RES_HWORD X[], RES_HWORD Y[], double pFactor, RES_UHWORD nx, RES_BOOL LargeF, RES_BOOL Interp) { if (pFactor >= 1) { @@ -354,11 +354,11 @@ DECL(int) res_Resample(const RES_HWORD X[], RES_HWORD Y[], double pFactor, } else { if (LargeF) - return SrcUD(X, Y, pFactor, nx, + return SrcUD(X, Y, pFactor, nx, LARGE_FILTER_NWING, LARGE_FILTER_SCALE * pFactor + 0.5, LARGE_FILTER_IMP, LARGE_FILTER_IMPD, Interp); else - return SrcUD(X, Y, pFactor, nx, + return SrcUD(X, Y, pFactor, nx, SMALL_FILTER_NWING, SMALL_FILTER_SCALE * pFactor + 0.5, SMALL_FILTER_IMP, SMALL_FILTER_IMPD, Interp); @@ -368,10 +368,10 @@ DECL(int) res_Resample(const RES_HWORD X[], RES_HWORD Y[], double pFactor, DECL(int) res_GetXOFF(double pFactor, RES_BOOL LargeF) { if (LargeF) - return (LARGE_FILTER_NMULT + 1) / 2.0 * + return (LARGE_FILTER_NMULT + 1) / 2.0 * MAX(1.0, 1.0/pFactor); else - return (SMALL_FILTER_NMULT + 1) / 2.0 * + return (SMALL_FILTER_NMULT + 1) / 2.0 * MAX(1.0, 1.0/pFactor); } diff --git a/daemon/libs/pjproject-2.1.0/third_party/resample/src/smallfilter.h b/daemon/libs/pjproject-2.2.1/third_party/resample/src/smallfilter.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/resample/src/smallfilter.h rename to daemon/libs/pjproject-2.2.1/third_party/resample/src/smallfilter.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/resample/src/stddefs.h b/daemon/libs/pjproject-2.2.1/third_party/resample/src/stddefs.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/resample/src/stddefs.h rename to daemon/libs/pjproject-2.2.1/third_party/resample/src/stddefs.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/AUTHORS b/daemon/libs/pjproject-2.2.1/third_party/speex/AUTHORS similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/AUTHORS rename to daemon/libs/pjproject-2.2.1/third_party/speex/AUTHORS diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/COPYING b/daemon/libs/pjproject-2.2.1/third_party/speex/COPYING similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/COPYING rename to daemon/libs/pjproject-2.2.1/third_party/speex/COPYING diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex.h index 82ba016237da69343798ff814269ae29f4d412d3..b16b1aba7abab37db0d317f58ce837c9292547e1 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex.h +++ b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex.h @@ -411,7 +411,7 @@ extern const SpeexMode * const speex_mode_list[SPEEX_NB_MODES]; /** Obtain one of the modes available */ const SpeexMode * speex_lib_get_mode (int mode); -#ifndef WIN32 +#if (!defined(WIN32) && !defined(WIN64)) /* We actually override the function in the narrowband case so that we can avoid linking in the wideband stuff */ #define speex_lib_get_mode(mode) ((mode)==SPEEX_MODEID_NB ? &speex_nb_mode : speex_lib_get_mode (mode)) #endif diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_bits.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_bits.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_bits.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_bits.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_buffer.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_buffer.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_buffer.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_buffer.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_callbacks.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_callbacks.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_callbacks.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_callbacks.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_config_types.h.in b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_config_types.h.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_config_types.h.in rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_config_types.h.in diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_echo.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_echo.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_echo.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_echo.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_header.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_header.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_header.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_header.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_jitter.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_jitter.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_jitter.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_jitter.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_preprocess.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_preprocess.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_preprocess.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_preprocess.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_resampler.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_resampler.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_resampler.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_resampler.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_stereo.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_stereo.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_stereo.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_stereo.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_types.h b/daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/include/speex/speex_types.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/include/speex/speex_types.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/_kiss_fft_guts.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/_kiss_fft_guts.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/_kiss_fft_guts.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/_kiss_fft_guts.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/arch.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/arch.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/arch.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/arch.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/bits.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/bits.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/bits.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/bits.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/buffer.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/buffer.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/buffer.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/buffer.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search_arm4.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search_arm4.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search_arm4.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search_arm4.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search_bfin.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search_bfin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search_bfin.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search_bfin.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search_sse.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search_sse.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/cb_search_sse.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/cb_search_sse.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/echo_diagnostic.m b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/echo_diagnostic.m similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/echo_diagnostic.m rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/echo_diagnostic.m diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_10_16_table.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_10_16_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_10_16_table.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_10_16_table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_10_32_table.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_10_32_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_10_32_table.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_10_32_table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_20_32_table.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_20_32_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_20_32_table.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_20_32_table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_5_256_table.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_5_256_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_5_256_table.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_5_256_table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_5_64_table.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_5_64_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_5_64_table.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_5_64_table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_8_128_table.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_8_128_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/exc_8_128_table.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/exc_8_128_table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fftwrap.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fftwrap.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fftwrap.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fftwrap.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fftwrap.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fftwrap.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fftwrap.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fftwrap.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filterbank.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filterbank.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filterbank.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filterbank.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filterbank.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filterbank.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filterbank.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filterbank.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters_arm4.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters_arm4.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters_arm4.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters_arm4.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters_bfin.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters_bfin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters_bfin.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters_bfin.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters_sse.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters_sse.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/filters_sse.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/filters_sse.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_arm4.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_arm4.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_arm4.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_arm4.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_arm5e.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_arm5e.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_arm5e.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_arm5e.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_bfin.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_bfin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_bfin.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_bfin.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_debug.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_debug.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_debug.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_debug.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_generic.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_generic.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/fixed_generic.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/fixed_generic.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/gain_table.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/gain_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/gain_table.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/gain_table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/gain_table_lbr.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/gain_table_lbr.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/gain_table_lbr.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/gain_table_lbr.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/hexc_10_32_table.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/hexc_10_32_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/hexc_10_32_table.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/hexc_10_32_table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/hexc_table.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/hexc_table.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/hexc_table.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/hexc_table.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/high_lsp_tables.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/high_lsp_tables.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/high_lsp_tables.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/high_lsp_tables.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/jitter.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/jitter.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/jitter.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/jitter.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/kiss_fft.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/kiss_fft.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/kiss_fft.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/kiss_fft.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/kiss_fft.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/kiss_fft.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/kiss_fft.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/kiss_fft.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/kiss_fftr.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/kiss_fftr.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/kiss_fftr.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/kiss_fftr.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/kiss_fftr.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/kiss_fftr.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/kiss_fftr.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/kiss_fftr.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lpc.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lpc.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lpc.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lpc.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lpc.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lpc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lpc.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lpc.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lpc_bfin.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lpc_bfin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lpc_bfin.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lpc_bfin.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lsp.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lsp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lsp.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lsp.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lsp.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lsp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lsp.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lsp.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lsp_bfin.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lsp_bfin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lsp_bfin.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lsp_bfin.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lsp_tables_nb.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lsp_tables_nb.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/lsp_tables_nb.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/lsp_tables_nb.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp_arm4.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp_arm4.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp_arm4.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp_arm4.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp_bfin.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp_bfin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp_bfin.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp_bfin.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp_sse.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp_sse.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/ltp_sse.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/ltp_sse.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/math_approx.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/math_approx.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/math_approx.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/math_approx.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/mdf.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/mdf.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/mdf.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/mdf.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/misc_bfin.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/misc_bfin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/misc_bfin.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/misc_bfin.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/modes.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/modes.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/modes.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/modes.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/modes.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/modes.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/modes.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/modes.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/modes_wb.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/modes_wb.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/modes_wb.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/modes_wb.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/nb_celp.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/nb_celp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/nb_celp.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/nb_celp.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/nb_celp.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/nb_celp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/nb_celp.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/nb_celp.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/os_support.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/os_support.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/os_support.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/os_support.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/preprocess.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/preprocess.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/preprocess.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/preprocess.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/pseudofloat.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/pseudofloat.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/pseudofloat.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/pseudofloat.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/quant_lsp.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/quant_lsp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/quant_lsp.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/quant_lsp.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/quant_lsp.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/quant_lsp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/quant_lsp.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/quant_lsp.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/quant_lsp_bfin.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/quant_lsp_bfin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/quant_lsp_bfin.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/quant_lsp_bfin.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/resample.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/resample.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/resample.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/resample.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/resample_sse.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/resample_sse.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/resample_sse.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/resample_sse.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/sb_celp.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/sb_celp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/sb_celp.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/sb_celp.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/sb_celp.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/sb_celp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/sb_celp.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/sb_celp.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/scal.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/scal.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/scal.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/scal.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/smallft.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/smallft.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/smallft.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/smallft.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/smallft.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/smallft.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/smallft.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/smallft.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/speex.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/speex.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/speex.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/speex.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/speex_callbacks.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/speex_callbacks.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/speex_callbacks.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/speex_callbacks.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/speex_header.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/speex_header.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/speex_header.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/speex_header.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/stack_alloc.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/stack_alloc.h similarity index 98% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/stack_alloc.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/stack_alloc.h index 5264e666b04bca98172e38eff938483dbacc56ca..bd973fa342f964344dac0f1cf8b854e230047486 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/stack_alloc.h +++ b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/stack_alloc.h @@ -36,7 +36,7 @@ #define STACK_ALLOC_H #ifdef USE_ALLOCA -# ifdef WIN32 +# if (defined(WIN32) || defined(WIN64)) # include <malloc.h> # else # ifdef HAVE_ALLOCA_H diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/stereo.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/stereo.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/stereo.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/stereo.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testdenoise.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testdenoise.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testdenoise.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testdenoise.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testecho.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testecho.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testecho.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testecho.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testenc.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testenc.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testenc.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testenc.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testenc_uwb.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testenc_uwb.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testenc_uwb.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testenc_uwb.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testenc_wb.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testenc_wb.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testenc_wb.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testenc_wb.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testjitter.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testjitter.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testjitter.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testjitter.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testresample.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testresample.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/testresample.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/testresample.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vbr.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vbr.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vbr.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vbr.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vbr.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vbr.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vbr.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vbr.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vorbis_psy.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vorbis_psy.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vorbis_psy.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vorbis_psy.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vorbis_psy.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vorbis_psy.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vorbis_psy.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vorbis_psy.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq_arm4.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq_arm4.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq_arm4.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq_arm4.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq_bfin.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq_bfin.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq_bfin.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq_bfin.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq_sse.h b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq_sse.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/vq_sse.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/vq_sse.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/window.c b/daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/window.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/libspeex/window.c rename to daemon/libs/pjproject-2.2.1/third_party/speex/libspeex/window.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/symbian/config.h b/daemon/libs/pjproject-2.2.1/third_party/speex/symbian/config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/symbian/config.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/symbian/config.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/speex/win32/config.h b/daemon/libs/pjproject-2.2.1/third_party/speex/win32/config.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/speex/win32/config.h rename to daemon/libs/pjproject-2.2.1/third_party/speex/win32/config.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/CHANGES b/daemon/libs/pjproject-2.2.1/third_party/srtp/CHANGES similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/CHANGES rename to daemon/libs/pjproject-2.2.1/third_party/srtp/CHANGES diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/LICENSE b/daemon/libs/pjproject-2.2.1/third_party/srtp/LICENSE similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/LICENSE rename to daemon/libs/pjproject-2.2.1/third_party/srtp/LICENSE diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/Makefile.in b/daemon/libs/pjproject-2.2.1/third_party/srtp/Makefile.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/Makefile.in rename to daemon/libs/pjproject-2.2.1/third_party/srtp/Makefile.in diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/README b/daemon/libs/pjproject-2.2.1/third_party/srtp/README similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/README rename to daemon/libs/pjproject-2.2.1/third_party/srtp/README diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/TODO b/daemon/libs/pjproject-2.2.1/third_party/srtp/TODO similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/TODO rename to daemon/libs/pjproject-2.2.1/third_party/srtp/TODO diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/VERSION b/daemon/libs/pjproject-2.2.1/third_party/srtp/VERSION similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/VERSION rename to daemon/libs/pjproject-2.2.1/third_party/srtp/VERSION diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/config.guess b/daemon/libs/pjproject-2.2.1/third_party/srtp/config.guess similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/config.guess rename to daemon/libs/pjproject-2.2.1/third_party/srtp/config.guess diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/config.h_win32vc7 b/daemon/libs/pjproject-2.2.1/third_party/srtp/config.h_win32vc7 similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/config.h_win32vc7 rename to daemon/libs/pjproject-2.2.1/third_party/srtp/config.h_win32vc7 diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/config.hw b/daemon/libs/pjproject-2.2.1/third_party/srtp/config.hw similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/config.hw rename to daemon/libs/pjproject-2.2.1/third_party/srtp/config.hw diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/config.sub b/daemon/libs/pjproject-2.2.1/third_party/srtp/config.sub similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/config.sub rename to daemon/libs/pjproject-2.2.1/third_party/srtp/config.sub diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/config_in.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/config_in.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/config_in.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/config_in.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/configure b/daemon/libs/pjproject-2.2.1/third_party/srtp/configure similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/configure rename to daemon/libs/pjproject-2.2.1/third_party/srtp/configure diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/configure.in b/daemon/libs/pjproject-2.2.1/third_party/srtp/configure.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/configure.in rename to daemon/libs/pjproject-2.2.1/third_party/srtp/configure.in diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/Makefile b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/Makefile similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/Makefile rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/Makefile diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/Makefile.in b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/Makefile.in similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/Makefile.in rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/Makefile.in diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/VERSION b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/VERSION similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/VERSION rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/VERSION diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/ae_xfm/xfm.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/ae_xfm/xfm.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/ae_xfm/xfm.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/ae_xfm/xfm.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/aes.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/aes.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/aes.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/aes.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/aes_cbc.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/aes_cbc.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/aes_cbc.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/aes_cbc.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/aes_icm.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/aes_icm.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/aes_icm.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/aes_icm.c index b466ca9aec34a789cd60f6740be444d0739c4925..e7e8c5997879c483041decfe37be71a0b2b021b7 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/aes_icm.c +++ b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/aes_icm.c @@ -283,7 +283,7 @@ aes_icm_set_iv(aes_icm_ctx_t *c, void *iv) { * this is an internal, hopefully inlined function */ -inline void +static inline void aes_icm_advance_ismacryp(aes_icm_ctx_t *c, uint8_t forIsmacryp) { /* fill buffer with new keystream */ v128_copy(&c->keystream_buffer, &c->counter); diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/cipher.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/cipher.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/cipher.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/cipher.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/null_cipher.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/null_cipher.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/cipher/null_cipher.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/cipher/null_cipher.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/hash/auth.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/hash/auth.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/hash/auth.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/hash/auth.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/hash/hmac.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/hash/hmac.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/hash/hmac.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/hash/hmac.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/hash/null_auth.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/hash/null_auth.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/hash/null_auth.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/hash/null_auth.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/hash/sha1.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/hash/sha1.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/hash/sha1.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/hash/sha1.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/aes.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/aes.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/aes.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/aes.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/aes_cbc.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/aes_cbc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/aes_cbc.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/aes_cbc.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/aes_icm.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/aes_icm.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/aes_icm.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/aes_icm.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/alloc.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/alloc.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/alloc.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/alloc.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/auth.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/auth.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/auth.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/auth.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/cipher.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/cipher.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/cipher.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/cipher.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/crypto.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/crypto.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/crypto.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/crypto.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/crypto_kernel.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/crypto_kernel.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/crypto_kernel.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/crypto_kernel.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/crypto_math.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/crypto_math.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/crypto_math.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/crypto_math.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/crypto_types.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/crypto_types.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/crypto_types.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/crypto_types.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/cryptoalg.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/cryptoalg.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/cryptoalg.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/cryptoalg.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/datatypes.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/datatypes.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/datatypes.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/datatypes.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/err.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/err.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/err.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/err.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/gf2_8.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/gf2_8.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/gf2_8.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/gf2_8.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/hmac.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/hmac.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/hmac.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/hmac.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/integers.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/integers.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/integers.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/integers.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/kernel_compat.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/kernel_compat.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/kernel_compat.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/kernel_compat.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/key.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/key.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/key.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/key.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/null_auth.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/null_auth.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/null_auth.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/null_auth.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/null_cipher.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/null_cipher.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/null_cipher.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/null_cipher.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/prng.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/prng.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/prng.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/prng.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/rand_source.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/rand_source.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/rand_source.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/rand_source.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/rdb.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/rdb.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/rdb.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/rdb.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/rdbx.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/rdbx.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/rdbx.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/rdbx.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/sha1.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/sha1.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/sha1.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/sha1.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/stat.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/stat.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/stat.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/stat.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/xfm.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/xfm.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/include/xfm.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/include/xfm.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/kernel/alloc.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/kernel/alloc.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/kernel/alloc.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/kernel/alloc.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/kernel/crypto_kernel.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/kernel/crypto_kernel.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/kernel/crypto_kernel.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/kernel/crypto_kernel.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/kernel/err.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/kernel/err.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/kernel/err.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/kernel/err.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/kernel/key.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/kernel/key.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/kernel/key.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/kernel/key.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/math/datatypes.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/math/datatypes.c similarity index 99% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/math/datatypes.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/math/datatypes.c index 331aed8b3a43a9aee6c39c4eede189dcec2e45ad..4707522f8f49841ce9e45dcf8ac219347a54dd32 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/math/datatypes.c +++ b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/math/datatypes.c @@ -124,7 +124,7 @@ octet_string_hex_string(const void *s, int length) { return bit_string; } -inline int +static inline int hex_char_to_nibble(uint8_t c) { switch(c) { case ('0'): return 0x0; diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/math/gf2_8.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/math/gf2_8.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/math/gf2_8.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/math/gf2_8.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/math/math.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/math/math.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/math/math.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/math/math.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/math/stat.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/math/stat.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/math/stat.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/math/stat.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/replay/rdb.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/replay/rdb.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/replay/rdb.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/replay/rdb.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/replay/rdbx.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/replay/rdbx.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/replay/rdbx.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/replay/rdbx.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/replay/ut_sim.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/replay/ut_sim.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/replay/ut_sim.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/replay/ut_sim.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/rng/ctr_prng.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/rng/ctr_prng.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/rng/ctr_prng.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/rng/ctr_prng.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/rng/prng.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/rng/prng.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/rng/prng.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/rng/prng.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/rng/rand_linux_kernel.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/rng/rand_linux_kernel.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/rng/rand_linux_kernel.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/rng/rand_linux_kernel.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/rng/rand_source.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/rng/rand_source.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/rng/rand_source.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/rng/rand_source.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/aes_calc.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/aes_calc.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/aes_calc.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/aes_calc.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/auth_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/auth_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/auth_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/auth_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/cipher_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/cipher_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/cipher_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/cipher_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/datatypes_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/datatypes_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/datatypes_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/datatypes_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/env.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/env.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/env.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/env.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/kernel_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/kernel_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/kernel_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/kernel_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/rand_gen.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/rand_gen.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/rand_gen.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/rand_gen.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/sha1_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/sha1_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/sha1_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/sha1_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/stat_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/stat_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/crypto/test/stat_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/crypto/test/stat_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/include/getopt_s.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/include/getopt_s.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/include/getopt_s.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/include/getopt_s.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/include/rtp.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/include/rtp.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/include/rtp.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/include/rtp.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/include/rtp_priv.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/include/rtp_priv.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/include/rtp_priv.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/include/rtp_priv.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/include/srtp.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/include/srtp.h similarity index 99% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/include/srtp.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/include/srtp.h index 9fd3a575309b4141dbb45cde5fe7f5fc0150cd3f..21d8531a04c9c1cf13845512877f03e12a6c920c 100644 --- a/daemon/libs/pjproject-2.1.0/third_party/srtp/include/srtp.h +++ b/daemon/libs/pjproject-2.2.1/third_party/srtp/include/srtp.h @@ -51,7 +51,11 @@ extern "C" { #endif #ifdef _MSC_VER -#pragma pack(4) +# ifdef WIN64 +# pragma pack(8) +# else +# pragma pack(4) +# endif #endif #include "crypto_kernel.h" diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/include/srtp_priv.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/include/srtp_priv.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/include/srtp_priv.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/include/srtp_priv.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/include/ut_sim.h b/daemon/libs/pjproject-2.2.1/third_party/srtp/include/ut_sim.h similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/include/ut_sim.h rename to daemon/libs/pjproject-2.2.1/third_party/srtp/include/ut_sim.h diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/install-sh b/daemon/libs/pjproject-2.2.1/third_party/srtp/install-sh similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/install-sh rename to daemon/libs/pjproject-2.2.1/third_party/srtp/install-sh diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/pjlib/srtp_err.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/pjlib/srtp_err.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/pjlib/srtp_err.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/pjlib/srtp_err.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/srtp.def b/daemon/libs/pjproject-2.2.1/third_party/srtp/srtp.def similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/srtp.def rename to daemon/libs/pjproject-2.2.1/third_party/srtp/srtp.def diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/srtp.vcproj b/daemon/libs/pjproject-2.2.1/third_party/srtp/srtp.vcproj similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/srtp.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/srtp/srtp.vcproj diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/srtp/srtp.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/srtp/srtp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/srtp/srtp.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/srtp/srtp.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/srtp7.sln b/daemon/libs/pjproject-2.2.1/third_party/srtp/srtp7.sln similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/srtp7.sln rename to daemon/libs/pjproject-2.2.1/third_party/srtp/srtp7.sln diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/srtp7.vcproj b/daemon/libs/pjproject-2.2.1/third_party/srtp/srtp7.vcproj similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/srtp7.vcproj rename to daemon/libs/pjproject-2.2.1/third_party/srtp/srtp7.vcproj diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/tables/aes_tables.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/tables/aes_tables.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/tables/aes_tables.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/tables/aes_tables.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/dtls_srtp_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/dtls_srtp_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/dtls_srtp_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/dtls_srtp_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/getopt_s.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/getopt_s.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/getopt_s.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/getopt_s.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/lfsr.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/lfsr.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/lfsr.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/lfsr.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/rdbx_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/rdbx_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/rdbx_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/rdbx_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/replay_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/replay_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/replay_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/replay_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/roc_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/roc_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/roc_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/roc_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/rtp.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/rtp.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/rtp.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/rtp.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/rtpw.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/rtpw.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/rtpw.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/rtpw.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/rtpw_test.sh b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/rtpw_test.sh similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/rtpw_test.sh rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/rtpw_test.sh diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/test/srtp_driver.c b/daemon/libs/pjproject-2.2.1/third_party/srtp/test/srtp_driver.c similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/test/srtp_driver.c rename to daemon/libs/pjproject-2.2.1/third_party/srtp/test/srtp_driver.c diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/timing b/daemon/libs/pjproject-2.2.1/third_party/srtp/timing similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/timing rename to daemon/libs/pjproject-2.2.1/third_party/srtp/timing diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/undos.sh b/daemon/libs/pjproject-2.2.1/third_party/srtp/undos.sh similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/undos.sh rename to daemon/libs/pjproject-2.2.1/third_party/srtp/undos.sh diff --git a/daemon/libs/pjproject-2.1.0/third_party/srtp/update.sh b/daemon/libs/pjproject-2.2.1/third_party/srtp/update.sh similarity index 100% rename from daemon/libs/pjproject-2.1.0/third_party/srtp/update.sh rename to daemon/libs/pjproject-2.2.1/third_party/srtp/update.sh diff --git a/daemon/libs/pjproject-2.1.0/user.mak.sample b/daemon/libs/pjproject-2.2.1/user.mak.sample similarity index 100% rename from daemon/libs/pjproject-2.1.0/user.mak.sample rename to daemon/libs/pjproject-2.2.1/user.mak.sample diff --git a/daemon/libs/pjproject-2.1.0/version.mak b/daemon/libs/pjproject-2.2.1/version.mak similarity index 79% rename from daemon/libs/pjproject-2.1.0/version.mak rename to daemon/libs/pjproject-2.2.1/version.mak index d3448e56c7527705c8545ab22c44bd2276899b12..96d7d6a80416e3702c8acfce2080f3f3080efdaa 100644 --- a/daemon/libs/pjproject-2.1.0/version.mak +++ b/daemon/libs/pjproject-2.2.1/version.mak @@ -1,8 +1,8 @@ # Don't change the "export PJ_VERSION_xxx" style, they are parsed by setup.py export PJ_VERSION_MAJOR := 2 -export PJ_VERSION_MINOR := 1 -export PJ_VERSION_REV := 0 -export PJ_VERSION_SUFFIX := +export PJ_VERSION_MINOR := 2 +export PJ_VERSION_REV := 1 +export PJ_VERSION_SUFFIX := export PJ_VERSION := $(PJ_VERSION_MAJOR).$(PJ_VERSION_MINOR) diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp index 84406e2283a0cb1645a4a4171aa4f356851b4e78..0927fa7652af4e559ad1853eaf4c9e69ab599e28 100644 --- a/daemon/src/sip/sipvoiplink.cpp +++ b/daemon/src/sip/sipvoiplink.cpp @@ -583,13 +583,11 @@ SIPVoIPLink::SIPVoIPLink() : sipTransport(), sipAccountMap_(), outgoing_request_forked_cb, transaction_state_changed_cb, sdp_request_offer_cb, -#ifdef __ANDROID__ // FIXME depends on pjsip - NULL, -#endif + NULL /* on_rx_reinvite */, sdp_create_offer_cb, sdp_media_update_cb, - NULL, - NULL, + NULL /* on_send_ack */, + NULL /* on_redirected */, }; TRY(pjsip_inv_usage_init(endpt_, &inv_cb)); diff --git a/tools/build-system/build_tarball.sh b/tools/build-system/build_tarball.sh index 5673dc473e1493a701f7dde7f1483c594d5480ec..f435bf60a1d7d215c73a49a163e61f19da6a24f1 100755 --- a/tools/build-system/build_tarball.sh +++ b/tools/build-system/build_tarball.sh @@ -48,7 +48,7 @@ pushd daemon ./autogen.sh popd -pushd daemon/libs/pjproject-2.1.0 +pushd daemon/libs/pjproject-2.2.1 find -name os-auto.mak -type f -exec rm {} \; # Remove pre-built binaries diff --git a/tools/build-system/launchpad/sflphone-common/debian/rules b/tools/build-system/launchpad/sflphone-common/debian/rules index 68b0290e8d612d2291502320993b5b46cc6046f7..99b1f1dd1f6839c845b577fab2601b25268f4a9d 100755 --- a/tools/build-system/launchpad/sflphone-common/debian/rules +++ b/tools/build-system/launchpad/sflphone-common/debian/rules @@ -22,7 +22,7 @@ configure-stamp: # Add here commands to configure the package. ./autogen.sh ./configure --prefix=/usr - cd libs/pjproject-2.1.0; CFLAGS=-fPIC ./configure + cd libs/pjproject-2.2.1; CFLAGS=-fPIC ./configure touch configure-stamp #Architecture @@ -32,7 +32,7 @@ build-arch: build-arch-stamp build-arch-stamp: configure-stamp # Add here commands to compile the arch part of the package. - cd libs/pjproject-2.1.0; $(MAKE) dep; $(MAKE) clean; $(MAKE) + cd libs/pjproject-2.2.1; $(MAKE) dep; $(MAKE) clean; $(MAKE) $(MAKE) touch $@